LAMP 系统性能调优--理解 LAMP 架构(3)
- UID
- 1066743
|
LAMP 系统性能调优--理解 LAMP 架构(3)
网络文件系统调优网络文件系统(NFS)是一种通过网络共享磁盘的方法。NFS 可以帮助确保每个主机具有相同数据的拷贝,并确保修改反映在所有节点上。但是,在默认情况下,NFS 的配置不适合大容量磁盘。
每个客户机应该用 rsize=32768,wsize=32768,intr,noatime 挂装远程文件系统,从而确保:
- 使用大的读/写块(数字指定最大块大小,在这个示例中是 32KB)。
- 在挂起时 NFS 操作可以被中断。
- 不持续更新 atime。
可以将这些设置放在 /etc/fstab 中,见 。如果使用自动挂装器,那么应该将这些设置放在适当的 /etc/auto.* 文件中。
在服务器端,一定要确保有足够的 NFS 内核线程来处理所有客户机。在默认情况下,只启动一个线程,但是 Red Hat 和 Fedora 系统会启动 8 个线程。对于繁忙的 NFS 服务器,应该提高这个数字,比如 32 或 64。可以用 nfsstat -rc 命令评估客户机,了解是否有阻塞的现象,这个命令显示客户机远程过程调用(RPC)统计数据。清单 5 显示一个 Web 服务器的客户机统计数据。
清单 5. 显示 NFS 客户机的 RPC 统计数据1
2
3
4
| # nfsstat -rc
Client rpc stats:
calls retrans authrefrsh
1465903813 0 0
|
第二列 retrans 是零,这表示从上一次重新引导以来没有出现需要重新传输的情况。如果这个数字比较大,就应该考虑增加 NFS 内核线程。设置方法是将所需的线程数量传递给 rpc.nfsd,比如 rpc.nfsd 128 会启动 128 个线程。任何时候都可以进行这种设置。线程会根据需要启动或销毁。同样,这个设置应该放在启动脚本中,尤其是在系统上启用 NFS 的脚本。
关于 NFS,最后要注意一点:如果可能的话,应该避免使用 NFSv2,因为 NFSv2 的性能比 v3 和 v4 差得多。在现代的 Linux 发行版中这应该不是问题,但是可以在服务器上检查 nfsstat 的输出,了解是否有任何 NFSv2 调用。
后续内容本文讨论了 LAMP 的一些基本知识以及 LAMP 安装的一些简单 Linux 调优措施。除了 NFS 内核线程之外,可以设置本文中讨论的参数,然后就不用理会它们了。本系列中的后两篇文章主要关注 Apache、MySQL 和 PHP 调优。这些组件的调优与 Linux 的调优有很大的差异,因为随着通信量的增长、读写操作分布情况的变化和应用程序的演化,需要不断重新考察这些参数。 |
|
|
|
|
|