关于jmeter压测性能的一些测试和思考

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 最近一个项目着急上线,要求大并发,目标是支持一万并发,于是用压力测试软件jmeter测试了一番,结果总是让人不可思议,全是jmeter连接目标服务器超时请求,特此记录一下。如果哪位知道原因请留言告知,谢谢! 测试文件均采用phpinfo测试页面,页面大小大概70-80k。
最近一个项目着急上线,要求大并发,目标是支持一万并发,于是用压力测试软件jmeter测试了一番,结果总是让人不可思议,全是jmeter连接目标服务器超时请求,特此记录一下。如果哪位知道原因请留言告知,谢谢!
测试文件均采用phpinfo测试页面,页面大小大概70-80k。采用千兆交换机内网直连,jmeter压测服务器8核心96G内存,nginx服务器12核心96G内存。
网站架构比较简单,用的nginx+php-fpm,nginx(单个)和php-fpm(单个)在同一台服务器上,通过tcp转发请求到后端,所有参数(内核参数、nginx配置文件、php-fpm配置文件)均优化过。理论上服务器的硬件和网络也没有任何瓶颈。
第一次使用3500并发,42000用户数测试
9239个请求 超时,也就是说请求还没到nginx服务器,那么可能是nginx的问题导致的
第二次在架构上加一层前端lvs,也就是单台lvs转发到单台nginx,然后nginx转发到单台php-fpm上,并发和用户数保持不变
8336个请求超时,比前端直接用nginx好点,但是这结果太坑
第三次在lvs后面再加一台nginx和php-fpm,也就是单台lvs转发两台nginx,然后nginx转发各自的php-fpm上,并发和用户数保持不变
6816个请求超时虽然比上面结果好了一点,但是这个明显不是我要的,这里也说明跟后端的php-fpm没关系了,如果是后端瓶颈应该是502或者504之类的错误,要不就是jmeter软件本身的问题导致
第四次去掉了lvs这一层,在nginx服务器上绑定一个IP别名,还是使用一个nginx, 同一个域名 使用两个虚拟主机配置,只是监听的IP地址不一样而已,用DNS轮询方式,注意如果绑定hosts只会请求第一个绑定的IP上,那就没效果了。继续3500并发,42000用户测试
0个请求超时,这才是我需要的效果啊!说明和单台nginx的配置、jmeter软件本身也没啥关系了。以后的测试都去掉了lvs这一层。而且全部都变成了单台nginx
第五次还原到单条A记录方式,减少一半的并发数,使用1750并发,42000用户数测试
800个请求超时,郁闷中~~
第六次还原到单条 A记录方式,减少一半的并发数和用户数, 使用1750并发,21000用户数测试
537个请求超时,继续郁闷中~~
第七次闲的无聊直接压测单台nginx的静态页面index.html,并发和用户数还原到最开始的
0个请求超时结果不出所料
第八次使用单台nginx的fastcgi_cache缓存index.php页面,使用1750并发,42000用户数测试
1280个请求超时,这里我觉得再怎么说应该也会比第五次的结果好吧!没想到超时请求更多,尼玛,请原谅我三观尽毁~~
第九次是基于上面用户数减一半的测试结果,不出意外应该会减少一半吧
354个请求超时,数量比上面少了很多,是nginx那台服务器扛不住吗?
第十次使用单台nginx的proxy_store缓存index.php页面,配置肯定都正确,看看 1750并发,42000用户数测试结果吧
2171个请求超时,此时心中一万只草泥马掠过~
有知道答案的哥们欢迎留言啊~
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
15天前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
33 4
|
14天前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
61 13
|
20天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
49 1
|
26天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
32 4
|
26天前
|
监控 JavaScript 前端开发
如何在实际应用中测试和比较React和Vue的性能?
总之,通过多种方法的综合运用,可以相对客观地比较 React 和 Vue 在实际应用中的性能表现,为项目的选择和优化提供有力的依据。
33 1
|
1月前
|
缓存 监控 测试技术
全网最全压测指南!教你如何测试和优化系统极限性能
大家好,我是小米。本文将介绍如何在实际项目中进行性能压测和优化,包括单台服务器和集群压测、使用JMeter、监控CPU和内存使用率、优化Tomcat和数据库配置等方面的内容,帮助你在高并发场景下提升系统性能。希望这些实战经验能助你一臂之力!
74 3
|
1月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
68 3
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
52 1
|
2月前
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
33 0
|
2月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
164 3