Linux系统性能优化思路和方法
#影响Linux性能的CPU、内存、磁盘、网络等因素分析
1.系统硬件资源:CPU,多核与超线程
消耗CPU的业务:动态WEB服务,Mail服务器
2.内存:物理内存与swap的取舍,64操作系统
消耗内存的业务:内存数据库(Redis、hbase、mongodb)
3.磁盘:RAID技术(RAID0/1/5/10),SSD
消耗磁盘的业务:数据库服务器
4.网络带宽:网卡/交换机/双网卡绑定
消耗带宽的业务:hadoop平台,视频业务平台
#影响Linux性能的操作系统相关资源分析
1.系统安装优化
磁盘分区,RAID设置,swap设置
2.内核参数优化
ulimit -n 最大打开文件数
ulimit -u 最大用户数
3.文件系统优化
ext2:linux下标准文件系统,无日志记录(inode)功能
ext3:在ext2基础上增加了日志记录功能(inode),仅支持32000个目录
ext4: ext3的后续版本,linux2.6.28内核开始支持,无限子目录支持,快速fsck
xfs:高性能文件系统,linux3.10内核开始默认支持
读操作频繁首选:ext4 写操作频繁首选:xfs
#系统性能调优之CPU性能评估工具与优化经验
1.cpu性能评估工具
vmstat(默认系统自带)
vmstat 3 5 表示每3s更新一次输出信息,统计5次后停止输出
[root@zabbix ~]# vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 60072824 246332 3805844 0 0 0 25 1 1 0 0 100 0 0
1 0 0 60072848 246332 3805844 0 0 0 24 698 729 0 0 100 0 0
0 0 0 60073080 246332 3805844 0 0 0 28 1445 1034 0 0 100 0 0
procs r列表示运行和等待cpu时间片的进程数,这个如果长期大于系统cpu个数,说明cpu不足,需要增加cpu
b列表示在等待资源的进程数,比如等待I/O,或者内存交换等
procs标准: r 不超过cpu进程数
memory标准:
swap标准: si,so长期不为0,说明内存不足,需要加内存
io标准: bi+bo超过1000,而且wa值较高,说明磁盘IO有问题,应提高磁盘读写性能
system标准: us长期超过50%,用户进程消耗cpu,需要考虑优化程序或算法
sy长期超过50%,内核消耗的cpu资源很多
us+sy长期超过80%,说明可能cpu资源部足
id cpu空闲的百分比
wa 参考值20%,如果超过20%,说明io等待严重
cpu重点参考:r cs us sy id wa值的大小
2.iostat工具(需要安装sysstat工具包)
iostat -c 3 5 显示cpu使用情况
iostat -d 3 5 显示磁盘使用情况
# -r内存,-ucpu -d磁盘
tps 表示每秒到物理磁盘的传送数,也就是每秒的I/O流量,一个传送就是一个I/O请求,多个逻辑请求可以被合并为一个物理I/O请求
sar -r 3 5
sar -u 3 5
pidstat -r -p 3 5
#系统性能调优之内存性能、磁盘性能评估工具与优化经验
#系统性能调优之网络性能评估工具与系统性能分析标准
mtr www.baidu.com
tracroute www.baidu.com
netstat -r 查看网络接口状态
netstat -i c查看网络路由
Linux系统性能优化思路和方法的更多相关文章
- Linux系统性能优化
CPU性能评估 通过下面的命令能了解到CPU是否出现性能瓶颈,再结合top.ps等命令进一步检查,即可定位到那些进程导致CPU负载过大 vmstat命令:查看CPU负载. [blackfox@loca ...
- Linux性能优化思路
性能测试的核心,就是找出性能瓶颈并进行性能优化,解决"慢"的问题,最终满足客户业务需求. [性能需求来源及性能问题现象] 性能需求的来源,主要分为以下几类: 项目组提出性能需求: ...
- Linux文件系统性能优化 (转)
http://blog.chinaunix.net/uid-7530389-id-2050116.html 由于各种的I/O负载情形各异,Linux系统中文件系统的缺省配置一般来说都比较中庸,强调普遍 ...
- Linux文件系统性能优化
本文绝大部分是转载自CSDN刘爱贵专栏: http://blog.csdn.net/liuben/archive/2010/04/13/5482167.aspx另外根据参考文档增补了一部分内容. 由于 ...
- Linux性能优化实战学习笔记:第三十一讲
一.上节回顾 上一节,我们一起回顾了常见的文件系统和磁盘 I/O 性能指标,梳理了核心的 I/O 性能观测工具,最后还总结了快速分析 I/O 性能问题的思路. 虽然 I/O 的性能指标很多,相应的性能 ...
- Linux操作系统性能调优的方法
http://www.cnblogs.com/L-H-R-X-hehe/p/3963442.html Linux是一套免费使用和自由传播的类Unix操作系统,Linux不同的发行版本和不同的内核对各项 ...
- 如何学习Linux性能优化?
如何学习Linux性能优化? 你是否也曾跟我一样,看了很多书.学了很多 Linux 性能工具,但在面对 Linux 性能问题时,还是束手无策?实际上,性能分析和优化始终是大多数软件工程师的一个痛点.但 ...
- Linux性能优化实战学习笔记:第四十四讲
一.上节回顾 上一节,我们学了网络性能优化的几个思路,我先带你简单复习一下. 在优化网络的性能时,你可以结合 Linux 系统的网络协议栈和网络收发流程,然后从应用程序.套接字.传输层.网络层再到链路 ...
- Linux性能优化实战学习笔记:第五十七讲
一.上节回顾 上一节,我带你一起梳理了常见的性能优化思路,先简单回顾一下.我们可以从系统和应用程序两个角度,来进行性能优化. 从系统的角度来说,主要是对 CPU.内存.网络.磁盘 I/O 以及内核软件 ...
随机推荐
- JS 小数的常用处理方法
1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.f ...
- linux下安装不同版本的jdk
问题: 因为需要使用jmeter的插件,发现jmeter最新版apache-jmeter-3.0可用,但是其需要jdk1.7以上版本,而公司服务器上jdk均为1.6版本,于是在测试账号下安装多个版本j ...
- PHP 文件限速下载代码
php 文件限速下载代码 <?php include("DBDA.class.php"); $db = new DBDA(); $bs = $_SERVER["QU ...
- Node.js API 初解读(一)
Node.JS API 初解读 Version: NodeJs v6.2.0 一. Assert 1.简介 Assert模块主要用于断言.如果表达式不符合预期,就抛出一个错误. 该模块用于编写程序的单 ...
- ThinkPHP的URL访问
url访问 http://www.kancloud.cn/manual/thinkphp5/118012 ThinkPHP5.0在没有启用路由的情况下典型的URL访问规则是: http://serve ...
- mfc+vtk
MFC中view类主要处理显示视图,doc类处理文档,mainframe主要为整个窗口的和工程的设置管理.由此,VTK与MFC联合编程时,需要主要的是数据操作,以及显示要很好的与MFC中的结构结合,做 ...
- logback日志写入数据库(mysql)配置
如题 建议将日志级别设置为ERROR.这样可以避免存储过多的数据到数据中. 1 logback 配置文件(如下) <?xml version="1.0" encoding ...
- BZOJ4591——[Shoi2015]超能粒子炮·改
1.题意:求 2.分析:公式恐惧症的同学不要跑啊QAQ 根据lucas定理-- 这一步大家都能懂吧,这是浅而易见的lucas定理转化过程,将每一项拆分成两项 那么下一步,我们将同类项合并 我们观察可以 ...
- 前端网老姚浅谈:怎么学JavaScript?
作者:小不了链接:https://zhuanlan.zhihu.com/p/23265155来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 鉴于时不时,有同学私信问我( ...
- (转)android 蓝牙通信编程
转自:http://blog.csdn.net/pwei007/article/details/6015907 Android平台支持蓝牙网络协议栈,实现蓝牙设备之间数据的无线传输. 本文档描述了怎样 ...