1.
概述:确认测试对象(台湾拨号VPS或云空间实例)与测试机(压力机)位置关系。小分段:1) 准备两台或更多测试机,一台在本地或其他地区做客户端;2) 确认VPS系统镜像(建议 Ubuntu/CentOS),关闭不必要服务;3) 获取管理员权限、开放防火墙端口(80/443/应用端口)、确保外网出入带宽配额清楚。
2.
步骤:在目标VPS上安装Web服务与应用堆栈。小分段:1) 安装Nginx:apt install nginx 或 yum install nginx;2) 部署测试应用:静态HTML、简单动态(PHP/Node)与数据库(MySQL/MariaDB);3) 开启监控工具:apt install htop iftop sysstat iotop;4) 在压力机上安装 wrk/k6/ab/iperf3:apt install wrk iperf3 或通过源码/二进制安装最新版。
3.
要点:明确测试目标与衡量指标。小分段:1) 指标包括TPS/RPS、响应时间P50/P90/P95/P99、错误率、CPU/内存/磁盘IO/网络利用率;2) 场景包括:静态小文件、高并发动态请求、数据库写入压力、长连接/短连接;3) 设计阶梯并发(如 50/200/500/1000 并发)、每级持续时间(60-300s),以及恒定/突增测试。
4.
命令示例与解释。小分段:1) 使用 iperf3 测试原始带宽:服务器运行 iperf3 -s,客户端 iperf3 -c
5.
wrk 快速示例:小分段:1) 编译/安装 wrk;2) 静态测试命令示例:wrk -t12 -c400 -d60s --latency http://
6.
工具与采集项。小分段:1) 在VPS上同时运行 top/htop、iostat -xz 1、sar -n DEV 1;2) 使用 netstat/ss 查看半开连接:ss -s;3) 若有Prometheus+Grafana,部署node_exporter与nginx exporter,实时查看CPU、内存、net、disk、conn数与响应时间曲线;4) 在压力机上记录客户端吞吐与延迟分位数。
7.
如何判断并定位问题。小分段:1) 若CPU持续高于80%且负载高,优先优化应用代码或升级CPU;2) 若网络带宽到达上限或出现丢包,联系厂商或限流;3) 若大量TIME_WAIT或SYN_RECV,检查TCP参数与应用短连接策略;4) 若磁盘IO高,考虑使用SSD、调整innodb_buffer_pool_size或缓存静态内容到内存。
8.
推荐设置与说明。小分段:1) ulimit -n 65536 并在 /etc/security/limits.conf 持久化;2) sysctl 调优示例:net.core.somaxconn=65535; net.ipv4.tcp_tw_reuse=1; net.ipv4.tcp_fin_timeout=30; net.core.netdev_max_backlog=250000;3) Nginx:worker_processes auto; worker_connections 65535; keepalive_timeout 15;4) PHP-FPM/DB 连接池配置按并发合理设置。
9.
输出结论与建议。小分段:1) 按不同配置复测并比较RPS与P99延迟;2) 记录可接受阈值与达到阈值的配置点(例如:并发500时RPS稳定2000,P99<500ms);3) 在报告中列出瓶颈、优化项、是否需要更换实例规格或增加CDN/负载均衡;4) 提供复现命令与环境清单,便于后续验证。
10.
常见瓶颈包括出口带宽与ISP限速、TCP连接数/短连接导致的大量TIME_WAIT、以及VPS实例IO或CPU资源不足。定位时结合 iperf3、ss、iostat 与应用错误码来确认来源,优先分离网络与主机瓶颈。
11.
优先级建议:开启HTTP keepalive、增加文件描述符上限、调整Nginx worker_connections、启用缓存(nginx proxy_cache 或内存缓存)、将静态内容交给CDN,短期内这些改动通常能显著降低连接建立开销并提升RPS。
12.
先立即停止压力机流量,确认服务是否可访问并检查系统日志(/var/log/syslog、nginx/error.log、dmesg)。逐步恢复:1) 恢复关键服务并验收;2) 降低并发重新跑小规模验证;3) 记录触发点并在隔离环境复现后修正配置或扩容,避免直接在生产上做大规模压测。