Lwan — это высокопроизводительный и масштабируемый веб-сервер для платформ glibc/Linux.
Lwan разрабатывался почти 4 года, до сих пор это была личная исследовательская работа, которая была сосредоточена в основном на создании надежной инфраструктуры для легкого и быстрого веб-сервера:
* Низкий объем памяти (~ 500 КБ для 10 тыс. незанятых подключений)
* Минимальные выделения памяти и копии
* Минимум системных вызовов
* Созданный вручную парсер HTTP-запросов
* Файлы обслуживаются наиболее эффективным способом в зависимости от их размера
- Нет копий между ядром и пользовательской средой для файлов размером более 16 КБ.
- Файлы меньшего размера отправляются с использованием векторного ввода-вывода буферов, отображаемых в память.
- Накладные расходы на заголовки учитываются перед сжатием небольших файлов.
* В основном многопоточный дизайн без ожидания
* База кода Diminute примерно из 7200 строк кода C
Функции
• Механизм шаблонов усов
• Используется для списка каталогов и сообщений об ошибках
• Доступно для пользовательских обработчиков
• Простой в использовании API для создания веб-приложений или расширения веб-сервера.
• Поддерживает ребимбока да парафусета
• Набор тестов, написанный на Python, проверяет сервер как черный ящик.
• Строгий синтаксис конфигурационного файла.
• Поддерживает подмножество HTTP/1.0 и HTTP/1.1.
• активация системного сокета
• IPv6 готов