
Я использую nginx для обслуживания статического контента для моего довольно загруженного веб-сайта. У меня отключено ведение журнала и включены 4 рабочих процесса с 5000 подключений на каждого рабочего процесса (что должно дать максимальный лимит подключений в 20000).
Сервер работает только на 10% использования ЦП и 50% оперативной памяти, но он очень тормозит, и иногда nginx так медленно отвечает на запросы, что он отключается. Для небольшого количества подключений все нормально, но как только начинается какая-либо нагрузка (~2500 подключений), он откатывается и зависает.
Есть ли еще какие-то узкие места или ограничения, с которыми я могу столкнуться? Это сервер FreeBSD, и все статические файлы находятся локально (не NFS). Сетевая карта — это нелимитированный гигабит, и она использует всего около 75 мегабит.
Любая информация будет оценена по достоинству. Спасибо.
решение1
Несколько советов, куда обратить внимание:
- У вас должно быть включено ведение журнала ошибок и вы постоянно туда заглядываете. Это дает много информации.
- Что такое IO-utilization?
- У вас установлен Munin? Графики Munin тоже дают много информации.
- Включен ли модуль nginx-status в Nginx? Если да, то какие цифры он показывает?
- Какие еще приложения запущены на вашем сервере? Могут ли они повлиять на производительность
- Какой тип статических файлов вы обслуживаете? Какого размера?