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

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 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对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
4月前
|
监控 测试技术
PTS日志问题之请求压测报告失败如何解决
PTS(Performance Testing Service)是一项面向网站、应用等提供的压力测试服务,用于模拟不同场景下的用户访问,评估系统的性能表现;在进行PTS压测时,可能会出现一些异常或报错,本合集将PTS压测中频繁出现的问题及其解决办法进行汇编,旨在帮助用户更有效地进行性能测试和问题定位。
|
11月前
|
弹性计算 负载均衡 监控
jemeter压测【2万用户每秒5次请求在30秒内处理完请求】(二)
jemeter压测【2万用户每秒5次请求在30秒内处理完请求】
133 0
|
11天前
|
JSON Unix 测试技术
Wrk压测发送Post请求的正确姿势
这篇文章是关于如何使用Wrk工具进行HTTP基准测试的指南,包括Wrk的安装、基本用法、执行Get和Post请求的示例,以及在进行Post请求测试时正确设置Lua脚本的重要性。
40 1
|
2月前
|
测试技术 Python
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。
|
11月前
|
消息中间件 缓存 NoSQL
【红包雨压测】提供2万用户30秒内5次请求的并发服务支持
【红包雨压测】提供2万用户30秒内5次请求的并发服务支持
147 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
243 0
性能测试(10)——http请求详解
|
测试技术 数据安全/隐私保护 微服务
使用jMeter构造大量并发HTTP请求进行微服务性能测试
使用jMeter构造大量并发HTTP请求进行微服务性能测试
|
测试技术 数据库
JMeter基于http请求的web接口性能测试总结
[本文出自天外归云的博客园] 基于http请求的web接口性能测试总结 压测的目的:对于Web接口压测的目的最终是要在对数据库造成压力的情况下观察压测服务器的cpu是否达到预警值、memory是否发生激变甚至泄露、响应结果的error率以及数据库服务器读写方面的情况是否正常等等情况。
2432 0
|
1月前
|
测试技术 持续交付 Apache
深度挖掘:Python性能测试中JMeter与Locust的隐藏技能🔍
【8月更文挑战第5天】随着软件规模扩大,性能测试对系统稳定性至关重要。Apache JMeter和Locust是两大主流工具,各有千秋。本文探索它们在Python环境下的进阶用法,挖掘更多性能测试潜力。JMeter功能强大,支持多种协议,可通过命令行模式执行复杂测试计划,并与Python集成实现动态测试数据生成。Locust基于Python,通过编写简洁脚本模拟HTTP请求,支持自定义请求及与Python库深度集成。掌握这些技巧可实现高度定制化测试场景,有效识别性能瓶颈,提升应用稳定性。
99 1