1.性能指标

  • 带宽,表示链路的最大传输速率,单位是 b/s
  • 吞吐量,表示没有丢包时的最大数据传输速率,单位通常为 b/s
  • 延时,表示从网络请求发出后,一直到收到远端响应,所需要的时间延迟。
  • PPS,表示以网络包为单位的传输速率

2.网络基准测试

2.各协议层的性能测试

2.1 转发性能

  • 目的:pps
  • 工具:pktgen

2.2 TCP/UDP性能

  • 目的:测试TCP和UDP的吞吐量
  • 工具:iperf3

步骤1.安装iperf3

1
2
# Ubuntu
$ apt-get install iperf3

步骤2. 在目标服务器运行

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

步骤3. 另一台机器运行

1
2
3
4
5
# -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

步骤4.一段时间,观察目标服务器

1
2
3
4
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-8.32   sec   988 MBytes   996 Mbits/sec                  receiver
[  8]   0.00-8.32   sec   988 MBytes   996 Mbits/sec                  receiver
[SUM]   0.00-8.32   sec  1.93 GBytes  1.99 Gbits/sec                  receiver

分析:这台机子接收的带宽(吞吐量)为1.93 GBytes ,目标的带宽1.99 Gbits/sec

2.3 HTTP性能

  • 工具:ab(Apache自带的HTTP压测工具)、webbench
  • 目标:测试 HTTP 服 务的每秒请求数、请求延迟、吞吐量以及请求延迟的分布情况等。

步骤1. 安装ab工具

1
$ apt-get install -y apache2-utils

步骤2.再另一台机器上测试目标主机的nginx性能

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

2.4 应用负载性能

工具:wrk、TCPCopy、Jmeter