首页 > 代码库 > <Linux性能调优指南>主要思路流程

<Linux性能调优指南>主要思路流程

网上IBM很早放出的一本免费电子书,

十来年了,参考意义还是很大。

国内有翻译成中文在线阅读的版本。

见如下两个URL

Linux Performance and Tuning Guidelines

<Linux性能调优指南>

https://www.gitbook.com/book/lihz1990/transoflptg/details

=========================================

服务器优化思路

管理变更流程

管理变更和性能优化并不直接相关,但可能是成功性能调优最重要的因素。如下可能是第二位考虑的,但是作为提醒,我们强调一下:

  • 在调优之前,实施合理的管理流程变更
  • 永远不要在生产系统上调优
  • 在调优过程中,每次只修改一个变量
  • 反复测试提升性能的参数,有时候,统计来的结果更加可靠
  • 把成功的参数调整整理成文档,和社区分享,即使你觉得它们微不足道。生产环境中获得的任何结果对Linux性能都有很大用处。

 

CPU性能优化选项

第一步是要确保,系统性能问题是由CPU引起的,而不是其它子系统。如果处理器是服务器瓶颈,可以采取如下的办法来增强性能:

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

 

内存性能调优选项

如果确定是内存瓶颈,可以执行下面的操作:

  • 使用bigpages、hugetlb和共享内存调优swap空间。
  • 增加或者减少页大小。
  • 改善活动和非活动的内存处理
  • 调整page-out率
  • 限制服务器上每个用户可使用的资源
  • 关掉用不到的服务
  • 增加内存

 

磁盘IO性能调优选项

在确定磁盘子系统瓶颈之后,有如下可能的解决方法:

  • 如果负载是顺序的,压力在控制器带宽上,办法就是添加更快的磁盘控制器。然而,如果负载是随机的,瓶颈可能在磁盘上,增加更多多的磁盘可以帮助增加性能。
  • 在RAID中添加更多的磁盘,把数据分散到多块物理磁盘,可以同时增强读和写的性能。增加磁盘会提升每秒的读写I/O数。另外,请使用硬件RAID而不是Linux提供的RAID软件。如果是硬件RAID,RAID级别对操作系统是不可见的。
  • 考虑使用Linux逻辑卷分区,而不是没有分区的单块大磁盘或者逻辑卷。
  • 把处理负载转移到网络中的其它系统(用户,应用程序或者服务)。
  • 添加RAM。添加内存会提升系统磁盘缓冲,增强磁盘响应速度。

网络性能调优

当网络瓶颈出现时,你应该试试如下的办法:

  • 确保网卡配置和路由器交换机配置相匹配。
  • 修改子网的组织方式
  • 使用更快的网卡
  • 适当调整IPv4的TCP内核参数。有些安全相关的参数调整会提升性能,详见下一章。
  • 如果可能的话,更换网卡,然后重新检测性能。
  • 如果可能的话,增加网卡,绑定成一个网卡组。

 

<Linux性能调优指南>主要思路流程