tsung、jmeter、locust压测工具对比

编程入门 行业动态 更新时间:2024-10-07 22:26:33

tsung、jmeter、locust压测<a href=https://www.elefans.com/category/jswz/34/1770073.html style=工具对比"/>

tsung、jmeter、locust压测工具对比

 

一、tsung

优点:

1、它使用的是erlang中轻量级进程,因此模拟海量并发请求比较简单

erlang里面用户并不控制线程,而是创建大量的轻量级线程,erlang里面称为进程(process),以下简称进程。每个进程都可代表一个主动对象,它有事件循环,各个进程间通过消息来通讯。一个进程向另一进程发送消息后,可以进入接收状态,这时候真正的线程会把执行权切换到其它进程,如果另一进程得到执行权,如果它回复了消息,再经过一些执行权的切换以后,原来发送消息的进程得到执行权,它就可以收到消息了,这个复杂的过程可能只需要一个线程就可以完成,程序的编写却是使用同步的方式,完全感觉不到底层的切换,你唯一需要的就是毫无顾忌地创建进程(别当真,创建几十万个就收手吧)。erlang底层通常只需要1个线程就可以完成这些复杂的工作。

2、分布式压测仅需要在控制机上执行对应脚本即可,从机不需要拿到脚本

缺点:

1、使用XML来定义用户行为(难用!!!),且分布式测试查看日志较为麻烦,需要自己整理

2、环境部署较为麻烦(erl、perl、gnuplot、tsung),主机必须能够通过域名免密登陆从机,且各个依赖版本必须相同。

3、不再维护,且文档较少,因此遇到问题较难解决

二、jmeter

优点:

1、可视化界面导致其操作简单,创建测试场景以及用户行为通过点击即可完成(同样是缺点)

2、插件丰富,可以自定义安装各种插件来满足要求

3、使用者较多,网上文档较多

4、单机环境部署较为简单(java+jmeter)

缺点:

1、它使用的是线程,需要给每个用户创建一个线程,因此模拟海量并发请求较为困难

2、模拟海量并发请求需要大量机器,导致部署环境以及排查问题比较困难

3、从机也需要放置脚本,因此读取测试数据时需要注意每台机器的数据不能重复(比如读取用户名,需要使每台机器的测试数据不一致)

三、locust

优点:

1、它使用的是协程,因此实现模拟海量并发请求比较简单

2、可以使用python编写脚本,可以满足自定义需求

3、使用者较多,网上文档较多

4、环境部署较为简单(python3+locust)

缺点:

1、由于使用协程,每台机器必须运行与CPU核心数量相同的loucst进程(比如一台从机CPU是4核的,就需要执行4个locust进程)

2、同样需要注意每个进程读取的测试数据不能重复(可以通过redis分布式锁解决,最简单最笨的方式就是每个线程读取不同的测试数据文件)

 

更多推荐

tsung、jmeter、locust压测工具对比

本文发布于:2024-03-08 00:05:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1719309.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:工具   tsung   jmeter   locust

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!