fbpx

Падает сервер, как найти причину

266 просмотра
0
0 Комментариев

Сайт:

  • python(django)
  • lighttpd
  • postgresql

Сервере запускаю:

./manage.py runfcgi method=prefork maxrequests=20 maxspare=20 host=127.0.0.1 port=8881 pidfile=/tmp/server.pid

По началу было все хорошо, но вот иногда питон процессов становится на столько много что он поглощает всю ОЗУ(8Гб). И естественно что сайт ложится, и на сервере почти ничего сделать нельзя.

Пробовал разные установки запуска:

  • maxspare
  • minspare
  • maxrequests

все эти значения перебирал, но не взирая на ограничения максимума потоков, он создает их и больше, пожирая тем самым всю память.

Может есть какой способ вычислить что его так нагружает, или может сервер атакуют, или код программный его так убивает?

Вообще раньше держал нагрузку 400 — 700 онлайн, не быстро грузил страницы (3-18с), но держал, теперь и при 30 — 100 начинает забивать ОЗУ, не всегда, но бывет.


Добавить комментарий

1 Ответы

Python Опубликовано 17.01.2019
0

Как вариант, для начала посмотреть логи django — там видно какие вьюхи у тебя работают, какие ошибки, как часто их вызывают — таким образом подтвердится или отсечется ddos.
Второе — используется-ли многопоточность (а-ля Celery или что-нибудь самописное), мб некотнролируемый вызов задач, которые ушли в бесконечные циклы?
И наконец взять на заметку вот этот модуль: Django debug toolbar, воспользоваться им и возможно найти узкие места.

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up