我有一个 KVM 单核 VPS,专门针对托管静态内容进行了优化,仅运行 Nginx 1.13.8,配备 SSD 和 1GB RAM,托管提供商提供 100 Mbit/s 无限带宽的套餐。
使用的操作系统是 3.10.0-693.17.1.el7.centos.plus.x86_64
服务器持续处于高负载状态Load average: 2.59 2.16 1.90
该服务器上未安装或运行 PHP 或 MySQL 服务。
lscpu
显示:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 13
Model name: QEMU Virtual CPU version (cpu64-rhel6)
Stepping: 3
CPU MHz: 2266.746
BogoMIPS: 4533.49
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
NUMA node0 CPU(s): 0
Flags: fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl pni cx16 hypervisor lahf_lm
每日平均带宽使用量为40Mbit/s
任何给定时间的最大内存使用量在 300MB 至 350MB 之间
nginx错误日志每天只有不到8KB。
查看top
命令,nginx
服务在 CPU 列中不断显示 20~30%,我认为这还不算太糟糕。
造成服务器负载如此之高的原因可能有哪些?
由于nginx
提供静态内容的资源效率相当高,我想不出造成瓶颈的原因。
我怀疑托管 VPS 的主机已超载,这会反映出平均负载的高数字吗?
鉴于这种高负载平均统计数据,nginx 仍在提供静态内容并顺利推动带宽。
但这让我担心稳定性。
我已经尝试与另一家托管公司在双核设置上部署完全相同的服务器,并使用 RRDNS 分配流量进行测试。
在内存/带宽消耗相同的情况下,资源使用率始终仅为0.05~0.30。
答案1
请运行以下终端命令检查导致高 CPU 负载的应用程序:
ps -eo pcpu,pid,user,args | sort -k1 -r | head -10
从这里得到这个关联
您也可以运行htop
并将您的截图发送给我们。