性能与可靠性

为什么我的VPS很慢?

简短回答

按可能性顺序:内存耗尽导致交换抖动、磁盘IO饱和、共享核心上的CPU窃取时间、未优化的数据库或到用户的网络延迟。首先检查free -h和top中的st列——将它们放在一起,大约80%的时间能识别出原因。

内存是最常见的罪魁祸首,也是最不明显的一个。一旦工作集超过RAM,内核就会交换,磁盘延迟取代内存延迟——相差一万倍。症状是一个感觉正常然后突然不正常的服务器。

其次常见的是磁盘。运行 ioping 或 fio:NVMe 应显示亚毫秒级延迟。如果没有,要么你处在错误的存储层级,要么邻居正在占满它。

  • free -h — if swap is in use and growing, that is the answer
  • top — st 列超过 2–3% 意味着 steal time
  • iostat -x 1 — %util near 100 means disk saturation
  • 数据库慢查询日志 — 通常是缺少索引,而不是服务器太小
  • mtr 到用户网络 — 路径上的丢包不是服务器问题

另见: CPU steal time(CPU偷取时间) · NVMe

性能与可靠性领域的7个回答

返回所有答案