接口测试 用 python 多进程压测接口,靠谱吗?结果和 jmeter 差别很大

艾里艾兰 · July 25, 2019 · Last by flyfire replied at July 29, 2019 · 1497 hits

最近用python多进程压测接口,发现结果和jmeter差别很大,听到一些声音说:python的多进程本质上是“假”的,认为python多进程压测接口的结果可信度是比较低的。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 8 条回复 时间 点赞

python多线程本质上是“假”的,不是多进程。如果想充分利用多核cpu,用多进程

黑山老妖 回复

嗯嗯,我是用的多进程,结果 jmeter 还是有不少的差别,TPS和响应时间都差了5倍左右

艾里艾兰 回复

python3.4 后已经引入了asyncio协程,3.5引入了Async/Await语法糖
某些大牛在几年前就说了Async/Await是最完美的异步编程解决方案
Locust性能框架底层用的也是asyncio,我觉得Python应该不成问题
进程还是算了,进程通信是灾难的

SheldonBean 回复

搭车问一下,python适合做接口压测吗,比起Jmeter做接口压测,哪个好?

Stu Yu 回复

都可以,看你们小组熟悉哪块技术栈,性能测试做到最后肯定会向服务靠拢。
单独的一个工具jmeter和locust相差不大,搭服务那就要考虑本身语言熟悉程度,web框架的熟悉程度,这里有一个学习成本问题。

进程和线程在操作系统层面效率是完全不一样。进程要做上下文切换,而线程是轻量级的跑起来快。用python去压,自己动起来就已经累趴下了,怎么能把别人压出来呢。。。

艾里艾兰 回复

用 JMeter 吧,现成的工具,Python是伪多线程,而异步那个玩意,是个不靠谱的东西。

twisted 楼主可以了解下

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up