我正在尝试提高 nginx 服务器的性能,以便每月分发 100TB 的图像。但我遇到了两个问题:CPU 负载过高和周期性闪退(我不知道为什么)
硬件相当差(这就是挑战所在,在不达标准的硬件上部署 100Tb):
- AMD Opteron X2150 APU,4 核 1.1GHz
- SATA-SSD 256 GB ZTC-SM201-256G
- 8 GB 内存
- Broadcom 公司 NetXtreme BCM5720 千兆以太网 PCIe
Ubuntu 14.04
Nginx 1.12.2
内容:250k-2M大小的图片,大约200Gb,很少写入。
Nginx 缓存配置:
proxy_cache_path /home/XXX 级别=1:2 keys_zone=manga:90m max_size=230G inactive=15d;
fstab:
UUID=34d74174-f584-42aa-b838-57b37b89007a / ext2 错误=remount-ro 0 1
UUID=c033e0f8-5034-4076-9aad-f238bbbecedf /boot ext2 默认值 0 2
UUID=1e5cd397-e881-4075-8b21-9c8e62fa6045 /home ext2
默认值,noatime,nodiratime,丢弃 0 2UUID=693c70c7-4f09-4c2f-8ba1-c6c4de7c1b70 无交换 sw 0 0
/etc/sysctl.conf
vm.swappiness=0 vm.vfs_cache_pressure=50
在顶部,我看到 nginx 在顶部
溅起水花是什么原因???
- 我已经检查过 crontab——没有
- nginx 没有访问日志
- 内存充足,717Mb可用
- FS 日志已被禁用
- Nginx 缓存未满。可用 ~25%
有什么想法吗?如何提高性能?
如果我这样做会有帮助吗:
- 安装 ubuntu 16.04
- 将 CPU 从 1.1GHz 升级到 1.5GHz
- ???
谢谢!
更新
我见过kswapd0在顶部。但我已经设置了vm.swappiness=0并在两天前重新加载conf。
我还想知道硬件瓶颈在哪里,CPU、SSD 还是以太网