执行/usr/lib/tsung/bin/tsung_stats.pl 出现错误:
1.Cant exec Gnuplot...
需要安装gnuplot
2.Can't locate Template.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /usr/lib/tsung/bin/tsung_stats.pl line 527.
perl -MCPAN -eshell (this opens a CPAN shell) install Template exit
使用:
从 /usr/local/share/doc/tsung/examples 中挑一个例子拷贝到 ~/.tsung/tsung.xml 作为配置文件。cp /usr/local/share/doc/tsung/examples/http_simple.xml ~/.tsung/tsung.xml. tsung 采用了的 proxy 方式来“录制”测试脚本,建立一个本机的 http proxy 默认使用 8090 端口,在配好浏览器代理之后,所有“流经”这个 proxy 的 http 动作都会被记录下来,测试时可以“回放”这些步骤来产生请求。
我用Fireforks的插件FoxyProxy配置代理,Tsung 默认使用的是8090端口。
录制脚本:
1. 使用tsung-recorder start 开启脚本录制。
2. 开始录制脚本。打开浏览器对测试环境进行操作(测试点)
3. 使用tsung-recorder stop 关闭脚本录制。
“录制”完了,会得到一个 ~/.tsung/tsung_recorderXXXXXXXXXX.xml 文件,这就是测试时回回放的脚本。将这个脚本加到 tsung.xml 之中
注:如果发现tsung_recorderXXXXXXXXXX.xml 文件中没有内容,说明录制失败了请检查以上各步骤。并使用service iptables stop 该命令关闭防火墙,防火墙可能导致您的8090端口无法出去。
就像这样
<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd" [
<!ENTITY mysession1 SYSTEM"/home/yourname/.tsung/tsung_recorderXXXXXXXXXX.xml">
]>
...
<sessions>
&mysession1;
</sessions>
对配置稍作调整
<monitoring>
<monitor host="localhost" type="erlang"></monitor>
</monitoring>
<!-- 需要配置到 localhost 无须密码的 ssh 登录(ssh via rsa_key),开启了这个配置可以,获得目标机器的 cpu 和 ram 消耗情况 -->
<load>
<arrivalphase phase="1" duration="1" unit="minute">
<users interarrival="2" unit="second"></users>
</arrivalphase>
</load>
<!-- 第1阶段1分钟(你可以自己多搞几个阶段),其中每2秒新建一个用户,每个用户都会完整执行 session 的测试脚本,最高并发约为 30 个,个人认为这个“逐渐加压”的方法比 ab xxxx 的“突然加压”要慢一些,但更科学一点 -->
运行
准备好了,加压运行。
tsung start
运行完,在 ~/.tsung/log 目录会生成一个以时间命名的目录,进入这个目录
cd ~/.tsung/log/xxxxx
/usr/lib/tsung/bin/tsung_stats.pl
生成 html 的压力测试报告
firefox report.html