关于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进行规格选择与性能压测。
目录
相关文章
|
3天前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
14 2
|
2天前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【9月更文挑战第10天】随着软件应用的不断扩展,性能测试成为确保系统稳定运行的关键环节。本文通过对比Apache JMeter和Locust,探讨了如何在Python环境中利用这两款工具挖掘更多性能测试潜力。JMeter是一款成熟且功能强大的开源工具,支持多种协议,适用于各种应用的测试;而Locust则基于Python,通过简单脚本模拟HTTP请求,更适合Web应用测试。
8 2
|
6天前
|
存储 Java 关系型数据库
“代码界的魔法师:揭秘Micronaut框架下如何用测试驱动开发将简单图书管理系统变成性能怪兽!
【9月更文挑战第6天】Micronaut框架凭借其轻量级和高性能特性,在Java应用开发中备受青睐。本文通过一个图书管理系统的案例,介绍了在Micronaut下从单元测试到集成测试的全流程。首先,我们使用`@MicronautTest`注解编写了一个简单的`BookService`单元测试,验证添加图书功能;接着,通过集成测试验证了`BookService`与数据库的交互。整个过程展示了Micronaut强大的依赖注入和测试支持,使测试编写变得更加高效和简单。
22 4
|
7天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【9月更文挑战第5天】性能测试是确保应用在高负载下稳定运行的关键。本文介绍Apache JMeter和Locust两款常用性能测试工具,帮助识别并解决性能瓶颈。JMeter适用于测试静态和动态资源,而Locust则通过Python脚本模拟HTTP请求。文章详细讲解了安装、配置及使用方法,并提供了实战案例,帮助你掌握性能测试技巧,提升应用性能。通过分析测试结果、模拟并发、检查资源使用情况及代码优化,确保应用在高并发环境下表现优异。
28 5
|
4天前
|
消息中间件 监控 测试技术
惊呆了!Python性能测试高手都用这些神器:JMeter+Locust,效率翻倍📈
【9月更文挑战第8天】在软件开发中,性能测试对确保应用稳定性和高效运行至关重要。对于Python开发者而言,选择合适的性能测试工具能显著提升测试效率并精准定位性能瓶颈。本文深入探讨了JMeter和Locust这两款工具的独特优势。JMeter作为跨平台的性能测试工具,支持多种协议,具备高度可定制性和扩展性;而Locust则专为Python应用设计,利用协程实现高并发,提供实时监控和分布式测试功能。两者结合使用,可在实际项目中实现1+1>2的效果,帮助开发者构建全面高效的测试方案,保障应用稳定运行。
25 1
|
6天前
|
测试技术 Apache 数据库
从慢如蜗牛到飞一般的感觉!Python性能测试实战,JMeter&Locust助你加速🏃‍♂️
【9月更文挑战第6天】你的Python应用是否曾因响应缓慢而让用户望而却步?借助JMeter与Locust,这一切将迎刃而解。JMeter作为Apache基金会的明星项目,以其强大的跨平台和多协议支持能力,成为性能测试领域的魔法师;而Locust则以Python的简洁与高效,让性能测试更加灵活。通过实战演练,你可以利用这两款工具轻松识别并解决性能瓶颈,优化数据库查询、网络配置等,最终使应用变得敏捷高效,轻松应对高并发挑战。
9 1
|
1月前
|
测试技术 持续交付 Apache
深度挖掘:Python性能测试中JMeter与Locust的隐藏技能🔍
【8月更文挑战第5天】随着软件规模扩大,性能测试对系统稳定性至关重要。Apache JMeter和Locust是两大主流工具,各有千秋。本文探索它们在Python环境下的进阶用法,挖掘更多性能测试潜力。JMeter功能强大,支持多种协议,可通过命令行模式执行复杂测试计划,并与Python集成实现动态测试数据生成。Locust基于Python,通过编写简洁脚本模拟HTTP请求,支持自定义请求及与Python库深度集成。掌握这些技巧可实现高度定制化测试场景,有效识别性能瓶颈,提升应用稳定性。
102 1
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【8月更文挑战第5天】性能测试确保应用高负载下稳定运行。Apache JMeter与Locust是两大利器,助力识别解决性能瓶颈。本文介绍这两款工具的应用与优化技巧,并通过实战示例展示性能测试流程。首先,通过JMeter测试静态与动态资源;接着,利用Locust的Python脚本模拟HTTP请求。文中提供安装指南、命令行运行示例与性能优化建议,帮助读者掌握性能测试核心技能。
64 0
|
1月前
|
消息中间件 Java 测试技术
Python性能测试全攻略:JMeter与Locust,双剑合璧斩断性能瓶颈🗡️
【8月更文挑战第4天】在软件开发中,性能至关重要。对Python开发者来说,掌握高效性能测试方法尤为关键。本文将带您探索性能测试工具JMeter与Locust的强大功能。JMeter作为Java世界的巨擘,以其强大功能和灵活性在性能测试领域占有一席之地,不仅适用于Java应用,也能测试Python Web服务。
64 0
|
8天前
|
测试技术 持续交付 Apache
性能测试不再愁!Python+JMeter+Locust,三步打造高性能应用
【9月更文挑战第4天】随着互联网的发展,软件性能成为衡量应用成功的关键。性能测试确保应用稳定高效运行,但复杂环境和多样需求带来了挑战。Python、JMeter和Locust三款工具可构建高效全面的性能测试方案。Python语法简洁,库丰富;JMeter提供图形界面,支持多种协议;Locust基于Python,简单易用且高度可扩展。结合三者,能满足复杂需求,保证灵活性与高效性。无论初学者还是资深工程师,都能确保应用高性能运行。
16 1