Как решить проблему 10 000 соединений?

в 12:11, , рубрики: linux, UNIX, Айдеко, Блог компании Айдеко, обучение, Программирование, разработка софта, метки: , , , , , ,

Как решить проблему 10 000 соединений?

Способы решения этой проблемы, поднятой еще в 2001 году программистом Дэном Кегелем, рассматриваются в девятой лекции курса «Сетевое программирование в UNIX», подготовленного специалистами SkyDNS и компании «Айдеко». За подробностями – добро пожаловать под кат.

Из рассмотренных до того подходов модель prefork работает, но является расточительной с точки зрения памяти, а select()– не работает вообще.

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

Практическое задание состояло в переписывании астрологического сервера с использованием семейства функций epoll() и проверке, выдерживает ли он 10000 соединений.

А сколько одновременных соединений выдержит астрологический сервер на вашем ноутбуке?

Слайды доступны здесь.

Предыдущие лекции:
1. Курс для тех, кто не боится UNIX и C
2. Каждому клиенту по процессу
3. Реализуем протокол или как работают астрологи
4. О том, как читать до конца
5. Программы в автоматном стиле — трудности перевода
6. Как делать несколько дел одновременно и в то же время по очереди?
7. Эффективное чтение
8. Как сделать программу нетерпеливой?

Автор: AdMonster

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js