Назад | Перейти на главную страницу

Как мне узнать, поможет ли мне настройка tcp?

Запуск logstash на Centos7, и я думаю, что сетевая карта может быть загружена.

На сервере logstash я также вижу запрос q на отправку журналов серверов. Но я не уверен, высокий ли запрос q, исходя из моих настроек, или настройка tcp мне здесь поможет.

некоторая информация:

sysctl -a | grep mem
net.core.optmem_max = 20480
net.core.rmem_default = 212992
net.core.rmem_max = 212992
net.core.wmem_default = 212992
net.core.wmem_max = 212992
net.ipv4.igmp_max_memberships = 20
net.ipv4.tcp_mem = 227763       303685  455526
net.ipv4.tcp_rmem = 4096        87380   6291456
net.ipv4.tcp_wmem = 4096        16384   4194304
net.ipv4.udp_mem = 229686       306249  459372
net.ipv4.udp_rmem_min = 4096
net.ipv4.udp_wmem_min = 4096
vm.lowmem_reserve_ratio = 256   256     32
vm.memory_failure_early_kill = 0
vm.memory_failure_recovery = 1
vm.nr_hugepages_mempolicy = 0
vm.overcommit_memory = 0

netstat -na --tcp | grep :9123
tcp6       0      0 :::9123                 :::*                    LISTEN
tcp6  247834      0 192.168.123.123:9123     10.16.1.82:52289       ESTABLISHED
tcp6  241242      0 192.168.123.123:9123     10.31.31.232:65293     ESTABLISHED
tcp6       0      0 192.168.123.123:9123     10.16.1.198:53693      ESTABLISHED
tcp6       0      0 192.168.123.123:9123     10.16.1.198:56751      ESTABLISHED
tcp6  331114      0 192.168.123.123:9123     10.31.35.157:53998     ESTABLISHED
tcp6  256047      0 192.168.123.123:9123     10.16.2.155:52221      ESTABLISHED
tcp6  240498      0 192.168.123.123:9123     10.19.5.166:51805      ESTABLISHED
tcp6  312648      0 192.168.123.123:9123     10.18.16.155:57975     ESTABLISHED
tcp6  234321      0 192.168.123.123:9123     10.18.19.242:51664     ESTABLISHED
tcp6  255079      0 192.168.123.123:9123     10.19.4.51:51458       ESTABLISHED
tcp6  256328      0 192.168.123.123:9123     10.18.45.89:56821      ESTABLISHED
tcp6  237167      0 192.168.123.123:9123     10.18.33.26:49278      ESTABLISHED
tcp6  248204      0 192.168.123.123:9123     10.18.30.250:54267     ESTABLISHED
tcp6  248573      0 192.168.123.123:9123     10.16.1.198:57522      ESTABLISHED
tcp6  238348      0 192.168.123.123:9123     10.18.11.169:55147     ESTABLISHED
tcp6  243762      0 192.168.123.123:9123     10.31.22.48:60425      ESTABLISHED
tcp6  258035      0 192.168.123.123:9123     10.31.46.31:60432      ESTABLISHED
tcp6  241863      0 192.168.123.123:9123     10.18.45.113:63376     ESTABLISHED
tcp6  327889      0 192.168.123.123:9123     10.18.3.219:58640      ESTABLISHED
tcp6  317363      0 192.168.123.123:9123     10.31.37.249:65162     ESTABLISHED
tcp6  252394      0 192.168.123.123:9123     10.16.1.92:56360       ESTABLISHED
tcp6  326401      0 192.168.123.123:9123     10.31.17.74:53948      ESTABLISHED
tcp6       0      0 192.168.123.123:9123     10.16.2.12:53781       ESTABLISHED
tcp6  244669      0 192.168.123.123:9123     10.18.18.100:49281     ESTABLISHED
tcp6  250264      0 192.168.123.123:9123     10.18.32.116:56795     ESTABLISHED
tcp6       0      0 192.168.123.123:9123     10.16.1.82:49304       ESTABLISHED
tcp6  310864      0 192.168.123.123:9123     10.18.11.25:64230      ESTABLISHED
tcp6  247973      0 192.168.123.123:9123     10.18.22.230:55209     ESTABLISHED
tcp6       0      0 192.168.123.123:9123     10.17.1.8:51741        ESTABLISHED
tcp6       0      0 192.168.123.123:9123     10.16.2.12:54507       ESTABLISHED
tcp6  251552      0 192.168.123.123:9123     10.18.24.83:63499      ESTABLISHED
tcp6  251481      0 192.168.123.123:9123     10.16.2.72:57268       ESTABLISHED
tcp6       0      0 192.168.123.123:9123     10.16.1.198:53406      ESTABLISHED
tcp6  312263      0 192.168.123.123:9123     10.19.12.239:52173     ESTABLISHED
tcp6  238878      0 192.168.123.123:9123     10.18.5.198:57978      ESTABLISHED
tcp6  322460      0 192.168.123.123:9123     10.18.5.124:53117      ESTABLISHED
tcp6       0      0 192.168.123.123:9123     10.16.2.72:54883       ESTABLISHED
tcp6  237717      0 192.168.123.123:9123     10.16.2.12:56387       ESTABLISHED
tcp6  315963      0 192.168.123.123:9123     10.18.26.44:49197      ESTABLISHED
tcp6  248914      0 192.168.123.123:9123     10.18.41.101:51859     ESTABLISHED
tcp6       0      0 192.168.123.123:9123     10.16.2.155:49303      ESTABLISHED
tcp6  316994      0 192.168.123.123:9123     10.18.44.120:49375     ESTABLISHED
tcp6  236421      0 192.168.123.123:9123     10.31.43.130:51590     ESTABLISHED
tcp6  240929      0 192.168.123.123:9123     10.17.1.114:63546      ESTABLISHED
tcp6  306346      0 192.168.123.123:9123     10.17.2.159:61633      ESTABLISHED
tcp6  239360      0 192.168.123.123:9123     10.18.39.43:54080      ESTABLISHED
tcp6  245361      0 192.168.123.123:9123     10.19.13.107:52629     ESTABLISHED
tcp6  244398      0 192.168.123.123:9123     10.18.11.195:53257     ESTABLISHED

Вы, конечно, можете настроить свой сетевой адаптер, Настройка производительности сети RedHat В руководстве представлен довольно полный (и несколько недавний, около 2015 г.) набор вопросов для рассмотрения.

Этот документ предлагает 16384 349520 16777216 для TCP rmem, например (необходимость настройки wmem зависит от ваших настроек - от того, чем вы делитесь, это не кажется необходимым).

Однако, на мой взгляд, это может указывать на то, что logstash является узким местом - ваши очереди приема являются буферами для процесса, прослушивающего данный порт (logstash), и поэтому увеличение этих буферов на самом деле не решает основную проблему. Мне кажется, что logstash уже (сравнительно) медленный, и больше сетевых буферов не похоже на то, что это сделало бы его быстрее.

Проверьте, можно ли оптимизировать конфигурацию / парсеры logstash для вашей ситуации / потребностей (если вы используете регулярные выражения, это может быть хорошей областью для исследования).

Возможно, вам потребуется увеличить ресурсы, доступные для logstash, и / или подумать о многоуровневой инфраструктуре logstash, чтобы облегчить нагрузку на экземпляр, обращенный к клиенту / источнику.

Другими словами, имейте интерфейс, получающий данные и практически не выполняющий никакой реальной работы (просто добавьте некоторые теги / информацию и, возможно, некоторую маршрутизацию к конкретным процессорам), а затем пусть этот интерфейс передает данные для дальнейшей обработки в другой экземпляр ( или в очередь сообщений, например Kafka).

Примечательно, что если вы используете плагины DNS и geoIP, как правило, имеет смысл делать такие вещи в одном месте после того, как события / журналы / данные будут полностью проанализированы).