9 подписчиков
Вчера задался вопросом, а сколько ram сожрет os на обработку одного TCP соединения. Я изначально высказал предположение, что все ограничится одним файловым дескриптором, но Эксперты высказались, что:
На само подключение ещё нужны буфера для записи и чтения (для чтения обычно берут 65535 байт, для записи тоже до 65535 байт, но мне кажется, что они там лениво выделяются)
Таким образом, если организовать 4 миллиона соединений и полностью забить им входящий и исходящий буферы, то у os выйдет сожрать 500гб оперативки. Обход ограничений на количество файловых дескрипторов этот мысленный эксперимент не учитывал :D
#highload #os #tcp #network
Около минуты
25 сентября 2024