答:拿到美国VPS后,第一步是完成基础安全与性能准备。建议按顺序执行以下操作:
更新系统包:sudo apt update && sudo apt upgrade -y(或对应发行版命令)。创建非root用户并配置sudo权限,禁用root远程登录。
adduser deploy && usermod -aG sudo deploy
修改SSH默认端口、禁用密码登录、使用公钥认证;配置基本防火墙(ufw/iptables)仅开放必要端口(例如22/80/443)。
启用chrony或ntp确保时间同步,尤其对日志和证书验证重要:sudo timedatectl set-timezone UTC,sudo systemctl enable --now chronyd。
列出并停用无用服务(例如桌面环境、打印服务);通过编辑/etc/security/limits.conf提高文件句柄和进程限制以支持高并发。
答:网络延迟来自物理距离、路由及拥塞,以下方法有助于减少延迟并提高吞吐:
租用时优先选择靠近目标用户群的机房;按需选择更高带宽或不限流方案,避免因为带宽上限导致突发拥塞。
对Web服务启用keepalive、gzip压缩、HTTP/2或QUIC(HTTP/3)以减少往返次数;对TCP参数做合理调整。
net.core.rmem_max=16777216、net.core.wmem_max=16777216、net.ipv4.tcp_rmem=4096 87380 16777216、net.ipv4.tcp_wmem=4096 65536 16777216。
使用CDN缓存静态资源、启用边缘节点服务以减少跨洋请求量;对动态内容考虑缓存层(Redis、Varnish)以减轻源站压力。
答:存储子系统往往是性能瓶颈,尤其数据库和高并发写场景。调优方向包括选择合适文件系统、挂载选项与I/O调度器。
常用选项:ext4或xfs,挂载时使用noatime减少额外写入;对SSD开启discard或定期使用fstrim。
在VM上常用noop或deadline调度器(虚拟化层已做调度),通过cat /sys/block/sda/queue/scheduler查看并设置。
对于数据库,将热数据放在内存缓存(例如调整MySQL的innodb_buffer_pool_size),对临时文件使用tmpfs可明显提高性能。
MySQL:innodb_buffer_pool_size ≈ 60%-70% 内存,连接数与线程池根据负载适当配置。
答:内核参数通过sysctl管理,调整时先备份当前配置并在非高峰期逐步应用。重点关注以下几类参数:
增加半连接队列、端口范围和回收策略:net.core.somaxconn=1024、net.ipv4.ip_local_port_range=1024 65535。
减少TIME_WAIT占用并允许重用:net.ipv4.tcp_fin_timeout=30、net.ipv4.tcp_tw_reuse=1,但在有NAT或不稳定网络时需慎用。
选择合适拥塞算法(例如BBR在高带宽延迟产品下往往表现更好):sysctl -w net.ipv4.tcp_congestion_control=bbr。同时调整发送/接收缓冲区如前所述。
把配置写入/etc/sysctl.d/99-custom.conf并运行sysctl --system使其生效。
答:调优不是一次性工作,需要监控、报警与周期性回顾。关键做法如下:
必须监控CPU、内存、磁盘IO、网络吞吐与延迟、负载平均、进程数量、TCP连接数、应用层响应时间等。
常用工具:Prometheus + node_exporter + Grafana 做可视化;使用ELK/Opensearch处理日志;使用cAdvisor或Datadog监控容器。
设置阈值报警(例如磁盘使用率、IO等待、负载、错误率),并结合自动化脚本(如自动扩容、重启服务、清理缓存)减少人工响应时间。
定期进行压测(使用ab、wrk、iperf、fio等)并据此调整实例规格、连接池大小、数据库参数;记录每次变更并做A/B验证。
在进行任何自动化和变更前,保证有备份与回滚方案,所有敏感操作应在维护窗口或分阶段灰度发布。
