На моем работающем VPS я в последнее время очень часто сталкиваюсь с мягкими и жесткими пределами tcpsndbuf, из-за чего сервер становится почти недоступным при нагрузке до 45 и выше. Я уже пробовал ограничить количество разрешенных соединений Apache, но через 5 минут после перезапуска сервера с новыми значениями все снова взбесилось. Прямо сейчас у меня есть:
KeepAlive off
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 20
MaxClients 20
MaxRequestsPerChild 1000
</IfModule>
В настоящее время сервер загружает около 1,5 ТБ файлов размером 20-15 МБ, в основном с apache, partyl с vsftpd, и размещает около 5 блогов wordpress, которые получают около 300-800 посетителей в день.
/ proc / user_beancounters говорит:
uid resource held maxheld barrier limit failcnt
62327: kmemsize 27311616 27428538 193273527 214748364 0
lockedpages 0 0 2059 2059 0
privvmpages 316229 316352 1048576 1101004 0
shmpages 745 745 131072 131072 0
dummy 0 0 9223372036854775807 9223372036854775807 0
numproc 95 95 650 650 0
physpages 154998 155013 0 9223372036854775807 0
vmguarpages 0 0 524288 9223372036854775807 0
oomguarpages 154999 155014 9223372036854775807 9223372036854775807 0
numtcpsock 30 30 700 700 0
numflock 7 8 1000 1100 0
numpty 1 1 102 102 0
numsiginfo 0 0 1024 1024 0
tcpsndbuf 1573056 1619200 6720000 9408000 23663960828
tcprcvbuf 491520 491520 6720000 9408000 42
othersockbuf 224864 226176 5760000 8064000 0
dgramrcvbuf 0 8480 5376000 5376000 0
numothersock 139 139 600 600 0
dcachesize 1319995 1338775 28991028 32212254 0
numfile 3125 3145 17600 17600 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 71 71 9223372036854775807 9223372036854775807 0
Каков наиболее эффективный способ снизить требования к tcpsndbuf?
В качестве примечания: всякий раз, когда я нажимаю tcpsndbuf, я ограничиваю большинство моих попыток загрузить файлы через wget и подобные инструменты, заканчивая сообщениями типа «Нет доступного места в буфере».