测算linux单机参数

参考 : http://zjumty.iteye.com/blog/2221040

1.测算单机最大带宽

ethtool eth0

2.监控流量

nethogs: 按进程查看流量占用
iptraf: 按连接/端口查看流量
ifstat: 按设备查看流量
ethtool: 诊断工具
tcpdump: 抓包工具
ss: 连接查看工具
其他: dstat, slurm, nload, bmon

3.使用wrk测试qps

安装

apt-get install libssl-dev git
git clone https://github.com/wg/wrk

make

./wrk -v  查看版本

模拟post请求,编写post数据 post.lua

-- example HTTP POST script which demonstrates setting the
-- HTTP method, body, and adding a header
wrk.method = "POST"
wrk.body   = "kXY+bkCcOFKgByuHz/H7BsLDelTtllzZp0HMYH5z7lb5sB0o9/yy4FixwhfFntFs129zh5g9/vyw\
7gWoRtk1vF03K0pxUWuZq+Hv69moyyOs5me7pI1lxMSw76e4M8yq/MmVKSIN1c8pZnhIUkYhOIuo\
y8OXTC7fySmuSIuNXBmMl7hKipUO1Yfe"
wrk.headers["Content-Type"] = "text/plain"

或者

wrk.method = "POST"
wrk.body   = "foo=bar&baz=quux"
wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"

发送测试请求

wrk 默认超时时间是1秒. 这个有点短. 一般设置为30秒. 看上去合理一点.

 ./wrk -t8 -c10000 -d30s -T30s --script=post.lua --latency http://127.0.0.1:12005/api/events

-t : 一般线程数不宜过多. 核数的2到4倍足够了。
-c : 使用进程模拟的连接数量。
-d : 在给定的时间范围内。s:秒;m:分
-T : 默认超时时间是1s

测试结果

Running 30s test @ http://www.bing.com (压测时间30s)
  8 threads and 200 connections (共8个测试线程,200个连接)
  Thread Stats   Avg      Stdev     Max   +/- Stdev
              (平均值) (标准差)(最大值)(正负一个标准差所占比例)
    Latency    46.67ms  215.38ms   1.67s    95.59%
    (延迟)
    Req/Sec     7.91k     1.15k   10.26k    70.77%
    (处理中的请求数)
  Latency Distribution (延迟分布)
     50%    2.93ms
     75%    3.78ms
     90%    4.73ms
     99%    1.35s (99分位的延迟)
  1790465 requests in 30.01s, 684.08MB read (30.01秒内共处理完成了1790465个请求,读取了684.08MB数据)
Requests/sec:  59658.29 (平均每秒处理完成59658.29个请求)
Transfer/sec:     22.79MB (平均每秒读取数据22.79MB)
时间越长样本越准确. 如果想测试系统的持续抗压能力, 采用 loadrunner 这样的专业测试工具会更好一点. 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值