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

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

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

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

На лекции были рассмотрены две основных темы. Марк Коренберг («Айдеко») и Александр Патраков (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». Наши специалисты готовы ответить на них в группе, посвященной курсу.

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

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

Автор: AdMonster

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