Проблема такая: был веб сервер (www0), он перестал справляться с нагрузкой. Решил поставить ещё один вебсервер (www1), но он помирает на шутейной нагрузке в 20 запросов в секунду, хочу понять почему.
Детали:
- проект на django, запросы к БД лёгкие и на каждую страничку их мало (до 5 селектов, редко один insert или update), статистика БД тормозов не показывает, странички возвращают до 6 килобайт, никаких долгих вычислений в скриптах нет;
- на www0 крутятся apache, nginx, mysql, memcached;
- на www1 nginx, uwsgi, memcached;
- www1 помирает через минуту после направления трафика, uwsgi либо не успевает обработать все запросы либо у меня что-то напутано с конфигурацией и запросы вовремя не уходят клиенту, в итоге клиент отваливается по таймауту. Это я к тому, что в логах ошибок uwsgi только одна проблема - broken pipe, никакой нехватки файлов или недоступности сокета нет.
Пробовал ставить gunicorn вместо uwsgi, переносить БД локально на www0, результата нет. nginx в топе есть, но берёт не более 1%, всё остальное кушает uwsgi, по памяти затыков нет.
Машина www1 - двухъядерный Athlon 64 5600+ X2, 2GB памяти (в хетцнере, ага). Конфиги:
uwsgi.conf
nginx.conf
domain.com (nginx)
uwsgi_params
sysctl -a
Вот так выглядит график загрузки проца и потребления памяти.
Это у меня что-то не так настроено или просто машина слабая?
Похожие темы
- Форум Nginx RPS (2017)
- Форум django + uwsgi + nginx (2017)
- Форум Кэширование(?) nginx + uwsgi (2013)
- Форум nginx + uwsgi + bottle.py (2012)
- Форум Nginx: не получается выжать 1M RPS (2019)
- Форум nginx + uwsgi - перенаправление запросов. (2013)
- Форум Раздача Django через uWSGI & Nginx (2012)
- Форум nginx + uwsgi + python на debian (2012)
- Форум Nginx + uWSGI + virtualenv + Django на Debian (2017)
- Форум nginx + uwsgi + django на centos 5 (2012)