使用http_load测试squid代理

HTTP_LOAD是一款简易的HTTP流量生成工具,或者说是HTTP客户端测试软件。我们可以用它来向目标WEB服务器发送指定的HTTP请求,而且它可以指定HTTP请求发送的频率或者时间长度,并且支持代理。

一、http_load下载:
http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz

二、http_load安装:

  1. 将下载的tgz包,解压缩得到http_load-12mar2006目录
  2. 进入http_load-12mar2006目录,打开终端输入命令
make
  1. 编译完成后,会生成http_load可执行文件,可以直接使用,当然也可以输入命令
sudo make install

也就是将可执行文件、帮助文件放在应该的位置

三、http_load测试:

  1. http_load的参数格式

  2. 参数介绍
    -parallel 并发的用户进程数 简写 -p
    -fetches 总计发送多少请求 简写 -f
    -rate 每秒发送多少次请求 简写 -r
    -seconds 总计发送请求的时间 简写 -s
    -p -r 只能使用其中的一个,-f -s 也是只能使用其中一个
    url_file 是自己创建的,是每行一个url,并将url_file的路径告诉http_load

  3. 一个范例


    自己没有执行 make install,直接使用make 好的 可执行文件,
    urls.txt 中有一个链接,路径和http_load在一起,所以使用的相对路径;如果执行了make install 使用http_load 的话,可以给出绝对路径
    如果需要可以通过 -proxy host:port 来指定代理服务器,host 是 代理服务器的ip 或者 主机名;port 是 代理服务器的端口,比如 3128等等

  4. 结果分析
    如上图
    50 fetches, 10 max parallel, 222300 bytes, in 31.8851 seconds
    ###总共发送请求50次,最大并发10个,传输的总数据222300 bytes,历时31.8851秒
    4446 mean bytes/connection
    ###每个连接平均传输的数据量 222300/50 = 4446
    1.56813 fetches/sec,6971.91 bytes/sec
    ###平均每秒响应的请求 1.56813,平均每秒传输的数据量 6971.91
    msecs/connect: 1375.97 mean,5679.91 max,291.871 min
    ###每个连接的平均响应时间 1375.97,最大响应时间 5679.91,最小响应时间 291.871
    msecs/first-response: 4639.73 mean, 5970.62 max, 1191.76 min
    ###不清楚
    HTTP response codes:
    code 200 – 50
    ###请求成功:50次

http_load 也支持对https的测试不过需要修改源码中的Makefile文件
由于使用到了openssl,所以需要安装两个包


找到ssl的头文件路径

下面就可以更改Makefile文件
原本的Makefile文件:

去掉 12 13 14 15 行的注释,并根据找到的上面找到的ssl.h文件的路径更改 12行,我的ssl.h在/usr/include/openssl/下,所以12行改为 /usr

还有第23行,后边添加 -rdynamic -ldl,之后就可以使用make编译
编译后生成http_load可执行文件,在当前目录下创建url文件
我的urls.txt:

测试:

50次请求 成功