压测和性能分析方法论
2019-07-13 本文已影响22人
AllenWu
[TOC]
压测和性能分析方法论
压测目的
压测目的是为了证明结论,为了得到正确的数据,只有有数据在手,才能清楚具体的执行项,系统的具体能力
压测方法和数据展示
- 压测百分比的分布
- 压测的平均数据,最大值、最小值
- 压测所经历的各个流程、环节
- 压测得出的数据要严谨,严谨的数据,才能有严谨的结论
严谨的压测报告(自我分析判断能力提升)
分析问题,要找准要点, 测试报告要确实有效,要严谨. 条理清晰. 要一步一步分析出瓶颈, 而且要明白为啥到了瓶颈, 怎么优化?
-
看cpu, 如果cpu 没有跑满,则不是cpu的问题,就不用关心cpu. 则看其他的,如io, swap, 内存, 网卡
-
如果有多个核心, 则观察每个核心的cpu的使用情况. 不能光看整体的cpu利用率
-
如果cpu跑满了, 那么抓cpu的profile, 观测cpu,看看哪个调用比较耗时.
-
-
如何分析瓶颈, 找到QPS提升不上去的原因呢?
-
先抓没有到极限的profile情况(cpu,block,io,内存), 再抓刚到极限的, 最后抓已经到极限的
-
当达到极限后,压力继续上升,此时再抓一次.
-
qps不会一直上升,到某个点后就会持平甚至下降,出现性能拐点,此时就需要分析原因.
-
- 压测的时候,要找到一个性能拐点;如果一上来就是瓶颈了,那么还需要往回调,直到找到一个最佳的性能拐点。
- 因此一个过程就是会将施压端的压力(线程数、并发数)会减少、增大,从而观察 Nginx 服务端的数据,然后得到最佳性能数据