前言:压测的具体方法有不少种,工具也有不少,可是压测要遵循的原则能够是不变的。万变不离其宗,制定好压测规范和原则,每次压测前问下本身,为何要进行压测,咱们预期的结果是什么样的,而后就能够开始操做了mysql
压测的目的无外乎测试新版本的性能、新功能、新机器的性能、新硬盘的性能、某些OS或DB层面的参数的影响 、不一样场景下的性能等,咱们压测就是要评估出数据库和业务的性能瓶颈,方便进行容量和性能规划,在业务高峰期来临前,提早作好预案。sql
在设计压力测试模型以前,咱们必需要知道压力测试的目的;用控制变量的原则,来排除其余的干扰因素,每次控制一个变量;压测环境尽可能和线上环境一致,增长数据可参考价值;每一个变量压测应很多于三次,而后取其平均值做为压测数据数据库
尽可能远程进行压力测试:排除压测工具对系统的开销和网络带宽的影响缓存
压测数据要合理: 压测数据应大于MySQL Buffer,要考虑大字段的影响微信
压测时间要合适:压测前要进行预热,预热后压测时常不小于30分钟,真实场景能够更长网络
压测的时候系统负荷不要太大或过小:保证压测结果接近生产真实环境tcp
压测结束后要净化环境:清除系统和DB层的缓存,防止影响下次压测结果工具
CPU :%user、%sys、%idle、%iowait 性能
load :测试
IO :util%、awai%
Mem:memused、swap(开的能够看下)
带宽 :recv , send
TPS、QPS、RT、LT、SE、FL、RT
经常使用的测试工具备sysbench、tpcc-mysql、tcpcopy等,没有最好的工具,只有最适合你的工具和你最熟悉的工具
在相同压测基线下,业务的变化状况汇总。能够以图表的形式展示
为了方便你们交流,本人开通了微信公众号(关注看更多精彩)和QQ群,QQ群1(291519319)和QQ群2(659336691)。喜欢技术的一块儿来交流吧