Pull to refresh
0

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

Reading time 1 min
Views 28K


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

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

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

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

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



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

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

Articles

Information

Website
www.ideco.ru
Registered
Founded
2005
Employees
Unknown
Location
Россия