Tsung:开源多协议分布式负载&压力测试工具

简介:

Main features

  • High Performance: the load can be distributed on a cluster of client machines

  • Multi-protocols using a plugin system: HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP , XMPP/Jabber, BOSH, MQTT and AMQP are currently supported. SSL is also supported.

  • Several IP addresses can be used on a single machine using the underlying OS IP Aliasing

  • OS monitoring (CPU, memory and network traffic) using SNMP, Munin or Erlang agents on remote servers.

  • XML configuration system; several sessions can be used to simulate different type of users. Dynamic sessions can be easily described in XML (this can be used to retrieve at runtime an ID from the server output and use it later in the session).

  • In order to generate a realistic traffic, user think-times and the arrival rate can be randomize using a probability distribution

  • HTML reports can be generated during the load to view response times measurement, server CPU, etc.

Tsung is developed in Erlang,运行Tsung,需要相关erlang依赖包支持。

 

一.安装Tsung

sudo apt-get update
sudo apt-get -y install tsung

或自行下载Tsung源码包安装:http://tsung.erlang-projects.org/

二.启用SNMP agent(snmpd)监视系统运行

  1. 在目标系统上安装snmpd: apt-get install snmpd

  2. 修改配置文档/etc/snmp/snmpd.conf:

    1)开启所有监视端访问:注释行agentAddress  udp:127.0.0.1:161,然后启用行agentAddress udp:161,udp6:[::1]:161
    2)设置snmp agent可监视(OID分支)范围:注释行view   systemonly  included   .1.3.6.1.2.1.1和view systemonly included .1.3.6.1.2.1.25.1,然后添加行view systemonly included .1
    3)rocommunity public  default    -V systemonly行和rocommunity public  default    -V systemonly行public为默认community,可更改自定义
    4)如果在docker中运行snmpd,修改配置文档/etc/snmp/snmpd.conf后,执行service snmpd [command],这对已启动的snmpd是无效的。因此本人通过重启snmpd所运行的容器(expose 161),然后再执行service snmpd start是可行的方案
  3. 启动snmpd:service snmpd start
  4. 监视端安装snmp来检测监视目标系统snmp agent

    sudo apt-get install snmp
    snmpwalk -v 2c -c public [agent主机名或ip]

三.试运行Tsung并生成统计报告

cd ~
mkdir .tsung
cp /usr/share/doc/tsung/examples/http_simple.xml .tsung/tsung.xml
tsung start

注意事项:

1)/usr/share/doc/tsung/examples:Tsung安装后,该目录下有多种配置文档样例可参考
2)~/.tsung/tsung.xml:默认配置文件。如果该文件不存在,则需添加-f选项,tsung -f myconfigfile.xml start
3)~/.tsung/log:运行命令tsung start后将生成该日志目录
4)本例中monitor type为snmp
5)关于tsung.xml的配置可参考:http://tsung.erlang-projects.org/user_manual/

 

cenze@kylin:~/.tsung$ ls log20170115-2235cenze@kylin:~/.tsung$ cd log/20170115-2235cenze@kylin:~/.tsung/log/20170115-2235$ /usr/lib/tsung/bin/tsung_stats.pl
warn, last interval (7) not equal to the first, use the first one (10)
No data for Bosh
No data for Match
No data for Event
No data for Async
No data for Errors
cenze@kylin:~/.tsung/log/20170115-2235$ ls -l
总用量 92drwxrwxr-x 2 cenze cenze  4096 1月  15 22:51 data-rw-rw-r-- 1 cenze cenze  3344 1月  15 22:51 gnuplot.log
drwxrwxr-x 2 cenze cenze  4096 1月  15 22:51 gnuplot_scripts-rw-rw-r-- 1 cenze cenze  7333 1月  15 22:51 graph.html
drwxrwxr-x 2 cenze cenze  4096 1月  15 22:51 images-rw-rw-r-- 1 cenze cenze    62 1月  15 22:35 match.log-rw-rw-r-- 1 cenze cenze  8151 1月  15 22:51 report.html-rw-rw-r-- 1 cenze cenze 10157 1月  15 22:45 tsung_controller@kylin.log-rw-rw-r-- 1 cenze cenze 36480 1月  15 22:45 tsung.log-rw-rw-r-- 1 cenze cenze   961 1月  15 22:35 tsung.xml

注意事项:

1)/usr/lib/tsung/bin/tsung_stats.pl:如果当前目录下不存在tsung.log,则需通过选项--stats 指定统计日志文件,执行该脚本后将在当前目录下生成相关统计报告目录及文档
2)以上为本机上执行的实际情况,点击report.html在浏览器中打开将看到如下界面:

本文转自  zddnd   51CTO博客,原文链接:http://blog.51cto.com/13013666/1943099



相关文章
|
20天前
|
前端开发 测试技术 Python
【Selenium全攻略】掌握这一工具,实现自动化测试的所有梦想
本文分享了使用Selenium进行UI自动化测试的全过程,包括开发环境部署、代码实现、思路分析和难点解析。作者通过一个实际案例,讲述了如何利用Selenium处理前端生成报告失败的问题,以及在UI自动化中定位元素和处理元素不唯一的情况。同时,文章强调了解决问题思路的重要性,鼓励读者开拓思维,寻找不同的解决方案。
68 4
【Selenium全攻略】掌握这一工具,实现自动化测试的所有梦想
|
22天前
|
前端开发 jenkins 测试技术
自动化测试介绍,为何 Apifox 是进行自动化测试的最佳工具
自动化测试利用专用软件执行测试用例,比手动测试更高效准确。Apifox是一款集API文档、调试与自动化测试于一体的工具,提供一体化解决方案,简化API变更管理。其强大的测试功能支持丰富的断言及测试场景组合,便于模拟真实业务流程。Apifox还提供详尽的测试报告与分析功能,有助于快速定位问题。此外,它能轻松集成到CI/CD流程中,并支持定时任务及多分支管理,极大提升了测试效率和团队协作。相较于其他工具,Apifox以其全面的功能和友好的界面脱颖而出。
|
9天前
|
安全 Linux 测试技术
Kali Linux预装的自动化渗透测试工具
Kali Linux预装的自动化渗透测试工具
20 2
|
13天前
|
测试技术
基于LangChain手工测试用例转Web自动化测试生成工具
该方案探索了利用大模型自动生成Web自动化测试用例的方法,替代传统的手动编写或录制方式。通过清晰定义功能测试步骤,结合LangChain的Agent和工具包,实现了从功能测试到自动化测试的转换,极大提升了效率。不仅减少了人工干预,还提高了测试用例的可维护性和实用性。
24 4
|
17天前
|
消息中间件 Kafka 测试技术
【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能
【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能
|
20天前
|
测试技术 API
软件测试:Postman 工具的使用。开发及测试均需要掌握的测试工具
这篇文章详细介绍了Postman工具的各个模块功能,包括创建请求、集合、环境、自动化测试等,并解释了如何使用Postman进行GET、POST、PUT和DELETE等常见HTTP请求的测试。
|
21天前
|
测试技术 Android开发 iOS开发
Appium 是一个开源的自动化测试框架,它支持多种平台和多种编程语言
Appium是一款开源自动化测试框架,支持iOS和Android多平台及多种编程语言。通过WebDriver协议,开发者可编写自动化测试脚本。在iPhone上实现屏幕点击等操作需安装Appium及其依赖,启动服务器,并设置所需的测试环境参数。利用Python等语言编写测试脚本,模拟用户交互行为,最后运行测试脚本来验证应用功能。对于iPhone测试,需准备真实设备或Xcode模拟器。
55 1
|
26天前
|
网络协议 测试技术 Apache
测试Netty高并发工具
测试Netty高并发工具
52 3
|
26天前
|
人工智能 自然语言处理 测试技术
基于LangChain手工测试用例转接口自动化测试生成工具
本文介绍利用大语言模型自动生成接口自动化测试用例的方法。首先展示传统通过HAR文件生成测试用例的方式及其局限性,随后提出结合自然语言描述的测试需求与HAR文件来生成更全面的测试脚本。通过LangChain框架,设计特定的提示词模板,使模型能够解析测试需求文档和HAR文件中的接口信息,并据此生成Python pytest测试脚本。示例展示了正常请求、非法请求及无效路径三种测试场景的自动化脚本生成过程。最终,整合流程形成完整代码实现,帮助读者理解如何利用大模型提高测试效率和质量。
59 2
|
11天前
|
自动驾驶 5G 调度
下一篇
DDNS