- 论坛徽章:
- 0
|
性能对于用户来说最直观的感觉就是系统的响应速度,这也是最表面的现象,对于SA来说,需要对系统进行更详细的分析,测试,调优,监测等大量工作任务。就我目前从事linux的管理为例,通常类UNIX系统,有三大最主要的子系统需要进行监测,分析和调优,分别为:CPU;IO;Memory 这三大块东西。\r\n 这三大子系统互相影响,并不是说只调优其中的某一个就ok了,说不定会影响其他子系统的性能,甚至在极度不稳定的时候会导致系统的\"panic\",所以我们需要花大量时间去了解它们。\r\n 这里我简单描述一下吧,因为不想写太多的字,呵呵。就CPU来说,现在的机器一般配置为4路或8路SMP系统,再多也无妨其实,SMP称为对称多处理机制。一般是默认启动支持的,可以让CPU获得公平的处理时间,不至于让某一个CPU过度使用。我们的系统内核中包含了调度程序,就和\"工头\"一样,CPU呢就比如工人,工人完成了一件事去向工头报告,称为一个中断,工人自己呢手上还有一个工作单,称为可运行列表,每个工人一个单子。如果工头发现有其他很重要的事要做,会让工人先去做那件事,工人就会调整自己的工作,称为上下文切换。ok,到这里大家应该了解这些基本的知识点了。CPU呢我一般使用vmstat去监控,主要查看的是输出中r;us;sys等,有些记不住了,呵呵。第一个r表示工作单子,每个工人单子上的内容最好不要超过3个,否则会过度劳累,就是说cpu可运行列表上的进程数不要超过3个/CPU,记个简单的公式:r <= n*3。us为用户进程,sys为系统进程。一般来说sys是要小于us的,除非系统出现大量的系统调用,这时候也要特别注意了。\r\n IO方面主要是硬盘这块,通常使用iostat去监测,也要配合vmstat去监测,就应用来说,分为随机IO和顺序IO应用,比如数据库这类属于顺序IO,只会占用大量的内存,CPU只是等待中断而已;WEB,Mail这类算随机IO应用,会使用大量CPU资源,所以要根据实际的应用去进行查看。\r\n 内存这块其实要说的话就更多了,就简单说一下吧,一般来说,我们会觉得系统变慢是内存造成的,其实也是需要进行验证的,内存的管理机制其实很简单,就是内存本身会划分一个cache来进行缓存,以便高速的访问可用页面,所以有时候觉得系统内存一天天变少了也不要太紧张,看一下它的cache大小,如果很大,就没必要担心了,swap也是一种获取更多内存的方式,但是开销太大,最好不要使用到,因为如果访问数据文件的FS和SWAP在同一个FS之上的话,就会明显感到这种开销有多大了。可以用vmstat,free配合去查看一下系统内存。注意可用量和cache的值。\r\n 呵呵,抛砖引玉一下,我说的毕竟还是有点模糊的,性能优化要写的话,可以写一本书了。上述只是我自己总结的,其实还有很多东西,包括性能测试架构,监控体系,压力测试,系统调优参数等等。这些大家可以去学习一下,这可是没有多少人了解的领域。 |
|