Linux性能优化实战 36:网络性能测试方法

本文详细介绍Linux环境下网络性能测试方法,涵盖HTTP、TCP/UDP及PPS转发性能测试,对比多种工具如ab、iperf、hping3、pktgen等,深入分析网络基准测试原理与实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、网络基准测试

      Linux 网络基于 TCP/IP 协议栈,而不同协议层的行为显然不同。

      评估的网络性能,需要确定评估协议栈的哪一层。

1. 基于 HTTP 或者 HTTPS 的 Web 应用程序,属于应用层,应该测试 HTTP/HTTPS 的性能;

2. 对大多数游戏服务器来说,通常会基于 TCP 或 UDP ,与客户端进行交互,应该测试TCP/UDP 的性能;

3. 把 Linux 作为一个软交换机或者路由器来用的,更关注网络包的处理能力(即 PPS),应该测试网络层的转发性能;

 

二、各层测试说明

1. HTTP 性能测试

    服务端运行nginx

    客户端运行ab命令 ( webbench 工具也是可以的)

    

    重点数据:

    (1) Requests per second 为 1074;

    (2) 每个请求的延迟(Time per request)分为两行,

         第一行的 927 ms 表示平均延迟,包括了线程运行的调度时间和网络请求响应时间。

         下一行的 0.927ms ,则表示实际请求的响应时间。

    (3) Transfer rate 表示吞吐量(BPS)为 890 KB/s。

2. TCP/UDP 性能测试

     iperf 和 netperf 都是最常用的网络性能测试工具,测试 TCP 和 UDP 的吞吐量。

      它们都以客户端和服务器通信的方式,测试一段时间内的平均吞吐量。

     服务端运行:

     

      客户端运行:

      

      稍等一会儿(15 秒)测试结束后,回到目标服务器,查看 iperf 的报告:

      

3. PPS 转发性能性能测试

(1) hping3

(2) pktgen : Linux 内核自带的高性能网络测试工具

     具体查看原帖: https://mp.weixin.qq.com/s/BS6gdbWSZ_dD14VoXSnjeA

    

     测试结果为PPS 为 12 万,吞吐量为 61 Mb/s。

     千兆交换机的 PPS,也可以达到 150 万 PPS,比这里测试得到的 12 万大多了。

 

三、应用负载性能

 1. 得到 TCP、HTTP 等的性能数据后,不能 表示应用程序的实际性能。

     因为用户请求会附带着各种各种的负载,而这些负载会影响 Web 应用程序内部的处理逻辑,从而影响最终性能。

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

3. 性能工具本身的性能,对性能测试也是至关重要的。

    不合适的性能工具,并不能准确测出应用程序的最佳性能。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值