linux系统针对https使用apache ab压力测试出现 ssl read fail,且吞吐量剧降的问题

linux系统针对https使用apache ab压力测试出现 ssl read fail,且吞吐量剧降的问题,第1张

您这个问的已经非常专业,目前市面上主流的SSL证书采用的证书密钥交换算法是RSA非对称算法2048位,其实在1024位的时候当访问量增加的时候就已经影响到服务器的访问速度,为了不让链接中断,系统只能降低吞吐量,后来1024位的根证书不安全,国际组织强行要求各大CA机构颁发RSA 2048位的根证书,基于影响运算速度的问题了,行业内的龙头老大Symantec公司旗下的VeriSign便研发了支持ECC 256位的根证书,其安全性等于RSA 3016位的根证书,运算速度却可以提高一倍。此外还与您服务器上布署的SSL连接加密有关,目前市面主流的采用RC4 128位,AES 128位和AES 256位,加密位数高,安全性是会提高一些,但也会影响处理效率。在您服务器的处理能力与安全性上折中一下,个人认为,128位的连接加密目前还是很安全的。

介绍个http_load压力测试工具,http_load,类似的工具还有webbench、ab、Siege。

1、下载

官方网站:

复制代码

代码如下:

cd /root

wget http_load-12mar2006.tar.gz

tar xzf http_load-12mar2006.tar.gz

2、安装

复制代码

代码如下:

cd http_load-12mar2006

make

执行完make,会在当前目录生成一个http_load二进制文件。

3、使用方法

复制代码

代码如下:

root@www:~/http_load-12mar2006# ./http_load --help

usage: ./http_load [-checksum] [-throttle] [-proxy host:port] [-verbose] [-timeout secs] [-sip sip_file]

-parallel N | -rate N [-jitter]

-fetches N | -seconds N

url_file

One start specifier, either -parallel or -rate, is required.

One end specifier, either -fetches or -seconds, is required.

主要参数说明:

-parallel 简写-p :含义是并发的用户进程数。

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

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

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

选择参数时,-parallel和-rate选其中一个,-fetches和-seconds选其中一个。

示例:

http_load -parallel 50 -s 10 urls.txt

这段命令行是同时使用50个进程,随机访问urls.txt中的网址列表,总共访问10秒。

http_load -rate 50 -f 5000 urls.txt

每秒请求50次,总共请求5000次停止。

4、基本的返回值

(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进行分析,才能得出结论

5、如果你需要测试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

# 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


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/545331.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-27
下一篇2023-06-27

发表评论

登录后才能评论

评论列表(0条)

    保存