本文共 1413 字,大约阅读时间需要 4 分钟。
性能工具强大之处在于可支持分布式运行方式,做为性能测试工具的tsung也不例外,接下来搭建tsung的分布式测试环境
tsung的分布式环境搭建需要完成以下配置:
集群的机器之间必须要实现无密码提示的ssh登录
参与测试的机器中有一个是controller,其他都是tsung1、tsung2,集中控制的方式cd /root/.ssh
ssh-keygen -t rsa ##-t rsa可以省略,默认就是生成rsa类型的密钥
注:命令执行后会有提示,输入三次回车即可
执行完成后会在当前用户的.ssh目录下生成两个文件:id_rsa、id_rsa.pub文件,前者时私钥文件,后者是公钥文件(拷贝到其他主机只需要拷贝这个文件的内容)
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.200.0.8
- 执行这条命令后会自动将登录主机的公钥文件内容追加至目标主机中指定用户(root).ssh目录下的authorized_keys文件中
- 也可以登录被免密登陆的设备上创建authorized_keys文件并将公钥追加到该文件
ssh root@10.200.0.8
首次登录将弹出保存信息,输入yes即可,此时已经实现了免密的密钥登陆
参与分布式测试的所有机器安装erlang和tsung的版本,尽量保持一致
注:erlang不同版本之间的差异比较大
需要关闭所有测试机器的防火墙
可以通过service iptables stop关闭防火墙如下配置信息时
出现报错如下:
[root@benchmark-10-200-0-149 tsung-1.7.0]# tsung -f tsungws.xml startStarting TsungLog directory is: /root/.tsung/log/20200424-2113ERROR: client config: 'host' attribute must be a hostname, not an IP ! (was "10.200.0.8"). You can use -I <> option.Config Error, aborting ! { error,badhostname}
原因是tsung通过主机名(而不是ip地址)互相登陆,解决办法是通过主机名(而不是ip地址)远程ssh登录
在/etc/hosts中配置机器之间的名字解析,进入目录
cd /etc/hosts
配置如下:
127.0.0.1 localhost 10.200.0.8 localhost8 # 分布式被控制的主机名10.200.0.149 localhost149 # 分布式控制端主机名
所有的机器都要有类似这样的配置
分布式需要配置xml中 clients的值,配置如下
在控制端10.200.0.149
运行tsung脚本即可
转载地址:http://pptvf.baihongyu.com/