среда, 2 декабря 2009 г.

Ограничение ресурсов для django

У меня ограничения стоят на django с нескольких сторон, т.к. у меня сайт связан с математическими сервисами.

  1. Django проект запускаем в режиме threaded, т.к. prefork сжирает все ресурсы, тогда ничего не шевелится!!! (запускается множество процессов, если кто-то решил вычислить что-то сложное) ./manage.py runfcgi method=threaded host=127.0.0.1 port=8001 pidfile=/tmp/server8001.pid
  2. Установил cpulimit (sudo apt-get install cpulimit), поставил ограничения на процессы python в автозагрузку с помощью crontab -e (@reboot cpulimit -e python2.5 -l 2), где -e python2.5 - для какой программы, -l 2 - это ограничение равно 2 процентам от процессора
  3. Вынес скрипты, которые вычисляют математику во вне, для них сделал ограничения на время работы процессора resource.RLIMIT_CPU, а еще добавил сигналы (signal) на убийство процесса по истечению определенного времени :)
Думаю данная защита поможет мне продвигать мои сложные ресурсы:)

Комментариев нет:

Отправить комментарий