基于parrallssh的并行压力测试方法

发布: 2012-08-21 14:40

1、压力测试的必要性

在做架构选型时,需要对可替换组件进行测试,以便确定时否适用。



2、压力测试的难点

一般对并发的测试不好处理。

需要编写大量脚本,并在多台服务器上重复执行。

如果服务器超过10台的规模,则测试起来繁琐。

并且由于启动时间的差异等因素,测试结果会受到影响。


3、Unix哲学-工具组合

一个工具做一件事,简单易用,这就是Unix哲学。

在实际应用过程中,总结了这么一套工具组合,实现并行压力测试功能。

parrall-ssh: 这个包为并行自动登陆工具

mpirun: 这个包为在登陆机器的并行运行进程工具

在测试时,只需要开发能单机运行的程序或脚本即可。

自动化工具运行时把单机执行的程序或脚本自动拷贝到目录机器上,并行执行。

执行的时间的测算,目前还不太精确,是计算的单机上所有进程都执行完成所用时间。

执行结果可返回并汇总到当前启动测试的机器上。

4、工具包安装
*) 在本机上安装sshpass

centos: yum install sshpass

archlinux: pacman -S sshpass

gentoo: emerge sshpass

debian/ubuntu: apt-get install sshpass

*) 在本机上安装parrall-ssh

$> git://github.com/kitech/parallel-ssh.git

$> cd parallel-ssh

$> sudo python setup.py install

测试运行,

$> pssh

Usage: pssh [OPTIONS] -h hosts.txt command [...]

pssh: error: Command not specified.


*) 在远程服务器上安装openmpi

$> pssh -h yourservs.txt "yum install openmpi"

$> pssh -h yourservs.txt "ls -lh /usr/bin/mpirun"

如果能正常显示文件信息,则相关包安装完毕。

5、工具演示

psat: parrall stress auto tool

使用方法:

psat [ -h hostfile ] [ exec_file | cmd ]



原文: http://qtchina.tk/?q=node/675

Powered by zexport