在开始前先评估流量来源与计费方式。步骤:1) 查看主机商计费规则(按峰值/按流量/按95带宽计费);2) 导出近3个月流量账单或使用控制面板查看日流量;3) 标注高峰时段与大流量接口(如备份、视频、镜像)。有了基础数据才能制定精确限流和优化措施。
2.推荐工具:vnStat、iftop、nethogs。实操:1) apt/ yum 安装:sudo apt install vnstat iftop nethogs;2) 初始化 vnstat:sudo vnstat -u -i eth0(替换网卡名),等待收集数据;3) 实时查看:vnstat -m(按月)、vnstat -d(按日)、sudo iftop -i eth0 查看实时流量峰值,nethogs 查看哪个进程占带宽。
3.若需快速限速:1) 安装:sudo apt install wondershaper;2) 设置总带宽:sudo wondershaper eth0 1024 512 (下载1024kbps,上传512kbps);3) 取消限制:sudo wondershaper clear eth0。优点:易用;缺点:精细化控制有限,仅适合简单场景。
4.步骤示例:1) 清除旧规则:sudo tc qdisc del dev eth0 root || true;2) 添加 HTB 主队列:sudo tc qdisc add dev eth0 root handle 1: htb default 30;3) 创建类:sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 10mbit ceil 10mbit;sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 5mbit ceil 10mbit;4) 用 filter 按 IP/端口分配:sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 1.2.3.4/32 flowid 1:10。说明:按实际网卡名与业务 IP 调整。
5.具体配置:1) 开启 gzip/Brotli:在 nginx.conf 加入 gzip on; gzip_types text/plain ... 或使用 brotli 模块;2) 静态资源缓存:location /static { expires 30d; add_header Cache-Control "public"; };3) 限制并发与连接:limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn addr 10;4) 减少动态请求:使用页面缓存或 Varnish。
6.步骤建议:1) 将静态资源交给 CDN(Cloudflare、阿里云 CDN)减轻原站流量;2) 仅对必要路径启用回源,设置缓存规则与缓存清理策略;3) 备份在低峰(cron 定时在凌晨),并启用增量备份,压缩备份文件(tar + gzip),避免峰值小时上传大量数据。
7.答:使用 vnStat。命令:vnstat -m 输出按月流量,vnstat -i eth0 --oneline 可脚本化抓取;如需 CSV:vnstat --csvdbexport > vnstat.csv。结合 crontab 每天导出并保存,便能统计成本与预警。
8.答:用 tc + u32 filter。示例:sudo tc qdisc add dev eth0 root handle 1: htb default 30;sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit;sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 2mbit ceil 5mbit;sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 5.6.7.8/32 flowid 1:10(将源 IP 5.6.7.8 限速至 2-5mbit)。调整 IP、网卡和速率即可。
9.答:通常能显著降低出口流量成本和峰值带宽压力,特别是静态资源和大文件。但需注意:部分 CDN 回源请求仍会产生带宽;且针对中国大陆用户需选合适线路(CN2 优势在直连回国),测试回源延迟和费用后再决定分发策略。