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

О производительности сетевых программ

О производительности сетевых программ

Заключительная лекция курса «Сетевое программирование в UNIX», который подготовили специалисты SkyDNS [1] и компании «Айдеко» [2], получилась многогранной.

На лекции были рассмотрены две основных темы. Марк Коренберг («Айдеко») и Александр Патраков [3] (SkyDNS) рассказали, как простыми модификациями можно ускорить работу цикла обработки событий и объяснили, как пользоваться флагом EPOLLET.

Студенты узнали, как выбрать между моделями, основанными на блокирующих сокетах и на цикле обработки событий. А также получили представление о «гибридной» модели, которая позволяет «съесть» более 100% процессорного времени и при этом не израсходовать много памяти, обрабатывая множество параллельных соединений.

На этом мы заканчиваем нашу серию постов о курсе «Сетевое программирование в UNIX». К сожалению, в течение курса не все запланированные темы были освещены, хотя студенты и проявляли к ним интерес. Остались непрочитанными такие темы, как организация прозрачных прокси, вопросы авторизации, работа с SSL, «сырые» сокеты.

С этими темами вы можете ознакомиться самостоятельно. Александр рекомендует к прочтению следующие книги:

Unix Network Programming: The Sockets Networking Api, Том 1
Авторы: W. Richard Stevens, Bill Fenner, Andrew M. Rudoff

серия «TCP/IP Illustrated»
Авторы: W. Richard Stevens, Gary R. Wright

Applied Cryptography
Автор: Bruce Schneier

Cryptography and Network Security Principles and Practices
автор: William Stallings

Надо понимать, что не все вопросы сетевого программирования являются фундаментальными. Такие вопросы, как организация прозрачных прокси и изменение настроек сетевых адаптеров, слишком специфичны для конкретной операционной системы и поэтому не являются «книжным» материалом. Информацию по подобным вопросам лучше получать из man-страниц.

Ждем ваших вопросов по всему курсу «Сетевое программирование в UNIX». Наши специалисты готовы ответить на них в группе [4], посвященной курсу.

Слайды доступны тут [5].

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

Автор: AdMonster


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

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

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

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

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

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

[4] группе: https://groups.google.com/group/usu_netprog

[5] тут: https://docs.google.com/present/view?id=0AYhk_voiXy4JZGZzZGJ6bXJfMjA4ZmZ3YnNyOGc&pli=1

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

[7] Каждому клиенту по процессу: http://habrahabr.ru/company/ideco/blog/138706/

[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/144302/

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

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

[14] Как решить проблему 10 000 соединений?: http://habrahabr.ru/company/ideco/blog/146340/