Linux 性能调优(1)

读书笔记--- linux 性能调优指南 (首先建议对内核又足够的了解,尤其内存管理,不然很多概念很难理解)

1.理解linux 操作系统

2.监控和检测工具

3.分析性能瓶颈

4.优化操作系统

处理器指标
处理器指标如下:
CPU利用率( CPU utilization)
这个可能是最直接的指标,它全面展示了每个处理器的利用率。在IBM System x架构
中,如果CPU利用率持续高于80%,就可能遇到了处理器瓶颈。
用户时间( User time)
表示CPU在用户进程上的时间百分比,包括nice时间。用户时间值高是一个较好的状
态,在这种情况下,系统在处理真正的任务。
系统时间( System time)
表示CPU花在内核操作上的时间百分比,包括IRQ和softirq时间。持续的高系统时间可以
指出网络和驱动栈的瓶颈。CPU花在内核上的时间越少越好。
等待( Waiting)
CPU花在等待I/O操作上的时间总和。类似blocked值,系统不应该把大量时间花在等待
I/O操作上;否则,你应该调查I/O子系统的性能。
空闲时间( Idle time)
表示系统处于空闲等待任务的时间比。
Nice时间( Nice time)
表示CPU花在re-nicing进程,改变进程执行顺序和优先级上的时间。
平均负载( Load average)
平均负载不是百分比,是下面的和的滚动平均值:
在队列中等待被处理的进程数
等待非中断任务完成的进程数
1.6.理解Linux性能指标
44
是TASK_RUNNING和TASK_UNINTERRUPTIBLE的和的平均值。如果进程请求
CPU时间被阻塞( 表示CPU没有时间处理它们) ,平均负载就会升高。另一方面,
如果每个进程直接就能获得CPU时间并且没有CPU周期丢失,负载就会降下来。
可运行进程( Runable processes)
表示已经准备好要执行的进程。这个值不应该持续超过CPU个数的10倍,否则就是出现
了CPU瓶颈。
阻塞的( Blocked)
在等待I/O操作完成的时候,进程不能执行。阻塞进程可以指出你的I/O瓶颈。
上下文切换( Context switch)
系统上有大量的切换在线程间发生,在有大量中断和上下文切换发生时,表示驱动或应
用程序出现了问题。一般来说,上下文切换不是好现象,因为CPU缓存需要刷新,但是
有些上下文切换是必要的。
中断( Interrupts)
中断值包含硬中断和软中断。硬中断对系统性能有更大的影响。高中断值指示了软件瓶
颈,无论是内核还是驱动程序层面的。记住中断值包含CPU时钟引起的中断。

 

Linux性能监控工具

工具常用功能
top所有进程情况
vmstat系统活动,硬件和系统信息
uptime, w系统平均负载
ps, pstree显示进程
free内存使用情况
iostatcpu负载和磁盘活动
sar收集和报告系统状态
mpstat多处理器使用情况
numastatNUMA相关统计
pmap进程内存情况
netstat网络统计
iptraf实时网络统计
tcpdump,ethereal详细网络流量分析
nmon收集和报告系统活动
strace系统调用
proc文件系统各种内核统计信息
KDE system guard实时的系统图形报告
Gnome System Monitor实时的系统图形报告


压测工具

工具常用功能
lmbench微型系统功能评测工具
iozone文件系统压测
netperf网络性能测试
bonnie磁盘IO和文件系统测试 http://www.textuality.com/bonnie/
bonnie++磁盘IO和文件系统测试 http://www.coker.com.au/bonnie++/
NetBench文件服务器测试,运行在Windows上
dbench文件系统测试,通常用来文件服务器压测
http://freshmeat.net/projects/dbench/
iometer磁盘I/O和网络压测 http://www.iometer.org/
ttcp简单的网络测试
iperf网络测试 http://dast.nlanr.net/projects/Iperf/
ab ( Apache
Bench)
简单的web服务器测试,包含在Apache服务器中
http://httpd.apache.org/
WebStoneWeb服务器测试 http://www.mindcraft.com/webstone/
Apache
Jmeter
主要用来web服务器性能测试。也支持其它协议,例如SMTP,LDAP,
JDBC等,有很好的报告功能http://jakarta.apache.org/jmeter/
fsstone,
smtpstone
邮件服务器测试,包含在postfix中 http://www.postfix.org/
nhfsstone网络文件系统测试,包含在nfs-utils包中
DirectoryMarkLDAP测试 http://www.mindcraft.com/directorymark/


性能优化选项
第一步是要确保,系统性能问题是由CPU引起的,而不是其它子系统。如果处理器是服务器
瓶颈,可以采取如下的办法来增强性能:
使用ps -ef来确保没有不必要的进程程序在后台运行,如果找到了这样的程序,关掉它,
或者使用cron让它在非高峰的时候运行。
通过top找到非关键的、CPU密集型进程,然后用renice修改它的优先级。
在基于SMP的机器上,尝试使用taskset命令绑定进程到CPU上,避免进程在多个处理器
之间切换,引起cache刷新。
基于运行的应用,确认你的应用是否能高效的利用多处理器。来决定是否应该使用更强
劲的CPU而不是更多的CPU。例如,单线程应用,会从更快的CPU中受益,增加值CPU
个数也没用。
还有其它办法,比如,确保你使用的是最新的驱动和固件,这能影响到他们在系统上的
负载
 

如果确定是内存瓶颈,可以执行下面的操作:
使用bigpages、hugetlb和共享内存调优swap空间。
增加或者减少页大小。
改善活动和非活动的内存处理
调整page-out率
限制服务器上每个用户可使用的资源
关掉用不到的服务
增加内存
网络性能调优
当网络瓶颈出现时,你应该试试如下的办法:
确保网卡配置和路由器交换机配置相匹配。
修改子网的组织方式
使用更快的网卡
适当调整IPv4的TCP内核参数。有些安全相关的参数调整会提升性能,详见下一章。
如果可能的话,更换网卡,然后重新检测性能。
如果可能的话,增加网卡,绑定成一个网卡组。
3.5.网络瓶颈
100
Linux发行版和内核提供了各种参数和选项给Linux用户优化系统性能,将软硬件性能发挥到最
大。正如前文所说,没有适用于所有应用的提升系统性能的优化魔法。下文中所讨论的提升
性能的办法只适用于特定的硬件和应用。某些配置会提升web服务器性能,但是配置在数据库
系统上可能适得其反。
这节中的步骤可以用来优化基于内核2.6的Linux发行版。由于在本书写作时,基于2.6内核的
发行版从2.6.9到2.6.19的版本都有,有些优化选项可能只适用于特定的内核版本。本章内容
如下。
Linux内核管理
系统清理
使用sysctl优化性能
网络优化
章节如下:
4.1 优化原则
4.2 安装考量
4.3 修改内核参数
4.4 优化处理器子系统
4.5 优化虚拟内存子系统
4.6 优化磁盘子系统
4.7 优化网络子系统

优化原则
优化原则
管理变更
优化任何系统都应该基于一些简单的原则,最重要的是变更管理。大体上,系统调整的第一
步是分析和评估当前系统配置。确保所有系统设备运行在硬件厂家所宣称的最佳状态,有助
于为接下来的调整提供坚实基础。还有,优良的业务系统上应该没有任何不必要的服务和子
系统在运行。最后,落实到具体的系统优化,需要注意的是,调优通常是针对特定应用负载
而进行的。所以,根据系统负载行为的调优使得系统更高效,但是对其它负载模式可能是不
利的。例如,对系统低延时的调整,通常来说会降低系统的吞吐量。
管理变更
管理变更和性能优化并不直接相关,但可能是成功性能调优最重要的因素。如下可能是第二
位考虑的,但是作为提醒,我们强调一下:
在调优之前,实施合理的管理流程变更
永远不要在生产系统上调优
在调优过程中,每次只修改一个变量
反复测试提升性能的参数,有时候,统计来的结果更加可靠
把成功的参数调整整理成文档,和社区分享,即使你觉得它们微不足道。生产环境中获
得的任何结果对Linux性能都有很大用处。
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nyiragongo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值