香港CN2物理服务器通常指托管在香港节点、联通CN2优质骨干网络的物理独立主机。性能测试时要关注的核心指标包括:网络带宽与抖动(带宽、延迟、丢包、抖动)、CPU性能(单线程与多线程)、内存带宽与延迟、磁盘IO(顺序与随机读写、IOPS、延迟)、系统稳定性(长时间负载)、以及并发连接数与吞吐量。
在实际评估中,网络指标对海外连接体验尤为关键,尤其是对CN2链路的路由路径、BGP可达性和丢包率要单独记录。若用于虚拟化或容器部署,还需测量虚拟化开销与中断处理性能。
网络:带宽、RTT、丢包、抖动;CPU:单核性能与多核扩展;磁盘:顺序吞吐与随机IOPS;内存:带宽与延迟;稳定性:长时间负载下的资源变化。
对于Web/游戏服务器优先网络与延迟;数据库或文件存储优先磁盘IO与内存;计算型任务优先CPU与缓存性能。
测试前记录硬件型号、BIOS/固件、内核版本与网络拓扑,以便复现与对比。
准备阶段包括环境隔离、基线快照、时间同步与工具安装。建议在空闲时间或维护窗口执行测试,先关闭非必要服务(监控、备份、定时任务),并确保测试网络通道独占或记录背景流量。
实现可复现性的关键步骤:固定操作系统版本与内核参数、记录驱动与固件、使用相同测试脚本并保存测试日志、做多次跑测取平均值与方差。
1) 记录硬件与网络拓扑;2) 关闭背景服务;3) 使用NTP同步时间;4) 启用性能相关的内核参数并记录;5) 规划样本次数(最少3次);6) 使用专用测试工具并保存原始输出。
内核参数示例:tcp_tw_reuse、tcp_fin_timeout、net.core.somaxconn 等需根据测试场景调整并记录。
在物理服务器上做磁盘测试前建议清理缓存:echo 3 > /proc/sys/vm/drop_caches (注意生产环境谨慎使用)。
网络测试常用工具:iperf3、ntttcp、mtr、ping、traceroute、tcptraceroute;磁盘与文件系统测试:fio、dd、bonnie++;CPU/内存测试:sysbench、stress-ng、lmbench、perf;综合基准:unixbench、Phoronix Test Suite。
iperf3:iperf3 -c server_ip -t 60 -P 4 -R 用于测量双向吞吐与多连接并发;mtr server_ip 用于连续测量每跳丢包与延迟;ping -c 100 server_ip 用于统计RTT分布与丢包。
fio示例:fio --name=randrw --rw=randrw --size=10G --runtime=300 --ioengine=libaio --bs=4k --numjobs=8 --iodepth=32,可测随机读写IOPS与延迟分布;顺序吞吐:fio --name=seqrw --rw=readwrite --bs=1m。
sysbench CPU:sysbench --test=cpu --cpu-max-prime=20000 run;内存:sysbench --test=memory --memory-block-size=1M --memory-total-size=10G run。
基准场景应覆盖典型业务的负载模式并包含峰值测试、稳定性测试与恢复测试。设计时分为准生产复制场景与极限压力场景两类。每个场景需定义输入流量、并发连接、请求大小、持续时间与期望SLA。
数据采集策略应同步采集系统指标(CPU、MEM、IO、NET)、应用层日志与网络抓包(tcpdump)。使用时间序列工具(Prometheus+Grafana)记录指标,并保存测试时段的sar、iostat、vmstat输出用于后续详细分析。
1) 常规访问:并发100,持续30分钟,记录平均延迟与95th/99th分位;2) 峰值冲击:并发10000,持续5分钟,观察丢包与系统崩溃点;3) IO极限:并发写入至磁盘队列饱和,记录IOPS与响应时间。
同一场景至少运行3〜5次,取中位数与方差,关注95th/99th分位而非仅平均值。对于网络延迟,绘制CDF曲线更直观。
基准报告应包含原始数据、可复现脚本、环境清单和变更记录,便于回溯。
分析流程先从瓶颈定位入手:CPU、内存、磁盘或网络哪一项达到临界阈值。若CPU负载高但系统IO低,说明计算瓶颈;若磁盘延迟飙升则关注文件系统、调度器与存储阵列;若网络丢包或延迟高,查看链路质量、MTU、队列管理(fq_codel、cake)和BGP路由。
针对性优化示例:网络层可调整TCP窗口、开启BBR拥塞控制、优化MTU或使用多路径负载;磁盘层可改用合适的调度器(noop、deadline)、调整IO深度、使用RAID或NVMe替代SATA;系统层可调内核参数、开启HugePages、优化中断亲和性(irqbalance/手动绑定)。
1) 网络延迟敏感类优先优化链路与TCP参数;2) 存储密集型优先优化IOPS与缓存策略;3) 计算密集型通过算法与并行化优化CPU利用率。
开启BBR:modprobe tcp_bbr && echo "bbr" > /etc/modules-load.d/bbr.conf 并在sysctl中设置 net.ipv4.tcp_congestion_control=bbr;调整net.core.rmem_max/wmem_max和tcp_rmem/tcp_wmem以支持大带宽高延迟链路。
优化后务必重新跑通相同基准并对比改动前后的95th/99th延迟和IOPS变化,确保优化带来实际提升且无副作用。