模拟高并发场景工具:siege

1.模拟高并发场景

1.1 安装工具:siege

wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -zxvf siege-latest.tar.gz
cd siege-4.0.8
./configure
make
make install

1.2 模拟高并发场景

  1. 创建一个包含url请求的文件

这里的url例子是作者自己创建的本地服务,读者根据实际情况自行修改。

url.txt
http://localhost:8001/hi?name=text
http://localhost:8001/testValue
  1. 使用siege发起请求
siege -c 10 -r 100 -f url.txt

# -c 并发量
# -r 重复次数
# -f 存放请求url的文件

# 执行效果如下:
{	"transactions":			            2000,   # 已完成的事务总数
	"availability":			          100.00,   # 请求成功率
	"elapsed_time":			            0.83,   # 总消耗时间
	"data_transferred":		            0.03,   # 响应数据的总大小
	"response_time":		            0.01,   # 响应时间
	"transaction_rate":		         2409.64,   # 平均每秒完成的事务数量
	"throughput":			            0.03,   # 平均每秒传送的数据量
	"concurrency":			           19.69,   # 实际最高并发链接数
	"successful_transactions":	        2000,   # 成功的事务总数
	"failed_transactions":		           0,   # 失败的事务总数
	"longest_transaction":		        0.06,   # 最长的事务处理时间
	"shortest_transaction":		        0.00    # 最短的事务处理时间
}

使用-f的方式,可以请求多个接口,如果只有一个接口,也可以直接url,如下:

siege -c 10 -r 100 http://localhost:8001/hi?name=text

1.3 提高并发量至“部分请求失败”的程度

# 将并发量设置为200
siege -c 200 -r 100 -f url.txt

# 请求结果如下:
[error] socket: read error Connection reset by peer sock.c:635: Connection reset by peer
[error] unable to write to socket sock.c:733: Broken pipe
[error] unable to write to socket sock.c:733: Broken pipe
[error] unable to write to socket sock.c:733: Broken pipe
... ...
[error] socket: read error Connection reset by peer sock.c:635: Connection reset by peer
[error] unable to write to socket sock.c:733: Broken pipe

{	"transactions":			        9278,
	"availability":			       89.89,
	"elapsed_time":			        9.18,
	"data_transferred":		        0.13,
	"response_time":		        0.14,
	"transaction_rate":		     1010.68,
	"throughput":			        0.01,
	"concurrency":			      143.67,
	"successful_transactions":	        9278,
	"failed_transactions":		        1044,
	"longest_transaction":		        0.73,
	"shortest_transaction":		        0.00
}

由上面的数据可以看出,当并发量为200的时候,当前服务就已经无法承载,导致部分请求失败.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值