У меня есть несколько скриптов, но некоторые из них имеют более высокий приоритет, чем другие:
/var/www/normal-priority/script1.pl
/var/www/normal-priority/script2.pl
/var/www/normal-priority/script3.pl
и
/var/www/high-priority/script1.pl
/var/www/high-priority/script2.pl
/var/www/high-priority/script3.pl
Все работает под мод-perl. Они находятся в отдельных каталогах.
Время от времени сценарии с нормальным приоритетом становятся очень загруженными, и серверы httpd «вытесняют» менее часто называемые высокоприоритетные.
Можно ли выделить n серверов httpd, чтобы они слушали только сценарии с «высоким приоритетом»?
Вы можете использовать директиву RLimitNPROC чтобы ограничить количество процессов, разрешенных для запуска, например каталог. Поскольку вы храните сценарии в отдельных каталогах, это должно работать:
<Directory /var/www/high-priority>
RLimitNPROC Max
</Directory>
<Directory /var/www/normal-priority>
RLimitNPROC 4711 # Change this number to something that works for you
</Directory>
Вы также можете установить ограничения для ЦПУ и использование памяти.