1、提高CPU性能的方法
一个好的架构,服务器的CPU总消耗总是平均的分布在各个cpu上,CPU的消耗在70%左右
2、提高网络IO的方法
3、提高磁盘IO的方法
【详细请参看另一篇博文:linux下提高磁盘IO的方法】
(http://www.cnblogs.com/zackyang/archive/2010/02/08/1665768.html)
1、top
可以查看系统中运行的进程的状况,CPU使用状况,系统负载,内存使用等。它是检查系统进程运行状况最方便的工具了,它默认显示部分活动的进程,并且按照进程使用CPU的多少排序。它可以显示全部CPU的使用状况,也可以显示每个进程都运行在那个CPU上面。
主要可以用top来看哪些进程或者那类进程占用CPU和内存资源最多,以此迅速定位存在性能问题的进程,以及运行异常的进程
2、free
free命令显示系统内存的使用状况(物理内存和交换内存)通过这个命令我们可以看到系统进程实际使用的物理内存,buffer和cache使用的物理内存
3、vmstat
vmstat是一个很全面的性能分析工具,可以观察到系统的进程状态、内存使用、虚拟内存使用、磁盘的IO、中断、上下问切换、CPU使用等。
r:运行的和等待(CPU时间片)运行的进程数,这个值也可以判断是否需要增加CPU(长期大于1) b:处于不可中断状态的进程数,常见的情况是由IO引起的
si: 交换内存使用,由磁盘调入内存 so: 交换内存使用,由内存调入磁盘
内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响。磁盘IO和CPU资源都会被消耗。
bi: 从块设备读入的数据总量(读磁盘) (KB/s), bo: 写入到块设备的数据总理(写磁盘) (KB/s) 随机磁盘读写的时候,这2个 值越大,能看到CPU在IO等待的值也会越大
in: 每秒产生的中断次数 cs: 每秒产生的上下文切换次数 上面这2个值越大,会看到由内核消耗的CPU时间会越多
us: 用户进程消耗的CPU时间百分比 us 的值比较高时,说明用户进程消耗的CPU时间多 sy: 内核进程消耗的CPU时间百分比 sy 的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,我们应该检查原因。 wa: IO等待消耗的CPU时间百分比 wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。 id: CPU处在空闲状态时间百分比
4、Strace
可以用来查看一个进程在执行过程中的系统调用和所接收的信号。
5、tcpdump
linux下的抓包工具。可以把抓下来的信息重定向到文件里。然后在windows下用ethereal来分析。很强大
6、gprof
使用步骤: