图-LAMP
LAMP系统调优配置磁盘来提高性能
磁盘在 LAMP 架构中扮演着重要的角色。静态文件、模板和代码都来自磁盘,组成数据库的数据表和索引也来自磁盘。对磁盘的许多调优(尤其是对于数据库)集中于避免磁盘访问,因为磁盘访问的延迟相当高。因此,花一些时间对磁盘硬件进行优化是有意义的。
首先要做的是,确保在文件系统上禁用 atime 日志记录特性。atime 是最近访问文件的时间,每当访问文件时,底层文件系统必须记录这个时间戳。因为系统管理员很少使用 atime,禁用它可以减少磁盘访问时间。禁用这个特性的方法是,在 /etc/fstab 的第四列中添加 noatime 选项。清单 3 给出了一个配置示例。
清单 3. 演示如何启用 noatime 的 fstab 示例
- /dev/VolGroup00/LogVol00 / ext3 defaults,noatime 1 1
- LABEL=/boot /boot ext3 defaults,noatime 1 2
- devpts /dev/pts devpts gid=5,mode=620 0 0
- tmpfs /dev/shm tmpfs defaults 0 0
- proc /proc proc defaults 0 0
- sysfs /sys sysfs defaults 0 0
- LABEL=SWAP-hdb2 swap swap defaults 0 0
- LABEL=SWAP-hda3 swap swap defaults 0 0
在清单 3 中只修改了 ext3 文件系统,因为 noatime 只对驻留在磁盘上的文件系统有帮助。为让这一修改生效,不需要重新引导;只需重新挂装每个文件系统。例如,为了重新挂装根文件系统,运行 mount / -o remount。
有多种磁盘硬件组合,而且 Linux 不一定能够探测出访问磁盘的最佳方式。可以使用 hdparm 命令查明和设置用来访问 IDE 磁盘的方法。hdparm -t /path/to/device 执行速度测试,可以将这个测试结果作为性能基准。为了使结果尽可能准确,在运行这个命令时系统应该是空闲的。清单 4 给出在 hda 上执行速度测试的结果。
#p#
清单 4. 在 /dev/hd 上执行的速度测试
- # hdparm -t /dev/hda
- /dev/hda:
- Timing buffered disk reads: 182 MB in 3.02 seconds = 60.31 MB/sec
这一测试说明,在这个磁盘上读取数据的速度是大约每秒 60 MB。
在尝试一些磁盘调优选项之前,必须注意一个问题。错误的设置可能损害文件系统。有时候会出现一个警告,指出这个选项与硬件不兼容;但是,有时候没有警告消息。因此,在将系统投入生产之前,必须对设置进行彻底的测试。在所有服务器上都采用标准的硬件也会有所帮助。
表 2 列出比较常用的一些选项。
表 2. hdparm 的常用选项
选项描述
-vi向磁盘查询它支持的设置以及它正在使用的设置。
-c查询/启用 (E)IDE 32 位 I/O 支持。hdparm -c 1 /dev/hda 启用这个设置。
-m查询/设置每中断多扇区模式。如果设置大于零,设置值就是每个中断可以传输的最大扇区数量。
-d 1 -X启用直接内存访问(DMA)传输并设置 IDE 传输模式。hdparm 手册页详细说明了在 -X 后面可以设置的数字。只有在 -vi 说明目前并未使用最快速的模式的情况下,才需要进行这个设置。
不幸的是,对于 Fiber Channel and Small Computer Systems Interface(SCSI)系统,调优依赖于具体的驱动器。
必须将有帮助的设置添加到启动脚本中,比如 rc.local。
通过文章的描述,我们都能亲自动手,配置下自己LAMP下的磁盘,调优好LAMP,让它更好的为你服务!
【编辑推荐】