В рамках проекта Lwan развивается новый высокопроизводительный HTTP-сервер
Сервер включает встроенный движок-шаблонизатор Mustache, поддерживает подключение обработчиков контента, написанных на языках Си и Lua, и предоставляет API для разработки интегрированных с HTTP-сервером web-приложений и для создания дополнений, расширяющих возможности HTTP-сервера. Lwan поддерживает протоколы HTTP/1.0, HTTP/1.1 (с поддержкой keep-alive и pipelined) и PROXY, для перенаправления запросов применяется сопоставление по шаблонам Lua.
Для асинхронной обработки соединений используются сопрограммы, выполнение которых координируется встроенным планировщиком совместной многозадачности, что позволяет создать иллюзию блокирующего ввода/вывода для обработчиков запросов. Сервер обеспечивает минимальное потребление памяти и минимизирует число системных вызовов, операций копирования и распределения памяти. Например, для 10 тысяч ожидающих обработки соединений расходуется около 500 Кб ОЗУ. Размер исполняемого файла составляет 110 Кб.
В зависимости от размера файла выбирается оптимальный метод его отдачи, например, для файлов больше 16 Кб не используется прямая отдача без промежуточного копирования в пространство пользователя, а для небольших файлов применяется векторизированный ввод/вывод с задействованием отражённых через mmap буферов.
Источник: http://www.opennet.ru/opennews/art.shtml?num=44301
|
0 | Tweet | Нравится |
|