<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性能调优指南>主要思路流程的更多相关文章
- linux性能调优概述
- 什么是性能调优?(what) - 为什么需要性能调优?(why) - 什么时候需要性能调优?(when) - 什么地方需要性能调优?(where) - 什么人来进行性能调优?(who) - 怎么样 ...
- 转载linux性能调优工具
Linux 大牛,Netflix 高级性能架构师 Brendan Gregg 更新 Linux 性能调优工具,各种资源应有尽有,大量干货,强烈建议收藏.
- linux 性能调优工具参考 (linux performance tools)
之前发现几张图对于linux使用者有着较强的参考意义,下面对其进行简单备忘: # linux 静态信息查看工具 # linux 性能测试工具 benchmark # linux 性能观测工具 # li ...
- 【Linux性能调优一】观大局:系统平均负载load average
要测试linux系统性能及调优,首先要从全局检查linux的平均负载 1.什么是平均负载 load average 系统平均负载,平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数, ...
- Nginx + Linux 性能调优
Nginx以高性能负载均衡.缓存和web服务器出名,支撑着世界上繁忙网站中的40%.大多数使用场景下,Nginx和Linux系统的默认配置表现较好,但是仍有必要做一些调优以期达到最佳性能. 这篇文章讨 ...
- [Linux 性能调优] 网卡中断与CPU的绑定问题
在Linux的网络调优方面,如果你发现网络流量上不去,那么有一个方面需要去查一下:网卡处理网络请求的中断是否被绑定到单个CPU(或者说跟处理其它中断的是同一个CPU). 先说一下背景 网卡与操作系统的 ...
- [Linux性能调优] 磁盘I/O队列调度策略
这两天的一个小任务是MongoDB服务器的调优,恰好这段时间对Linux的各种性能诊断.调优感兴趣,就顺着这个任务多翻了些书和文章. 新学到的一个东西是 Linux磁盘的I/O队列调度策略,至少MyS ...
- Mycat性能调优指南
本篇内容来自于网络 JVM调优: 内存占用分两部分:java堆内存+直接内存映射(DirectBuffer占用),建议堆内存 适度大小,直接映射内存尽可能大,两种一起占据操作系统的1/2-2/3的内存 ...
- linux性能调优
1-1.0 关于ulimit linux对每个用户,系统限制其最大进程数.为提高性能,可根据设备资源情况,设置各linux用户最大进程数. [Qrui@root ~]#ulimit -a 用来显示当 ...
随机推荐
- 《学习OpenCV》课后习题解答9
题目:(P126) 创建一个程序,使其读入并显示一幅图像.当用户鼠标点击图像时,获取图像对应像素的颜色值(BGR),并在图像上点击鼠标处用文本将颜色值显示出来. 解答: 本题关键是会用cvGet2D获 ...
- HDFS集群和YARN集群
Hadoop集群环境搭建(一) 1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据的存储,集群中的角色主要 ...
- Thymeleaf 如何支持java8的时间LocalDate和LocalDatetime
一.添加依赖 <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thym ...
- bzoj
准确率爆棚啊,然而
- sqlplus 几个命令:
sqlplus 几个命令: 在sys,system,sysman,scott四个用户权限中,scott用户最低. 其权限依次从高到低. cmd进入sqlplus sqlplus 登录命令: 登录sys ...
- 解决导出为Excel时文件名乱码的问题。
以前代码:public static void htmlToExcel(HttpContext context, string title, string html, string fileCss = ...
- [bzoj 1143]最长反链二分图最大匹配
Dilworth定理:偏序集能划分成的最少的全序集的个数与最大反链的元素个数相等. 证明:http://www.cnblogs.com/itlqs/p/6636222.html 题目让求的是最大反链的 ...
- vsftpd主动模式和被动模式的区别
何为主动模式,何为被动模式 1.ftp采用两个端口控制: 20端口用于数据传输. 21端口用于控制,或指建立TCP连接. 2.主动方式连接过程: [注意]:C表示客户端 S表示服务器端 S端要开启20 ...
- SpringBoot入门学习(一): Idea 创建 SpringBoot 的 HelloWorld
创建项目: 项目结构: 程序启动入口: 正式开始: package com.example.demo; import org.springframework.boot.SpringApplicatio ...
- iOS 单元测试(Unit Test 和 UI Test)
之前一直搞过~~最近试了一下下,完美~~ 附上一篇文章,不同的伙伴可以看看: http://www.jianshu.com/p/009844a0b9edUnitTest(简单的单元测试使用) http ...