<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 用来显示当 ...
随机推荐
- 搭建Elasticsearch 5.4分布式集群
多机集群中的节点可以分为master nodes和data nodes,在配置文件中使用Zen发现(Zen discovery)机制来管理不同节点.Zen发现是ES自带的默认发现机制,使用多播发现其它 ...
- 偶遇RandomAccessFile
一.前言 本来在研究NIO,别人举的栗子里面,看到一个RandomAccessFile类,之前没见过,就去看了一下,现将相关内容记录如下 二.正文 RandomAccessFile直接继承自Objec ...
- ARC078 D.Fennec VS. Snuke(树上博弈)
题目大意: 给定一棵n个结点的树 一开始黑方占据1号结点,白方占据n号结点 其他结点都没有颜色 每次黑方可以选择黑色结点临近的未染色结点,染成黑色 白方同理. 最后谁不能走谁输. 题解: 其实简单想想 ...
- 【算法】分块——教主的魔法&不勤劳的图书管理员
由不勤劳的图书管理员带入了分块的坑,深深地被其暴力与优雅所征服.分块的实质就是将暴力块状封装起来,一整块的部分就一整块处理,零碎的部分就怎么暴力怎么来.因为分块大小的原因,限制了零碎部分数据的数量级, ...
- SQL SERVER:删除筛选记录中前100条数据
delete from table1 where id in (select top 100 id from table1)
- C# Producer Consumer (生产者消费者模式)demo
第一套代码将producer Consumer的逻辑写到from类里了,方便在demo的显示界面动态显示模拟生产和消费的过程. 第二套代码将producer Consumer的逻辑单独写到一个 ...
- AtCoder Regular Contest 082 F
Problem Statement We have a sandglass consisting of two bulbs, bulb A and bulb B. These bulbs contai ...
- 【CF1027D】Mouse Hunt(拓扑排序,环)
题意:给定n个房间,有一只老鼠可能从其中的任意一个出现, 在第i个房间设置捕鼠夹的代价是a[i],若老鼠当前在i号房间则下一秒会移动到b[i]号, 问一定能抓住老鼠的最小的总代价 n<=2e5, ...
- jquery的ajax提交
ajax函数封装 function Ajax(imethod,iurl,iasync,idata,ifunc){ $.ajax({ type:imethod, cache: false, dataTy ...
- dd命令测试硬盘I/O速度
[root@bogon ~]# dd if=/dev/zero of=/home/tom.a.txt bs=200MB count=1记录了1+0 的读入记录了1+0 的写出200000000字节(2 ...