<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; color: #000000"><div>И снова Здравствуйте :)<br>Итак конечный вариант решения:<br><br>В конфиге nginx вот такая конструкция</div><div><br><div><span style="font-family: monospace;" data-mce-style="font-family: monospace;"><span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;">map "$remote_port" $log_selector_0 { </span><br> default 0; <br> ~0$ 1; <br>} <br>map "$remote_port" $log_selector_1 { <br> default 0; <br> ~1$ 1; <br>} <br>map "$remote_port" $log_selector_2 { <br> default 0; <br> ~2$ 1; <br>} <br>map "$remote_port" $log_selector_3 { <br> default 0; <br> ~3$ 1; <br>} <br>map "$remote_port" $log_selector_4 { <br> default 0; <br> ~4$ 1; <br>} <br>map "$remote_port" $log_selector_5 { <br> default 0; <br> ~5$ 1; <br>} <br>map "$remote_port" $log_selector_6 { <br> default 0; <br> ~6$ 1; <br>} <br>map "$remote_port" $log_selector_7 { <br> default 0; <br> ~7$ 1; <br>} <br>map "$remote_port" $log_selector_8 { <br> default 0; <br> ~8$ 1; <br>} <br>map "$remote_port" $log_selector_9 <span style="color: #000000; background-color: #18b2b2;" data-mce-style="color: #000000; background-color: #18b2b2;">{</span><span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;"> </span><br> default 0; <br> ~9$ 1; <br><span style="color: #000000; background-color: #18b2b2;" data-mce-style="color: #000000; background-color: #18b2b2;">}</span><br><span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;"> </span></span></div><div><span style="font-family: monospace;" data-mce-style="font-family: monospace;"><br></span></div><div><span style="font-family: monospace;" data-mce-style="font-family: monospace;">.....</span></div><div><span style="font-family: monospace;" data-mce-style="font-family: monospace;"><br><br></span><span style="font-family: monospace;" data-mce-style="font-family: monospace;"><span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;">access_log syslog:server=unix:/run/socket-00,nohostname,facility=local5,severity=info,tag=nginxStats01 st01 if=$log_selector_0; </span><br>access_log syslog:server=unix:/run/socket-01,nohostname,facility=local5,severity=<span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;">info</span>,tag=nginxStats01 st01 if=$log_selector_1; <br>access_log syslog:server=unix:/run/socket-02,nohostname,facility=local5,severity=<span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;">info</span>,tag=nginxStats01 st01 if=$log_selector_2; <br>access_log syslog:server=unix:/run/socket-03,nohostname,facility=local5,severity=<span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;">info</span>,tag=nginxStats01 st01 if=$log_selector_3; <br>access_log syslog:server=unix:/run/socket-04,nohostname,facility=local5,severity=<span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;">info</span>,tag=nginxStats01 st01 if=$log_selector_4;<br><span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;">access_log syslog:server=unix:/run/socket-05,nohostname,facility=local5,severity=info,tag=nginxStats01 st01 if=$log_selector_5; </span><br>access_log syslog:server=unix:/run/socket-06,nohostname,facility=local5,severity=<span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;">info</span>,tag=nginxStats01 st01 if=$log_selector_6; <br>access_log syslog:server=unix:/run/socket-07,nohostname,facility=local5,severity=<span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;">info</span>,tag=nginxStats01 st01 if=$log_selector_7; <br>access_log syslog:server=unix:/run/socket-08,nohostname,facility=local5,severity=<span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;">info</span>,tag=nginxStats01 st01 if=$log_selector_8; <br>access_log syslog:server=unix:/run/socket-09,nohostname,facility=local5,severity=<span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;">info</span>,tag=nginxStats01 st01 if=$log_selector_9;<br><br>Данные почти равномерно расходятся по 10-ти файлам, которые пишутся на tmpfs в RAM.<br>Отказался и от rsyslog и от syslog-ng<br>В качестве принимающей стороны выступает пока python скрипт <br><span style="color: #000000; background-color: #ffffff;" data-mce-style="color: #000000; background-color: #ffffff;"></span></span></div>В нем стартую 10 процессов, каждый слушает свой сокет и вся его задача -- сложить в файл данные.<br></div><div><br data-mce-bogus="1"></div><div>Отказ от rsyslog-а обусловлен просто огромным количеством переключений контекста, rsyslog-ом генерируемое. </div><div>Уже на 200-210тыс/сек их количество переваливает за 1.4 млн/сек. ( примерно 0.9млн - работа rsyslog-а) и на этой отметке сильно деградирует производительность системы в целом.</div><div><br data-mce-bogus="1"></div><div><div>syslog-ng при работе с unixSocket показал довольно низкую производительность. (Долго с ним не разбирался. Чисто дефолтная установка и минимальная настройка).<br></div><br>python по сравнению с rsyslog ЦПУ потребляет немного больше, но переключений контекста значительно меньше, и это положительно сказывается на работе всей системы.<br><br><br data-mce-bogus="1"><div><span style="font-family: monospace;" data-mce-style="font-family: monospace;">Как итог -- проверен порог в 220-230 тыс/сек (такая нагрузка сохранялась около 3-х часов) на 1 nginx, на моем железе все отработало нормально, все метрики сошлись.</span><span style="font-family: monospace;" data-mce-style="font-family: monospace;"></span></div><div><span style="font-family: monospace;" data-mce-style="font-family: monospace;"><br data-mce-bogus="1"></span></div><div><span style="font-family: monospace;" data-mce-style="font-family: monospace;">Попытка с UDP -- больше потребление CPU, больше прерываний, больше переключений контекста... </span></div><div><span style="font-family: monospace;" data-mce-style="font-family: monospace;">И если 220-230 тыс/сек на 10 unixSocket -еще не предел для моего железа, то те же 220-230 тыс/сек на udp на loopback интерфейс практически предел судя по мониторингу.<br data-mce-bogus="1"></span></div><div><br data-mce-bogus="1"></div><div><span style="font-family: monospace;" data-mce-style="font-family: monospace;"><br>Всем еще раз спасибо за внимание и советы.<br><br></span></div><br data-mce-bogus="1"></div></div></body></html>