性能测试之100万并发 vs 100万TPS
一、问题
性能测试时,有人说我要用jmeter压测,实现100万并发能做么?
二、回答
对于普通的系统来说,一般这种是将100万并发和100万TPS的概念搞混了。
分析如下:
根据公式:TPS=并发数/业务平均时间,如果系统要求业务平均响应时间不超过10毫秒的话,那么
100万并发的TPS就是:100万/10毫秒=100万/0.01秒=1亿,相当于这个业务1秒钟有1亿次请求,这个业务规模是相当大了,对于普通系统一般都没有这个规模的;
而100万TPS是可以说得过去的,意味着并发数=100万*10毫秒=100万* 0.01秒=1万,即并发是1万。
如果是用jmeter工具进行压测的话,jmeter用java写的,java中一个线程需要1M内存空间,启动jmeter时默认开辟1个G左右的空间
jmeter官网说,jmeter单机可以并发到500~1000左右,而在在windows环境下,还有句柄限制等问题,一般jmeter在windows下默认配置情况下,单机能压到200并发,电脑不卡死就很不错了。所以可以看到jmeter单机发压是有限的。
我们就用单机发压最大值1000并发来算,1万的并发,用jmeter工具发压的话,需要1万/1000=10台机器,加上一台主机,一共主从就需要11台机器。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!