Представлен HTTP-сервер hinsightd, использующий Linux-подсистему io_uring

Автор Сообщение
news_bot ®

Стаж: 6 лет 11 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
14-Дек-2022 14:05

Опубликован компактный HTTP-сервер hinsightd, примечательный использованием предоствляемого в ядре Linux интерфейса асинхронного ввода/вывода io_uring. Сервер поддерживает протокол HTTP/1.1 и спроектирован для низкого потребления ресурсов с предоставлением при этом востребованной функциональности. Например, hinsightd поддерживает TLS, обратное проксирование (rproxy), кэширование динамически генерируемого контента в локальной ФС, сжатие на лету отдаваемых данных, перезапуск без разрыва установленных соединений, подключение динамических обработчиков запросов при помощи механизмов FastCGI и CGI. Код проекта написан на языке Си и распространяется под лицензией BSD.
Для обработки конфигурации, написания дополнений и создания обработчиков запросов предоставлена возможность использования языка Lua, при этом подобные обработчики могут определяться непосредственно в файле конфигурации сервера. В форме плагинов реализованы такие возможности как изменение формата записи в лог, привязка отдельных логов к виртуальным хостам, определение стратегии балансировки нагрузки, HTTP-аутентификация, перезапись URL и выполнение плановых работ по расписанию (например, обновление сертификатов Let's Encrypt).
Вместе с сервером поставляется библиотека для интеграции функций hinsightd в свои приложения. Hinsightd также включает интегрированную функциональность для отправки HTTP-запросов из командной строки, например, для загрузки страницы можно выполнить команду "hinsightd -d URL". Сервер очень компактный и занимает в скомпилированном виде около 200КБ (100КБ исполняемый файл и 100КБ разделяемая библиотека). Среди внешних зависимостей только libc, lua, liburing и zlib, а также опционально openssl/libressl и ffcall.
Из планов по дальнейшему развитию упоминается возможность хранения в кэше сжатых файлов, sandbox-изоляция на базе фильтрации системных вызовов и использовании пространств имён, управление пропускной способностью (traffic shaping), многопоточность, улучшенная обработка ошибок и определение виртуальных хостов на основе масок.
Результаты синтетического тестирования производительности (без оптимизаций в конфигурации как есть) утилитой ab при запуске 250 и 500 (в скобках) параллельных запросов ("ab -k -c 250 -n 10000 http://localhost/"):
  • hinsightd/0.9.17 - 63035.01 запросов в секунду (54984.63)
  • lighttpd/1.4.67 - 53693.29 запросов в секунду (1613.59)
  • Apache/2.4.54 - 37474.10 запросов в секунду (34305.55)
  • Caddy/2.6.2 - 35412.02 запросов в секунду (33995.57)
  • nginx/1.23.2 - 26673.64 запросов в секунду (26172.73)

===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_hinsightd, #_http, #_io_uring
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 02-Фев 22:45
Часовой пояс: UTC + 5