系统响应时间、系统吞吐量、系统并发量
cpu、内存、IO
cpu调优:
linux:性能分析工具
命令: top vmstat pidstat
top(默认每3s刷新一次):显示系统整体的cpu和内存使用情况,以及各个进程的资源使用情况
stat系列(vmstat、iostat、netstat、pidstat、mpstat)
profile工具:定位代码片段(perf、ps)
pstree:用树状形式显示所有进程间的关系
stress 压力测试工具,模拟压力测试场景
执行top命令获得过去1min、5min、15min的平均负载(Load Average)
平均负载就是平均活跃进程数(理想的平均负载就是等于cpu的个数,但是在生产环境中高于CPU数量70%就要进行排查负载高的问题)
用户(%user)、Nice(%nice)、系统(%system)、等待IO(%iowait)、中断(%irq)、软中断(%softirq)、
用户cpu和nice cpu比较高:说明用户态进程占用了较多的cpu,应该着重排查进程的性能问题
系统cpu较高,说明内核态占用了较多cpu,应该着重排查内核线程和系统调用的性能问题
软中断和硬中断比较高,说明软中断和硬中断的处理程序占用了较多的cpu,应该着重排查内核中的中断服务程序
系统变慢的原因:cpu上下文切换过多、某个进行占用的cpu资源高、某个线程io读取缓慢
cpu上下文切换数一般正常在几百到一万
自愿上下文切换变多,说明进程都在等待资源,有可能IO产生了问题
非资源上下文切换变多,说明进程在被强制调度,都在争抢cpu,cpu性能成了瓶颈
进程的pid在不断变化,说明进程在不停的重启(可能是短时进程,也可能是进程启动出错后被重启启动)
内存调优:
IO调优: