Как настроить ulimit с помощью supervisord (для запуска лака)

Я переношу конфигурацию сервера в supervisord (из файлов init.d).

Есть несколько случаев бега вариша. Я помню, когда я начал использовать лак, у меня были проблемы с ulimit, поэтому в скриптах init.d/varnish есть следующие строки:

ulimit -n ${NFILES:-131072} ulimit -l ${MEMLOCK:-82000}

Я настраиваю supervisord для запуска программы /usr/sbin/varnishd с аргументами.

Как настроить параметры ulimit через супервизор? Мне просто обернуть программу lacted в скрипт?


person Kevin Gill    schedule 16.09.2011    source источник
comment
Кстати, в настоящее время я использую этот скрипт (/usr/local/bin/varnishd) #! /bin/sh ulimit -n ${NFILES:-131072} ulimit -l ${MEMLOCK:-82000} exec /usr/sbin/varnishd $@   -  person Kevin Gill    schedule 16.09.2011


Ответы (1)


Если вам действительно нужно пойти по этому пути, было бы предпочтительнее установить ulimit на системном уровне (см. limits.conf). Но лак лучше всего работает с бэкендом malloc, а не с файловым бэкэндом, поэтому, если у вас есть ресурсы памяти, это решит вашу проблему с ulimit и улучшит вашу производительность. документация здесь, но в основном у вас есть что-то вроде "-s malloc,1G" в вашем /etc/default/varnish:

DAEMON_OPTS="-a :80 \
         -T localhost:1234 \
         -f /etc/varnish/default.vcl \
         -s malloc,1G"
person jaybrau    schedule 27.06.2014