技术开发 频道

Linux系统性能测试与分析

  四、典型应用对系统资源使用的特点

  4.1 动态内容为主的Web应用

  1)频繁执行程序,如 Perl, PHP, Java 等,消耗CPU严重。

  2)提供并发用户访问,因此系统进程数多,消耗内存多,当内存不足时,使用交换内存也会增加CPU的开销。

  3)磁盘的写IO比较频繁(主要为随机写),比如生成cache文件,更新session文件等。

  4)内存充足时读取的内容可以被cache住,cache的命中率和文件更新的频繁程度成反比,磁盘的读IO相对较小 。

  4.2 静态内容为主的Web应用 (如Squid Cache)

  1)网络带宽瓶颈。

  2)小文件的随机读取频繁,内存充足时可以缓解磁盘随机读的压力。

  3) 系统内存不足时磁盘IO量会比较大(读、写、交换内存),因此增加CPU的开销。

  4.3 数据库应用

  1)数据库查询语句复杂,大量的 where 子句,order by, group by 排序等,CPU容易出现瓶颈。

  2)表太大时,查询遍历全表造成磁盘读的IO量大,容易出现读IO等待的情况。

  3)数据更新量大或者更新频繁时,造成磁盘写的IO量大。

  4)内存不足时频繁使用交换内存。

  4.4 软件下载

  1)网络带宽瓶颈

  2)存储系统带宽瓶颈(读)

  4.5 流媒体服务

  1)网络带宽瓶颈

  2)存储系统带宽瓶颈(读)

  五、系统使用和优化的原则

  5.1 系统监控和数据数据

  对资源的使用状况作长期的监控和数据收集

  Snmp+MRTG(网络流量监控)

  Sar(系统资料监控及收集)

  5.2 优化建议

  程序的优化和系统结构的优化比硬件的性能优化更有效

  5.3 限制使用系统资源

  避免不受限制的使用系统资源

  设置各项服务对资源的使用限额,如Apache, MySQL,PHP等

  5.4 保留空闲资源及资源均衡

  始终保留一定量的空闲资源

  多少合适?根据应用的特点,比如是否有突发性使用增长?

  日常情况下,保留至少 60% 的系统资源,以应付突发使用增长。

  日常情况下,资源使用率达到 80% 时,你必须有所行动了,尤其是web应用。

  系统硬件达到合理的配置(以适合应用的特点为依据,资源消耗均衡为目标)

  系统性能的水桶理论

  应用软件对资源的使用要均衡(理想目标)

  怎么样就算是均衡了?我也在摸索中……

  理想状况为:CPU消耗到50%的时候,磁盘的带宽也到50%,磁盘的tps也到50%,内存使用也到50%(除去可以提供给cache的内存)

0
相关文章