01 什么是性能测试
性能测试:指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
常见的性能测试:压力测试和负载测试
压力测试:超过临界点
负载测试:加载数据靠近临界点
性能测试工具:
jmeter(轻量级工具,免费,开源)
loadrunn、商业版收费的,破解版,bug多,一个包4g多;流行轻量级的工具
locust、使用python代码来代替。
02 什么是性能调优
性能调优是一个性能测试完成后,根据性能测试过程中生成报告中的数据,对数据进行分析,给出调优方案。
03 性能调优从以下几个方面着手
a、代码层面
b、数据库层面——索引,外键,sql语句的优化
c、硬件层面
04 为什么要进行性能调优
可以用更少的硬件资源,支撑更大量的业务发展,从而达到节省硬件投资的目的。
可以在资源有限,不能扩容的情况下,提升系统的响应能力,从而为用户带来更好的感知。
05 性能如何调优?
第一步:确定问题
代码层面:很多情况下,很多程序的性能问题都是写出来的。因此,对于发现瓶颈的模块,首先应该检查一下代码。
数据库层面:经常引起整个系统运行缓慢,一些诸如Oracle的大型数据库都是需要DBA进行正确的参数调整才能投产的。
硬件层面:硬盘速度、内存大小等都是容易引起瓶颈的原因,因此这也是分析的重点原因
第二步:分析原因
当确定了问题之后,我们要明确这个问题影响的是响应时间吞吐量还是其他的问题。是多数用户还是少数用户遇到这个问题。如果是少数用户,这几个用户的操作与其他人有什么不同。系统资源监控的结果是否正常?CPU的使用是否达到极限?是客户端还是服务器出现问题?系统硬件配置是否够用?实际负载是否超过了系统的负载能力?是否未对系统进行优化?
通过这些分析及与系统相关的问题,可以对系统瓶颈有更深入的了解,进而分析出真正的原因。
第三步:确定调整目标和解决方案
提高系统吞吐量,缩短响应时间,更好的支持并发。
第四步:测试解决方案
对通过解决方案调优后的系统进行基准测试。
第五步:分析调优结果
系统调优是否达到或者超出了预定目标?系统是整体性能得到了改善还是以牺牲某部分性能来解决其他问题?调优是否结束了?最后,如果达到了预期目标,调优工作就基本上可以结束了。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末自行领取】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!