已经知道了什么是压力测试,和压力测试所须要关注的参数以后,剩下的内容就是着手作了,怎么开始呢?一个压力测试的流程:redis
1 明确测试目标算法
2 制定测试计划数据库
3 实施测试,收集参数网络
4 分析测试结果多线程
5 给出优化方案并发
一 明确测试目标:若是是客户的需求,那须要向客户确认,有清楚的性能指标参数,测试时就是保证系统达到该指标并能良好运转,即压力测试。若是是本身的系统须要有一个评估,那就须要完整的获得该系统的几个临界点,拿到完整的性能曲线,从而来分析部署状况,即为性能测试。无论是哪一个,知道了需求,才能制定计划。高并发
性能测试的目标是发现重大的系统瓶颈。你能够想象一个系统由一系列的瓶颈组成;发现并改善一个瓶颈每每会在其余地方产生一个新的瓶颈。例如,我曾为一运行微软Windows CE的器件部门工做。咱们发现的第一大性能问题体如今某一具体硬件环境下的内存管理中。咱们把问题分离出来,改善了内存分配的效率。尔后再次运行咱们的测试,又找到了一个新的瓶颈,此次体如今网络吞吐量上(throughput)。解决了这个问题后,咱们接着又为下一个瓶颈改善而工做,而后再下一个,直到整个系统都达到了性能目标。要记住的是:关键在于要尽早订立性能目标,不然你可能不知道何时该中止性能测试。工具
二 制定测试计划:肯定使用什么工具,着重哪些参数,设置线程数,方法执行次数,执行时间,是否多个接口同时进行测试等等。性能
三 实施测试,收集参数:选一个施压工具,来向部署好的服务发起高并发请求,同时关注和收集性能参数。这个是咱们花费时间最多的地方。一般该阶段须要反复执行,来获得想要的数据。一般来讲,咱们可使用JMeter LR AB 本身写多线程等各类方式,以后介绍一下JMeter。测试
四 分析测试结果:即根据上一节的参数介绍来进行参数分析
五 给出优化方案:若是是代码逻辑耗费cpu,就优化算法;若是是redis等数据库耗时,就增长节点,减小读取,读写分离,使用内存等;若是是外在条件限制,则与外部们沟通问题,共同优化等等。