压力测试http_load 通过修改配置测试https协议成功了。

来源:互联网 发布:天金加银软件最新版本 编辑:程序博客网 时间:2024/05/01 18:36

到http://www.acme.com/software/http_load/ 下载http_load ,安装也很简单直接make;make instlall 就行。

如果你需要测试https,你必须将 Makefile中
# CONFIGURE: If you want to compile in support for https, uncomment these
# definitions.  You will need to have already built OpenSSL, available at
# http://www.openssl.org/  Make sure the SSL_TREE definition points to the
# tree with your OpenSSL installation - depending on how you installed it,
# it may be in /usr/local instead of /usr/local/ssl.
SSL_TREE =    /usr
SSL_DEFS =    -DUSE_SSL
SSL_INC =    -I$(SSL_TREE)/include
SSL_LIBS =    -L$(SSL_TREE)/lib -lssl -lcrypto

由于使用到openssl,你必须安装openssl和相应的开发环境

apt-get install openssl
apt-get install libssl-dev

find -name ssl.h
/usr/include/openssl/ssl.h

所以上面红色字体部分必须修改

http_load 是支持 https 的,但是Makefile 要作些修改(具体看Makefile的注释),修改后可能会报链接错误,提示ssl 找不到 dlopen 等。

此时,需要继续修改Makefile

LDFLAGS =  -s $(SSL_LIBS) $(SYSV_LIBS)

改为

LDFLAGS =    -s $(SSL_LIBS) $(SYSV_LIBS) -rdynamic -ldl

如果使用dl*函数,需要-ldl


我们把参数给大家简单说明一下。-parallel简写-p含义是并发的用户进程数。

-fetches 简写-f含义是总计的访问次数

-rate    简写-p含义是每秒的访问频率

-seconds简写-s含义是总计的访问时间


urls.txt 是一个url 列表,每个url 单独的一行。当然也可以直接跟一个url 而不是url 列表文件。
实例:
  1. http_load -rate 5 -seconds 10 urls  
  2. 49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds  
  3. 5916 mean bytes/connection  
  4. 4.89274 fetches/sec, 28945.5 bytes/sec  
  5. msecs/connect: 28.8932 mean, 44.243 max, 24.488 min  
  6. msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min  
  7. HTTP response codes:  
  8.   code 200 -- 49  
 分析:
1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
说明在上面的测试中运行了49个请求,最大的并发进程数是2,总计传输的数据是289884bytes,运行的时间是10.0148秒

2.5916 mean bytes/connection
说明每一连接平均传输的数据量289884/49=5916

3.4.89274 fetches/sec, 28945.5 bytes/sec
说明每秒的响应请求为4.89274,每秒传递的数据为28945.5 bytes/sec

4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
说明每连接的平均响应时间是28.8932 msecs,最大的响应时间44.243 msecs,最小的响应时间24.488 msecs

5.msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min

 6、HTTP response codes: code 200 -- 49
说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。
特殊说明:这里,我们一般会关注到的指标是fetches/sec、msecs/connect
他们分别对应的常用性能指标参数Qpt-每秒响应用户数和response time,每连接响应用户时间。测试的结果主要也是看这两个值。当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu、men进行分析,才能得出结论

Sample run:

% ./http_load -rate 5 -seconds 10 urls49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds5916 mean bytes/connection4.89274 fetches/sec, 28945.5 bytes/secmsecs/connect: 28.8932 mean, 44.243 max, 24.488 minmsecs/first-response: 63.5362 mean, 81.624 max, 57.803 minHTTP response codes:  code 200 -- 49


原创粉丝点击