没有合适的资源?快使用搜索试试~ 我知道了~
linux系统,内核,软件等的调优,本文主要都是些生产中的案例,很有参考价值
资源推荐
资源详情
资源评论
誉天 Cisco / Linux 认证社区 www.51chongdian.net/BBS
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 发送和接收缓冲区。这使应用程序可以更快地丢掉它的数据,从而为另
一个请求服务。还可以强化远程客户机在服务器繁忙时发
武汉誉天.独家授权 Cisco / RHCE 培训 www.yutianedu.com
誉天 Cisco / Linux 认证社区 www.51chongdian.net/BBS
送数据的能力。
最后一个配置项增加可用的本地端口数量,这样就增加了可以同时服务的最大连接数量。
在下一次引导系统时,或者下一次运行 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 的常用选项
选项 描述
武汉誉天.独家授权 Cisco / RHCE 培训 www.yutianedu.com
誉天 Cisco / Linux 认证社区 www.51chongdian.net/BBS
-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。
---------------------------------------------------------------------------------------------------------------------
-------
TCP/IP 子系统的调优
所有的 TCP/IP 调优参数都位于/proc/sys/net/目录. 例如, 下面是最重要的一些调优参数, 后面是
它们的含义:
1. /proc/sys/net/core/rmem_max — 最大的 TCP 数据接收缓冲
2. /proc/sys/net/core/wmem_max — 最大的 TCP 数据发送缓冲
3. /proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请参考 RFC 1323)TCP 的包头增加 12 个
字节
4. /proc/sys/net/ipv4/tcp_sack — 有选择的应答
5. /proc/sys/net/ipv4/tcp_window_scaling — 支持更大的 TCP 窗口. 如果 TCP 窗口最大超过
65535(64K), 必须设置该数值为 1
6. rmem_default — 默认的接收窗口大小
7. rmem_max — 接收窗口的最大大小
8. wmem_default — 默认的发送窗口大小
9. wmem_max — 发送窗口的最大大小
/proc 目录下的所有内容都是临时性的, 所以重启动系统后任何修改都会丢失.
建议在系统启动时自动修改 TCP/IP 参数:
把下面代码增加到/etc/rc.local 文件, 然后保存文件, 系统重新引导的时候会自动修改下面的
TCP/IP 参数:
echo 256960 > /proc/sys/net/core/rmem_default
echo 256960 > /proc/sys/net/core/rmem_max
echo 256960 > /proc/sys/net/core/wmem_default
echo 256960 > /proc/sys/net/core/wmem_max
echo 0 > /proc/sys/net/ipv4/tcp_timestamps
echo 1 > /proc/sys/net/ipv4/tcp_sack
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
TCP/IP 参数都是自解释的, TCP 窗口大小设置为 256960, 禁止 TCP 的时间戳(取消在每个数据
包的头中增加 12 字节), 支持更大的 TCP 窗口和 TCP 有选择的
应答.
上面数值的设定是根据互连网连接和最大带宽/延迟率来决定.
武汉誉天.独家授权 Cisco / RHCE 培训 www.yutianedu.com
剩余12页未读,继续阅读
资源评论
calm1
- 粉丝: 1
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功