Skip to content
EntityQ2474734· pop 8· linked from 13 articles

Проблема 10000 соединений

Sign in to save

problem of optimising network sockets to handle a large number of clients at the same time

Wikidata facts

Subclass of
task
Sources (1)

via Wikidata · CC0

Article · Русский

C10k (англ. C10k; 10k connections — проблема 10 тысяч соединений) — условное название задачи конфигурирования и обслуживания высокопроизводительного сервера, способного обслуживать порядка 10 тыс. соединений одновременно. Формально аппаратное обеспечение современных компьютеров имеет должную производительность для выполнения задачи, однако неэффективные алгоритмы могут приводить к возникновению «заторов». Возникло в 1999 году в рамках задачи обслуживания популярного в то время публичного FTP-сервера , его администратор Ден Кегель обратил внимание, что обслуживающий узел на гигабитном канале по аппаратным показателям должен был бы справляться с нагрузкой в 10 тыс. соединений, но программное обеспечение этого не позволяло. Ряд известных веб-серверов особо подчёркивает решение задачи C10k, среди таковых Nginx, Lighttpd, Cherokee HTTP Server, Tornado, Node.js, Yaws. Для обхода проблемы используются различные техники: пулирование потоков выполнения (вместо выделения на каждое соединение отдельного потока), применение легковесных процессов, поддержка функций соединений средствами исключительно пользовательского пространства (с минимизацией системных вызовов для обхода ограничений ядра операционной системы). По состоянию на середину 2010-х годов серверный аппаратный узел среднего уровня способен обрабатывать до 10 млн соединений, в связи с чем появились требования к программному обеспечению обеспечивать соответствующий уровень производительности по количеству одновременных подключений, обозначаемые как C10M.

Abstract from DBpedia / Wikipedia · CC BY-SA

Available in 8 languages

via Wikidata sitelinks · CC0