Подсчет одновременных сетевых сессий в Linux

19 Jul 2018 | Автор: anchous |

Поднял под клиентов сервер на выделенном гигабите с 40 тысячами IPv6 прокси, под парсинг инстаграмма. Клиент, не долго думая, выдал 100% утилизацию канала, т.ч стало интересно – каким образом можно посчитать количество конкурирующих сессий.

Основной инструментарий для получения сетевой статистики – это команда netstat

Например суммарная статистика по протоколам, доступна в выводе команды:
# netstat -e -s
Если мы хотим увидеть вообще всю статистику, то это можно сделать командой:
# netstat -a
и из неё уже производить выборку через grep по протоколам, установленным соединениям или портам. Например, вывести все установленные соединения:
# netstat -a | grep “ESTABLISHED”
или подсчитать их количество
# netstat -a | grep “ESTABLISHED” | wc -l
статистику по всем протоколам, можно получить командой:
# netstat -s -e
но основная проблема netstat в том, что он перебирает сессии одну за другой и в моем случае, вывода команды можно ждать 5-10 минут.

Поэтому для быстрого просмотра активных сессий, лучше воспользоваться более новой командой сетевой статистики, ss. Например для получения полного количества активных сессий, можно использовать:
# ss -s
Вывод будет практически мгновенным. Даже если подсчитывать число сессий в очереди на подключение, то перебор и вывод будет более шустрым.
# ss -t -a | wc -l
Если надо посмотреть общую статистику, то делается это командой
# ss -s

VN:F [1.9.21_1169]
Rating: 4.3/10 (3 votes cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)
Подсчет одновременных сетевых сессий в Linux, 4.3 out of 10 based on 3 ratings

Отзывов: 2 на «Подсчет одновременных сетевых сессий в Linux»

  1. Автор: Alex на 19 Jul 2018

    netstat -an | grep “ESTABLISHED” | wc -l
    тоже будет быстрым.
    -n отключает резолв хостов

    [Reply]

    anchous Reply:

    спасибо за дополнение

    [Reply]

    VN:F [1.9.21_1169]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.21_1169]
    Rating: 0 (from 0 votes)

Ваш отзыв