性能测试在大型网站系统的设计和开发中非常重要,通常会和容量预估等工作结合在一起,穿插在系统开发的不同方案。性能测试可以帮助我们及时发现系统的性能短板,评估系统的能
性能测试在大型网站系统的设计和开发中非常重要,通常会和容量预估等工作结合在一起,穿插在系统开发的不同方案。性能测试可以帮助我们及时发现系统的性能短板,评估系统的能力,在这个基础在上再进行针对性的性能优化。
木桶理论应用在系统优化中
木桶理论又称短板理论,其核心思想是一只木桶盛水多少,并不取决于最高的木板,而取决于最短的那块木板。
木桶原理应用在系统分析中,即系统的最终性能取决于系统中性能表现最差的组件,为了提升系统整体性能,对系统中表现最差的组件进行优化可以得到最好的效果。
在网站系统中,用户的访问请求到达服务器,然后服务器返回数据并展示给用户,这个过程要经过很多处理,每一个过程的低效都会影响系统整体表现出来的性能。
按照木桶理论,如果一台服务器性能非常强大,拥有充足的内存资源和CPU资源,但是磁盘I/O性能不足,那么系统的总体性能是取决于当前最慢的磁盘I/O速度,而不是当前最优越的CPU或者内存,此时,磁盘I/O就是系统的性能瓶颈。
典型的比如使用Redis进行存储的系统,由于Redis本身性能非常优秀,通常情况下存储并不会制约系统的性能,在海量请求的情况下,Redis的吞吐量会非常大,这时候制约系统的性能瓶颈就变成网络带宽。
压力测试如何实施 性能测试 在大型网站系统的设计和开发中非常重要,通常会和容量预估等工作结合在一起,穿插在系统开发的不同方案。 性能测试可以
压力测试如何实施
性能测试在大型网站系统的设计和开发中非常重要,通常会和容量预估等工作结合在一起,穿插在系统开发的不同方案。
性能测试可以帮助我们及时发现系统的性能短板,评估系统的能力,在这个基础在上再进行针对性的性能优化。
同时,压力测试还可以帮助我们验证系统的稳定性和可靠性。
一个完整的性能测试方案通常包括以下几个方面:
1.压力测试及生成性能报告
压力测试一个重点是如何产生压力,通常可以通过自己编写脚本模拟请求,或者使用成熟的压测工具进行。
压力测试很重要的一点是如何使得模拟压测的数据尽量真实,越接近真实用户越好。
2.根据性能报告定位系统瓶颈,进行针对性优化,测试和优化的工作可以和日常开发并行
压力测试完成以后,我们会拿到一个压测报告,这个报告通常会告诉我们系统的QPS、TPS、响应时延等数据,
这些数据可以让我们对服务器的性能有个整体的了解,发现存在的问题,但是不能帮助我们定位问题。
这个时候我们可以从系统的各个组件入手,关注系统的CPU、内存、IO、网络,对比这些环节对整体性能的影响,确定性能问题是系统哪一部分造成的,然后针对性的在系统中逐个优化。
3.估算容量承载能力,合理规划系统资源
进行压力测试的一个重要目的是让现有的服务器资源发挥最大的价值,
经过前期的测试和分析,这时候我们对系统整体的性能有了一个认识,对服务器的承载能力有了预估, 这个时候我们就可以结合业务规模配置服务器数量
经过前期的测试和分析,这时候我们对系统整体的性能有了一个认识,对服务器的承载能力有了预估,
这个时候我们就可以结合业务规模配置服务器数量,CDN资源等,让最少的资源产生最大的价值。
更多相关知识点击如下链接进行获取:
https://edu.csdn.net/lecturer/6110
https://edu.csdn.net/course/detail/32107
https://edu.csdn.net/course/detail/32047