【Linux 性能优化系列】Linux 性能优化 -- 网络性能篇(一) 各协议层性能测试

【Linux 性能优化系列】Linux 性能优化 -- 网络性能篇(一) 各协议层性能测试

【1】TCP/UDP 性能

iperf 安装

# Ubuntu
sudo apt-get install iperf3
# CentOS
sudo yum install iperf3

【1.1】TCP 性能测试

iperf 命令 -- TCP

TCP 性能测试

服务端
# -s表示启动服务端,-i表示汇报间隔,-p表示监听端口
$ iperf3 -s -i 1 -p 10000

客户端
# -c表示启动客户端,192.168.0.30为目标服务器的IP
# -b表示目标带宽(单位是bits/s)
# -t表示测试时间
# -P表示并发数,-p表示目标服务器监听端口
$ iperf3 -c 192.168.0.30 -b 1G -t 15 -P 2 -p 10000

iperf 测试结果 -- TCP

服务端

客户端

【1.2】UDP 性能测试

iperf 命令 -- UDP

UDP 性能测试

服务端
# -s表示启动服务端,-i表示汇报间隔,-p表示监听端口
$ iperf3 -s -i 1 -p 10000

客户端
# -c表示启动客户端,192.168.0.30为目标服务器的IP
# -u表示UDP协议
# -b表示目标带宽(单位是bits/s)
# -t表示测试时间
# -P表示并发数,-p表示目标服务器监听端口
$ iperf3 -c 192.168.0.30 -u -b 10M -t 15 -P 2 -p 10000

iperf 测试结果 -- UDP

服务端

客户端

【2】HTTP 测试

ab 命令

ab 是 Apache 自带的 HTTP 压测工具,主要测试 HTTP 服务的每秒请求数、请求延迟、吞吐量以及请求延迟的分布情况等;

ab 安装

# Ubuntu
$ sudo apt-get install -y apache2-utils
# CentOS
$ sudo yum install -y httpd-tools

使用 ab 测试 nginx 性能

# -c表示并发请求数为1000,-n表示总的请求数为10000
ab -c 1000 -n 10000 http://172.16.3.50/

  • ab 的测试结果分为请求汇总、连接时间汇总、请求延迟汇总
    • 请求汇总
      • Requests per second 为 18940.72;
      • 每个请求的延迟 (Time per request) 分为两行
        • 第一行的 52.796 ms 表示平均延迟,包括了线程运行的调度时间和网络请求响应时间
        • 第二行的 0.053 ms 则表示实际请求的响应时间
      • Transfer rate 表示吞吐量 (BPS) 为 15629.79 KB/s
    • 连接时间汇总分别展示了建立连接、请求、等待以及汇总等的各类时间,包括最小、最大、平均以及中值处理时间
    • 请求延迟汇总展示不同时间段内处理请求的百分比,比如 90% 的请求都可以在 145 ms 内完成

【3】应用负载性能

wrk 命令

wrk 是 HTTP 性能测试工具,内置 LuaJIT 方便根据实际需求,生成所需的请求负载,或者自定义响应的处理方法;

wrk 编译安装

下载路径
https://github.com/wg/wrk
解压
sudo unzip wrk-master.zip
进入目录
cd ./wrk-master
编译安装
apt-get install build-essential -y
make
sudo cp wrk /usr/local/bin/

使用 wrk 测试 nginx

# -c表示并发连接数1000,-t表示线程数为2
wrk -c 1000 -t 2 http://172.16.3.50/

  • 使用 2 个线程、并发 1000 连接,重新测试了 Nginx 的性能,可以看到,每秒请求数为 25717,吞吐量为 20.85 MB,平均延迟为 181.77 ms;

wrk 最大的优势是其内置的 LuaJIT,可以用来实现复杂场景的性能测试;wrk 在调用 Lua 脚本时,可以将 HTTP 请求分为三个阶段,即 setup、running、done;

参考致谢

本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。

【1】极客时间 -- Linux 性能优化实战

【2】iperf3常用命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值