测试服务器并发量和承载力(压力测试)

服务器压力测试工具

你可以使用任何基准测试工具来验证这个应用的性能,不过我们使用最最最优秀的Siege utility工具进行测试。

首先你需要一个linux系统

安装siege工具 代码如下:

切换到linux系统超级用户
root@ssk:~# apt-get install siege

开始进行压力测试

现在项目在window电脑上,那来查看一下window电脑上的ip:

测试服务器并发量和承载力(压力测试)_第1张图片

测试“/”路由:

siege对我们的应用在十秒内执行十个并发请求。
在这里插入图片描述
上图地址是我的本地服务器网站地址
-c参数为并发数 也就是同时多少个用户向目标服务器发送请求
-t 参数为连续测试时间不加秒数则是默认为分钟

其他详细参数:
-c,或–config 在屏幕上打印显示出当前的配置,配置是包括在他的配置文件HOME/.siegerc
-f FILE, –file=FILE 指定用特定的urls文件运行siege ,默认为urls.txt,位于siege 安装目录下的etc/urls.txt
-u URL,–url=URL 测试指定的一个URL,对它进行”siege “,此选项会忽略有关urls文件的设定
-b 进行压力测试,不进行延时。
-A, —user-agent=”text” 设置请求的User-Agent

测试中过一会就会程序内出现报错:测试服务器并发量和承载力(压力测试)_第2张图片

siegerc设定档说明:

verbose :要不要显示过程。
display-id :显示过程的时候,要不要显示模拟user的id
show-logfile :跑完之后要不要显示log资讯
logging :要不要log到档案
logfile :要log到档案的话,档名是什么
protocol :HTTP通讯协定( HTTP/1.1或HTTP/1.0 两者择一)
connection :keep-alive表示模拟成persistent connection(写close则反之)
concurrent :模拟有几个user来冲
time :跑多久之后停止( H=hours, M=minutes, S=seconds)
reps :每一个concurrent冲几次。
file :多个目的url情形下的url档案位置。
url :单一url情形下的指定url
delay :非benchmakr行况下,每个模拟user随机延迟0到这个数字(单位:秒)。
timeout :socket connection timeout(单位:秒)。
failures :socket失败次数(timeouts, connection failures)到达这个数字就停下来。
internet :随机从urls.txt抓出url,否则从urls.txt循序。
benchmark :跑benchmark模式的话,siege将不会在每个connection间delay,适合拿来做load testing.
user-agent :送出的agent识别
login :WWW-Authenticate login( login = jdfulmer:topsecret:Admin )(非form based)
username,password :也是login用的(非form based)
Login URL :每一个模拟user都必需经过的第一个login url( form based)
proxy-host,proxy-port,proxy-login :使用proxy的话要填这个。(proxy-login: jeff:secret:corporate)
follow-location :redirection support
zero-data-ok :接不接受zero-length data
chunked :HTTP/1.1需要chunked encoding

输出名称 解释说明

测试服务器并发量和承载力(压力测试)_第3张图片
Transactions: 访问次数
Availability: 成功次数
Elapsed time: 测试用时
Data transferred: 测试传输数据量
Response time: 平均响应时间
Transaction rate: 每秒事务处理量
Throughput: 吞吐率
Concurrency: 并发用户数
Successful transactions: 成功传输次数
Failed transactions: 失败传输次数
Longest transaction: 最长响应时间
Shortest transaction: 最短响应时间

总结:

Siege对我们的应用在10秒内执行大约10个并发请求,当一两个请求时这还不是一个问题,但达到100个(甚至10个)用户时,这意味着整体变慢。

你可能感兴趣的:(我的发布)