性能测试之tsung

缘由:之前一直使用jmeter进行性能测试,但是jmeter有个瓶颈(如果并发数加大,会将客户机的硬件资源耗死,当然这种现象可以使用分布式部署执行);后面听说tsung支撑百万并发(事实上后续发现这种百万也是使用的分布式执行),所以本篇就针对tsung进行描述下。

【1】tsung是什么

 tsung 官方使用手册:http://tsung.erlang-projects.org/user_manual/

 tsung是一个开源、多协议、分布式的压力测试工具。它可以用来测试HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP 和Jabber/XMPP的服务器,并且支持扩展协议。

【2】tsung的特性

tsung的主要特性

  1. 高性能:Tsung每台物理计算机可以模拟大量并发用户:它可以在单个CPU上模拟数千个用户

  2. 分布式:负载可以分布在客户端计算机的群集上

  3. 使用插件系统的多协议:当前支持HTTP(标准Web流量和SOAP),WebDAV,Jabber / XMPP和PostgreSQL。LDAP和MySQL插件首先包含在1.3.0版本中

  4. SSL支持

  5. 使用基础OS IP别名,可以在一台计算机上使用多个IP地址

  6. 使用远程服务器或SNMP上的Erlang代理进行OS监视(CPU,内存和网络流量)

  7. XML配置系统:用XML编写复杂的用户场景。可以使用Tsung记录器(仅HTTP和PostgreSQL)通过简单的浏览器编写场景。

  8. 动态方案:可以在负载下从服务器获取动态数据(无需编写任何代码),然后将其重新插入后续请求中。当字符串(或regexp)与服务器响应匹配时,还可以循环,重新启动或停止会话。

  9. 混合行为:在同一基准测试期间,可以使用多个会话来模拟不同类型的用户。您可以定义基准测试方案中各种行为的比例。

  10. 随机过程:为了产生现实的流量,可以使用概率分布(当前为指数)将用户的思考时间和到达率随机化

 

【3】tsung的安装

 

tsung目前只支持Linux系统;tsung是erlang写的,绘制图表时使用的gnuplot,需要使用perl相关库,所以也要安装perl, gnuplot。

  1. 安装依赖

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

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

    yum installflexerlang systemd-devel autoconf automake lksctp-tools-devel m4 ncurses-develzlib-devel unixODBC-devel emacs emacs-el wxGTK3-devel

     

  2. 安装perl及gnuplot

    yum -y install perl

    yum -y install gnuplot

     

  3. 编译安装

    ./configure

    make &&make install

 

 【4】tsung的执行

  1. 执行案例

    tsung -f  /usr/share/doc/tsung/examples/http_simple.xml start

  2. 报告

    进入生成的log目录执行命令:

    /usr/lib/tsung/bin/tsung_stats.pl

  3. 结果

 

 

 

 

 

 【5】后记

具体的使用请参考官网,tsung无界面模式,在Linux上使用xml配置场景或者接口进行执行测试并且开发语言是比较偏的erlang,相对于要入门的新手来说还是比较难的;一般的测试性能执行个人认为使用jmeter还是足够的,对于场景的编写jmeter也是可以胜任的,当然还有另外一种协程类的性能执行工具 locust也是支持百万并发的。工具只是辅助,重要的还是测试策略的规划,可以实现目标即可。

posted @ 2020-08-26 14:36  Vsky  阅读(1310)  评论(0编辑  收藏  举报