Как стать автором
Обновить
0

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

Время на прочтение1 мин
Количество просмотров28K


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

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

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

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

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



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

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

Публикации

Информация

Сайт
www.ideco.ru
Дата регистрации
Дата основания
2005
Численность
Неизвестно
Местоположение
Россия

Истории