jemeter压测【2万用户每秒5次请求在30秒内处理完请求】(一)

简介: jemeter压测【2万用户每秒5次请求在30秒内处理完请求】


近期参与过一个红包雨的功能开发,并与测试人员一起工作完成了这个功能的压测。该项目是针对国外项目进行的,并使用了公司的经费,使用了AWS服务器进行了压力测试。由于该功能只是短期使用,公司无法承受大量资金燃烧,因此该功能在产品上线后不久便停止了使用。

由于该项目是公司内部的,因此无法向外界透露。此外,我虽然曾经参与过该项目的压测工作,但并未独立完成过压测工作,因此并不太放心。因此,为了更好地掌握压测技术,并掌握实际操作的经验,我选择在阿里云上花费个人资金进行了压测。总的来说,压测工作消耗资金较多,几个小时几十块钱的花费会让人倍感痛苦。

测试代码

正常一个接口响应时间需要控制在500毫秒以内,也就是0.5秒,这里我通过模拟业务正常响应时间给了0.3秒,打成一个jar包,然后通过一些脚本,让这个jar包开机自启动,同时通过配置弹性伸缩和负载均衡来进行扩容处理。

@GetMapping("/test")
public String test(){
    try {
        Thread.sleep(300);
    } catch (InterruptedException e) {
        e.printStackTrace();
        return  "压测出错啦";
    }
    return  "压测";
}

制作脚本的文章也给到你们:

https://blog.csdn.net/java_wxid/article/details/132921871?spm=1001.2014.3001.5501

在30秒内有5000个用户,每个用户每秒请求5次

在30秒内有5000个用户,每个用户每秒请求5次,需要5台2核4G的,3台扛不住,我试过了。阿里那边的客服和文档都提过这个事情,5000并发基本都是5个以上。

在30秒内有15000个用户,每个用户每秒请求5次

根据上面的推断,5000个用户30秒内,每个用户5次请求,需要5台2核4g的服务器,那么20000个用户可以是四倍的服务器数量,对吧。然后试过之后发现,异常概率太高,扛不住。于是我降到15000个用户,心想这应该够用了吧,发现还是不行。

然后看网上的说需要调大jemter的内存,我主机是16核心24线程64g内存,把jemter调个20g应该够用了吧,发现结果还是差不多。

然后我又想了一个思路,一台机器可能测不了那么多,因为1万用户的时候是可以保证接口没有异常的,1万5就不行了,服务器数量我认为是足够了,负载均衡clb最高1百万并发更加没问题,那么我就分3台机器测2万用户,在30秒内,每个用户每秒请求5次,因为其他二台笔记本性能不如台式机,每台笔记本5000线程,台式机直接1万,3台电脑分别用不同的网络,我用3台手机分别开3个热点,同时开始进行压测,这样总可以了吧。


相关文章
|
监控 测试技术
PTS日志问题之请求压测报告失败如何解决
PTS(Performance Testing Service)是一项面向网站、应用等提供的压力测试服务,用于模拟不同场景下的用户访问,评估系统的性能表现;在进行PTS压测时,可能会出现一些异常或报错,本合集将PTS压测中频繁出现的问题及其解决办法进行汇编,旨在帮助用户更有效地进行性能测试和问题定位。
|
弹性计算 负载均衡 监控
jemeter压测【2万用户每秒5次请求在30秒内处理完请求】(二)
jemeter压测【2万用户每秒5次请求在30秒内处理完请求】
343 0
|
JSON Unix 测试技术
Wrk压测发送Post请求的正确姿势
这篇文章是关于如何使用Wrk工具进行HTTP基准测试的指南,包括Wrk的安装、基本用法、执行Get和Post请求的示例,以及在进行Post请求测试时正确设置Lua脚本的重要性。
996 1
|
测试技术 Python
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。
|
消息中间件 缓存 NoSQL
【红包雨压测】提供2万用户30秒内5次请求的并发服务支持
【红包雨压测】提供2万用户30秒内5次请求的并发服务支持
253 0
|
XML JSON 测试技术
性能测试(10)——http请求详解
协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https ,默认值为http 。 服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。 端口号:目标服务器的端口号,默认值为80 。 方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。 路径:目标URL路径(不包括服务器地址和端口) Content encoding :内容的编码方式,默认值为iso8859 同请求一起发送参数:GET请求时url中附带参数可以通过此方式添加 消息体数据:POST/PUT请求JSON数据存放地 自动重定向:表示JM
445 0
性能测试(10)——http请求详解
|
测试技术 数据库
JMeter基于http请求的web接口性能测试总结
[本文出自天外归云的博客园] 基于http请求的web接口性能测试总结 压测的目的:对于Web接口压测的目的最终是要在对数据库造成压力的情况下观察压测服务器的cpu是否达到预警值、memory是否发生激变甚至泄露、响应结果的error率以及数据库服务器读写方面的情况是否正常等等情况。
2552 0
|
4月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
896 10
|
6月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
992 23
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
484 59