А не получится при таком конфиге, что nginx откроет все 204800 файла и
система станет мало рабочей?
Может nginx-у поставить чуток поменьше лимиты, чтобы на остальные
процессы осталось?
Ну в общем, если машина делает ещё что-то, кроме веба, то нужно примерно
так:
kern.maxfiles=204800
kern.maxfilesperproc=200000
worker_rlimit_nofile 200000;
events {
worker_connections 200000;
При этом используется только worker. Для двух и более нужно уменьшать
worker_connections.
Мораль письма была в том, что против DOS'а можно предоставить только
1) больше ресурсов (16424 - это очень мало),
2) более умное использование ресурсов.
Сокеты. У меня есть машины (6.1), на которых стоит
etc/sysctl.conf:
kern.maxfiles=204800
kern.maxfilesperproc=204800
/boot/loader.conf:
kern.ipc.nmbclusters="65536"
kern.ipc.maxsockets="204800"