使用sproxy录制siege压力测试URL

openkk 12年前

本文只介紹sproxy的安裝過程,至於sproxy和siege的具體用法,請參考網絡上相關資料。

siege是一款压力测试工具,我們在一个文本文件写上要测试的URL,siege会访问这些路径模拟客户端浏览器进行测试。
但有个问题,我们知道一个web地址还引用很多js,css,img,但siege不會訪問這些引用的資源。而sproxy就可以录制这些文件,原理是sproxy启动一个http代理。浏览器把代理服务器指定为sproxy监听的地址。这样浏览器请求的所有资源都会被sproxy记录下来。

下面记录安装时出现的问题以及解决方法,以CentOS为例

下载地址:http://www.joedog.org/pub/sproxy/

./configure一切正常

make 报错:

Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 9.

BEGIN failed--compilation aborted at Makefile.PL line 9.
make[1]: *** [MODULES] Error 2
make[1]: Leaving directory `/data/sproxy-1.02/lib'
make: *** [all-recursive] Error 1

解决方法是

yum install openssl-devel perl-CPAN

接着make ,make install一切正常!

启动,直接输入sproxy命令

SPROXY v1.02 listening on port 9001
...appending HTTP requests to: /home/***/urls.txt
...default connection timeout: 120 seconds

启动成功。

接下来把浏览器的代理设置为:127.0.0.1:9001
访问任意网址,瀏覽器打印出錯誤信息,大意是“Can't locate HTML/HeadParser.pm”
解决方法:
yum install perl-HTML-TokeParser-Simple


刷新浏览器,就可以看到正常的網頁了,/home/***/urls.txt文件也有内容了。