Tsung的介绍

2024-05-14 10:58
文章标签 介绍 tsung

本文主要是介绍Tsung的介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

  最近需要做些测试相关的工作,开始接触压力测试;记录下来,以便以后复习,也希望能与大家分享;有错之处,请各位多多包涵;

压测工具Tsung介绍

1. Tsung是什么,有哪些特性?

Tsung是一个开源多协议分布式的压力测试工具。它可以用来测试HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP 和Jabber/XMPP的服务器,并且支持扩展协议。只要硬件足够,它可以在客户机集群上分布运行,模拟上百万用户。国内主要有 华为 和 SNS 网站在用;


主要特性:

1. 高性能

2. 多协议支持并支持扩展协议。

3. 利用OS的IP别名技术,在单机上可以使用多个IP。

4. 服务器监控(CPU, 内存, 网络流量),支持SNMP, Munin 或 Erlang方式。

5. 测试方案使用XML配置,可用不同的session来模拟不同类型的用户。

6. 模拟真实流量,用随机概率模拟用户的思考时间和抵达率。

7. HTML及图表方式报告压测结果。

 

2. Tsung的安装

Tsung目前只支持Linux系统,下面介绍Tsung在CentOS下的安装。

Tsung是erlang写的,绘制图表时使用的gnuplot,需要使用perl相关库,所以也要安装perl, gnuplot。

2.1 安装前提

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

2.2 安装perl及gnuplot

yum -y install perl
yum -y install gnuplot

2.3 安装erlang

erlang的下载地址http://www.erlang.org/download.html,最新版为 R16B02。

tar -zxvf otp_src_R16B02.tar.gz
cd otp_src_R16B02
./configure --prefix=/usr/local/erlang
make && make install

2.4 安装tsung

Tsung的下载地址http://tsung.erlang-projects.org/dist/,最新版为1.5.0。也可以到github拉最新的下来,地址https://github.com/processone/tsung

由于我们的业务很多要发protocolbuffer的二进制数据,而这些数据需要写在文件中才能读取,

为了在一个文件中写多个pb数据,建议使用修改过的tsung版本,版本见附件tsung-fix_raw.zip。

修改内容:

文件读取是按行读取的,tsung默认行分隔符为“\n”(10),而pb中有很多"\n",这样一个pb就会被分割成多个数据段,且每个数据段都不可用。

该修改版本将文件读取的行分隔符改为"\r\n"(13,10),这样一个pb就能被完整读取;且如果多个pb间使用“\r\n”(13,10)进行分割,多个pb都能正常读取。

 注意:若想在一个文件中写多个pb文件,需要在多个pb中间写入"\r\n"(13,10)。

代码在src\tsung_controller\ts_file_server.erl的第223行,行分隔符也可以自行修改为其他内容,在源代码中修改完成以后再 make && make install 安装

tar zxvf tsung-1.5.0.tar.gz
cd tsung-1.5.0
./configure --prefix=/usr/local/tsung --with-erlang=/usr/local/erlang
make && make install

2.5 安装perl的Template-Toolkit

Tsung生成统计报告时需要用到该模板。Template-Toolkit下载页面:http://www.template-toolkit.org/download/index.html

tar -zxvf Template-Toolkit-2.25.tar.gz
cd Template-Toolkit-2.25
perl Makefile.PL
make
make test
make install

 

至此Tsung的软件就安装好了,如果想直接使用erl, tsung, tsung_stats.pl等命令,可以将其加入到系统Path中。

3. Tsung的配置文件

配置文件的结构如下

1. 文档结构(File Structure)

2. 客户机及服务器设置(Clients and Server)

3. 选项(Setting options)

4. 监控(Monitoring)

5. 负载情况(Defining the load progression)

6. 用户会话(Sessions)

 

这篇关于Tsung的介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/988556

相关文章

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

JSR-107缓存规范介绍

《JSR-107缓存规范介绍》JSR是JavaSpecificationRequests的缩写,意思是Java规范提案,下面给大家介绍JSR-107缓存规范的相关知识,感兴趣的朋友一起看看吧... 目录1.什么是jsR-1072.应用调用缓存图示3.JSR-107规范使用4.Spring 缓存机制缓存是每一