- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

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

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

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

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

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

Автор: AdMonster


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/10041

Ссылки в тексте:

[1] SkyDNS: http://www.skydns.ru

[2] «Айдеко»: http://ideco.ru

[3] prefork: http://habrahabr.ru/company/ideco/blog/138706/

[4] select(): http://habrahabr.ru/company/ideco/blog/144302/

[5] Александр Патраков: http://patrakov.blogspot.com/

[6] здесь.: https://docs.google.com/present/view?id=0AYhk_voiXy4JZGZzZGJ6bXJfMTc1ZjN4dDNwaGo

[7] Курс для тех, кто не боится UNIX и C: http://habrahabr.ru/company/ideco/blog/138322/

[8] Реализуем протокол или как работают астрологи: http://habrahabr.ru/company/ideco/blog/139926/

[9] О том, как читать до конца: http://habrahabr.ru/company/ideco/blog/143701/

[10] Программы в автоматном стиле — трудности перевода: http://habrahabr.ru/company/ideco/blog/143886/

[11] Эффективное чтение: http://habrahabr.ru/company/ideco/blog/145012/

[12] Как сделать программу нетерпеливой?: http://habrahabr.ru/company/ideco/blog/145883