Новые разделы!
ИИ, квантовые вычисления и много других интересных тем
29.12.2014
Японский программист Kazuho Oku, в своё время создавший Palmscape, первый web-браузер для платформы PalmPilot, а также язык программирования JSX и движок хранения для MySQL Q4M, анонсировал первый выпуск нового высокопроизводительного HTTP-сервера H2O, в некоторых тестах до двух раз обгоняющего Nginx по скорости обработки запросов. H2O поддерживает протоколы HTTP/1.x и HTTP/2, и может использоваться как обособленный сервер, так и в форме библиотеки для встраивания функциональности HTTP-сервера в другие продукты. Код проекта написан на языке Си и поставляется под свободной лицензией MIT.
В качестве причины создания нового HTTP-сервера называется желание обеспечить максимальную производительность в условиях меняющихся при переходе от HTTP/1 к HTTP/2 реалий, в частности, значительного увеличения числа обрабатываемых файлов. Развиваемые для HTTP/1 методы оптимизации не всегда применимы к протоколу HTTP/2, для которого решены проблемы с утилизацией имеющейся пропускной способности в условиях передачи большого числа файлов. Если для HTTP/1 с целью снижения накладных расходов разработчики старались минимизировать число передаваемых файлов и по возможности комбинировать их в более крупные порции данных, например, применяя слияние CSS-файлов, то для HTTP/2 более оптимальной является раздельная поставка ресурсов в отдельных файлах, так как их доставка может быть эффективно распараллелена в рамках одного канала связи.
При тестировании в условиях обработки большого числа мелких запросов H20 заметно обогнал nginx по скорости отдачи как статических файлов так и при использовании в роли reverse-proxy. При этом в тестах фигурируют только мелкие запросы размером от нескольких байт до 10Кб, для более крупных запросов сравнение не проводилось, но судя по динамике изменения результатов имеющихся тестов, чем больше размер данных, тем меньше отличия в производительности. Например, при отдаче 6 байт разница в показателях теста "wrk -c 500 -d 30 -t 1" для h2o и nginx составляет 75483 и 37289, а для 4Кб - 59673 и 43988;

Основные возможности: