#影响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系统性能优化思路和方法的更多相关文章

  1. Linux系统性能优化

    CPU性能评估 通过下面的命令能了解到CPU是否出现性能瓶颈,再结合top.ps等命令进一步检查,即可定位到那些进程导致CPU负载过大 vmstat命令:查看CPU负载. [blackfox@loca ...

  2. Linux性能优化思路

    性能测试的核心,就是找出性能瓶颈并进行性能优化,解决"慢"的问题,最终满足客户业务需求. [性能需求来源及性能问题现象] 性能需求的来源,主要分为以下几类: 项目组提出性能需求: ...

  3. Linux文件系统性能优化 (转)

    http://blog.chinaunix.net/uid-7530389-id-2050116.html 由于各种的I/O负载情形各异,Linux系统中文件系统的缺省配置一般来说都比较中庸,强调普遍 ...

  4. Linux文件系统性能优化

    本文绝大部分是转载自CSDN刘爱贵专栏: http://blog.csdn.net/liuben/archive/2010/04/13/5482167.aspx另外根据参考文档增补了一部分内容. 由于 ...

  5. Linux性能优化实战学习笔记:第三十一讲

    一.上节回顾 上一节,我们一起回顾了常见的文件系统和磁盘 I/O 性能指标,梳理了核心的 I/O 性能观测工具,最后还总结了快速分析 I/O 性能问题的思路. 虽然 I/O 的性能指标很多,相应的性能 ...

  6. Linux操作系统性能调优的方法

    http://www.cnblogs.com/L-H-R-X-hehe/p/3963442.html Linux是一套免费使用和自由传播的类Unix操作系统,Linux不同的发行版本和不同的内核对各项 ...

  7. 如何学习Linux性能优化?

    如何学习Linux性能优化? 你是否也曾跟我一样,看了很多书.学了很多 Linux 性能工具,但在面对 Linux 性能问题时,还是束手无策?实际上,性能分析和优化始终是大多数软件工程师的一个痛点.但 ...

  8. Linux性能优化实战学习笔记:第四十四讲

    一.上节回顾 上一节,我们学了网络性能优化的几个思路,我先带你简单复习一下. 在优化网络的性能时,你可以结合 Linux 系统的网络协议栈和网络收发流程,然后从应用程序.套接字.传输层.网络层再到链路 ...

  9. Linux性能优化实战学习笔记:第五十七讲

    一.上节回顾 上一节,我带你一起梳理了常见的性能优化思路,先简单回顾一下.我们可以从系统和应用程序两个角度,来进行性能优化. 从系统的角度来说,主要是对 CPU.内存.网络.磁盘 I/O 以及内核软件 ...

随机推荐

  1. supermap布局设定地图网格及布局网格

    地图网格设定 LayoutElements elements = m_mapLayoutControl.MapLayout.Elements; //构造GeoMap GeoMap geoMap = n ...

  2. rmarkdown教程

    https://github.com/yihui/r-ninja/blob/master/11-auto-report.md http://rpubs.com/about/getting-starte ...

  3. es6学习笔记(1) let和const命令详解

    let和const命令: Es6新增了let命令,声明变量,但与var不一样的,只在let命令所在的代码块内有效(如for循环之外let声明的变量就不再有效).并且let不像var那样会发生" ...

  4. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  5. runtime-对成员变量和属性的操作

    成员变量 首先我们来看看成员变量在runtime中是什么样的 在runtime中成员变量是一个objc_ivar类型的结构体,结构体定义如下 struct objc_ivar { char *ivar ...

  6. 9Spring进阶----青软S2SH(笔记)

  7. 图解TCP/IP→第2章基础知识

    ####TCP.IP背景**关键词:ARPANET,UNIX,分组交换技术,*ARPANET(阿帕网),也是全球互联网的鼻祖.阿帕网的成功也充分证明了基于分组交换技术的通信方法的可行性.*20世纪70 ...

  8. JQuery+Ajax+Struts2+Hibernate 实现完整的登录注册

    写在最前: 下午有招聘会,不想去,总觉得没有准备好,而且都是一些不对口的公司,可是又静不下心来,就来写个博客. 最近在仿造一个书城的网站:http://www.yousuu.com ,UI直接拿来用, ...

  9. jQuery学习过程问题笔记

    1.  jQuery中,$('selector').click(function(){})和用bind绑定:$('selector').bind('click',function(){})有什么区别? ...

  10. Spring-test使用JUnit时,测试类autowired报错,create bean error

    Spring-test使用JUnit时,测试类里面使用autowired会报错, 报create bean error...... 但是controller里面@autowired可以正常运行的. 在 ...