Linux API с точки зрения разработчика высокопроизводительного веб-сервераЭлементы архитектуры

Доклад принят в программу конференции
Валентин Бартенев
NGINX, Inc.

Профессиональную деятельность начал в 2003 году в роли разработчика веб-сайтов. В компании NGINX c 2011 года. За это время успел поработать практически над всеми подсистемами одноименного веб-сервера и его коммерческой версии NGINX Plus, принимал участие в работе над JavaScript интерпретатором njs, новым проектом компании. Помимо реализации различной функциональности, исправления старых багов и добавления новых, немало времени посвятил оптимизации кода под Linux. А наиболее известными проектами на сегодняшний день стали модули протоколов SPDY и HTTP/2, а также механизм пулов потоков для асинхронного исполнения блокирующих и ресурсоемких операций.

Тезисы

В данном докладе я дам обзор системных интерфейсов, которые предоставляет Linux для эффективной обработки запросов. В частности, речь пойдет о мультиплексировании ввода-вывода, отправке файлов и многопоточной обработке входящих соединений. Расскажу о нюансах и недостатках в сравнении с аналогичными интерфейсами других unix-подобных операционных систем. Личный опыт показывает, что продуманность и качество реализации интерфейса для прикладных программ — это, к сожалению, довольно слабая сторона ядра Linux.

Асинхронное программирование, реактивное программирование
,
Оптимизация производительности
,
Методы и техника разработки ПО

Другие доклады секции Элементы архитектуры