快速业务通道

LINUX调优方法总结

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-01

LINUX调优方法总结

大多数 Linux 发布版都定义了适当的缓冲区和其他 Transmission Control Protocol(TCP)参数.可以修改这些参数来分配更多的内存,从而改进网络性能.设置内核参数的方法是通过 proc 接口,也就是通过读写 /proc 中的值.幸运的是,sysctl 可以读取 /etc/sysctl.conf 中的值并根据需要填充 /proc,这样就能够更轻松地管理这些参数.清单 2 展示在互联网服务器上应用于 Internet 服务器的一些比较激进的网络设置.
# Use TCP syncookies when needed
net.ipv4.tcp_syncookies = 1
# Enable TCP window scaling
net.ipv4.tcp_window_scaling: = 1
# Increase TCP max buffer size
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# Increase Linux autotuning TCP buffer limits
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
# Increase number of ports available
net.ipv4.ip_local_port_range = 1024 65000

将这些设置添加到 /etc/sysctl.conf 的现有内容中.第一个设置启用 TCP SYN cookie.当从客户机发来新的 TCP 连接时,数据包设置了 SYN 位,服务器就为这个半开的连接创建一个条目,并用一个 SYN-ACK 数据包进行响应.在正常操作中,远程客户机用一个 ACK 数据包进行响应,这会使半开的连接转换为全开的.有一种称为 SYN 泛滥(SYN flood) 的网络攻击,它使 ACK 数据包无法返回,导致服务器用光内存空间,无法处理到来的连接.SYN cookie 特性可以识别出这种情况,并使用一种优雅的方法保留队列中的空间(细节参见 参考资料 一节).大多数系统都默认启用这个特性,但是确保配置这个特性更可靠.
启用 TCP 窗口伸缩使客户机能够以更高的速度下载数据.TCP 允许在未从远程端收到确认的情况下发送多个数据包,默认设置是最多 64 KB,在与延迟比较大的远程客户机进行通信时这个设置可能不够.窗口伸缩会在头中启用更多的位,从而增加窗口大小.
后面四个配置项增加 TCP 发送和接收缓冲区.这使应用程序可以更快地丢掉它的数据,从而为另一个请求服务.还可以强化远程客户机在服务器繁忙时发送数据的能力.一个配置项增加可用的本地端口数量,这样就增加了可以同时服务的最大连接数量.
在下一次引导系统时,或者下一次运行 sysctl -p /etc/sysctl.conf 时,这些设置就会生效.

----------------------------------------------------------------------------------------------------------------------------
磁盘子系统的调优
磁盘在 LAMP 架构中扮演着重要的角色.静态文件、模板和代码都来自磁盘,组成数据库的数据表和索引也来自磁盘.对磁盘的许多调优(尤其是对于数据库)集中于避免磁盘访问,磁盘访问的延迟相当高.因此,花一些时间对磁盘硬件进行优化是有意义的.
要做的是,确保在文件系统上禁用 atime 日志记录特性.atime 是最近访问文件的时间,每当访问文件时,底层文件系统记录这个时间戳.系统管理员很少使用 atime,禁用它可以减少磁盘访问时间.禁用这个特性的方法是,在 /etc/fstab 的第四列中添加 noatime 选项.

演示如何启用 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


有多种磁盘硬件组合, Linux 不一定能够探测出访问磁盘的最佳方式.可以使用 hdparm 命令查明和设置用来访问 IDE 磁盘的方法.hdparm -t /path/to/device 执行速度测试,可以将这个测试结果作为性能基准.为了使结果尽可能准确,在运行这个命令时系统应该是空闲的.
在 /dev/hd 上执行的速度测试
# hdparm -t /dev/hda
/dev/hda:
Timing buffered disk reads: 182 MB in 3.02 seconds = 60.31 MB/sec
hdparm 的常用选项
选项 描述
-vi 向磁盘查询它支持的设置以及它正在使用的设置.
-c 查询/启用 (E)IDE 32 位 I/O 支持.hdparm -c 1 /dev/hda 启用这个设置.
-m 查询/设置每中断多扇区模式.如果设置大于零,设置值就是每个中断可以传输的最大扇区数量.
-d 1 -X 启用直接内存访问(DMA)传输并设置 IDE 传输模式.hdparm 手册页详细说明了在 -X 后面可以设置的数字.只有在 -vi 说明目前并未使用最快速的模式的情况下,才需要进行这个设置.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号