Автор статьи: Алексей Гончаров, e-commerce full-stack разработчик, основатель digital агентства Readycode.ru
Я всегда нахожусь в поиске новых технологий для оптимизации скорости сайтов и веб-приложений. Правильный веб-сервер во многом определяет скоростные показатели вашего сайта. В этой статье мы сравним производительность LiteSpeed и Ngnix и выясним, на каком их этих веб-серверов WordPress + Woocommerce показывает наилучший результат.
Было много сообщений от нишевых и не очень блогов, утверждающих, что LiteSpeed работает на 1200% лучше, чем Ngnix, что LiteSpeed показывает гораздо более сильные результаты при тестах производительности в сравнении с Ngnix. Согласно тестам производительности Litespeed (от разработчиков LiteSpeed) по сравнению с Ngnix он показывает большую разницу в производительности, так что если это окажется правдой, то переход с Ngnix на LiteSpeed будет вполне оправдан. На самом деле, “на 1200%” звучит слишком хорошо, чтобы быть правдой.
Из таких статей я не получил удовлетворительных ответов, а тесты производительности часто были очень односторонними. Моё решение было простым: самостоятельно запустить пару серверов и провести реальное тестирование!
В этой статье я отвечу на следующий вопрос: насколько хорош OpenLiteSpeed в сравнении с Ngnix при использовании в WordPress?
Что такое LiteSpeed?
LiteSpeed — это веб-сервер от компании LiteSpeed Technologies. Веб-сервер позволяет компьютеру или серверу, подключенному к Интернету, размещать и обслуживать сайты.
LiteSpeed известен своей производительностью и совместимостью с Apache, другим очень популярным веб-сервером.
В этой статье мы сосредоточимся на версии LiteSpeed Web Server с открытым исходным кодом, которая называется OpenLiteSpeed.
Некоторые компании, предоставляющие виртуальный хостинг, с большим успехом используют OpenLiteSpeed, но многие крупные хостинг-компании используют Ngnix или Apache.
Что такое Ngnix?
Ngnix (произносится, как «engine-ex») – это тоже open source веб-сервер, который с момента своего первоначального успеха в качестве веб-сервера, теперь также используется в качестве обратного прокси-сервера, кэша HTTP и балансировщика нагрузки. Он используется многими крупными компаниями, такими как Dropbox и Netflix, и становится все более популярным.
Он известен тем, что хорошо обрабатывает статичные файлы, а также имеет специальные модули для кэширования (FastCGI) и работы с PHP (PHP-FPM).
LiteSpeed против Ngnix: Результаты
Для тестирования я создал 2 сервера, оба с 2 ядрами и 4 ГБ оперативной памяти. Так же использовал еще один дополнительный сервер, на котором установил приложение для тестирования нагрузки. На одном сервере я установил Ngnix, а на другом — OpenLiteSpeed. Для некоторых тестов производительности я также включил кэширование FastCGI для Ngnix и для LiteSpeed.
Мои тесты сравнивают OpenLiteSpeed с Ngnix.
Затем я провел следующие тесты на этих сайтах WordPress:
- Тесты времени на получение первого байта (time to first byte, TTFB) и нагрузки с помощью Sucuri Performance Check.
- Тест производительности при 1000 пользователях в секунду с использованием Loader.io (с включенным кэшированием)
- Тест производительности при 50 пользователях в секунду с использованием Loader.io (без кэширования)
- Тест производительности от 0 до 10.000 пользователей за одну секунду, используя Loader.io (с включенным кэшированием)
- Тест, который я написал сам, позволяющий добавление, получение и удаление 10000 постов
- Тест с использованием плагина WordPress Performance Tester
- Тест с использованием плагина WordPress Benchmark Plugin.
OpenLiteSpeed против Ngnix: TTFB (равенство)
Результаты для Ngnix
Результаты тестов TTFB:
NgnixOpenLiteSpeedСамое быстрое TTFB32 мс34 мсСамое быстрое в итоге38 мс68 мсСреднее TTFB372 мс317 мсСреднее в итоге668 мс550 мс
Ngnix загружается быстрее для самого близкого местоположения, в то время как OpenLiteSpeed работает лучше для всех возможных расположений в среднем.
OpenLiteSpeed против Ngnix: Тест производительности при 1000 пользователях в секунду (с включенным кэшированием — победа Ngnix
Результаты для Ngnix
Результаты для OpenLiteSpeed
Используя loader.io, который имитирует запросы пользователей, мы можем получить хорошее представление об эффективности кэширования. В данном случае 1000 пользователей в секунду равно 1000 запросов в секунду.
Метрики (1000 кэшированных пользователей)NgnixOpenLiteSpeedСредний отклик744 мс1615 мсМинимальный отклик101 мс102 мсМаксимальный отклик10296 мс11381 мсУспешные запросы5996453791Ошибки таймаута016Сетевые ошибки0346
Ngnix демонстрирует здесь гораздо лучшие результаты, поскольку у него больше запросов и ниже среднее время отклика.
Ngnix также имеет более стабильное время отклика, с меньшим количеством скачков на графике, и ему удалось успешно обработать 99,9% всех запросов.
У OpenLiteSpeed было несколько сетевых ошибок и таймаутов (время отклика > 10 секунд), и он обработал только 90% от максимально возможного количества запросов.
OpenLiteSpeed против Ngnix: Тест производительности от 0 до 10.000 пользователях (с включенным кэшированием) (победа OpenLiteSpeed)
Но как сравниваются обе платформы, если мы медленно увеличиваем количество пользователей с 0 до 10.000 за одну минуту?
Ngnix: от 0 до 10.000
OpenLiteSpeed: от 0 до 10.000
Интересно, что при использовании Ngnix мы видим, что время отклика примерно соответствует росту числа посетителей. Однако в случае с OpenLiteSpeed это число остается неизменным, а после 9000+ пользователей происходит ступенчатое увеличение, что приводит к большому количеству тайм-аутов.
По сути, OpenLiteSpeed работал лучше примерно при 9000 пользователей, что также приводило к большему количеству успешных запросов. Вот обзор всех показателей:
Метрика (0-10000 пользователей)NgnixOpenLiteSpeedСредний отклик3069 мс2041 мсМинимальный отклик110 мс103 мсМаксимальный отклик12028 мс16661 мсУспешные запросы85489111784Ошибки таймаута03822Сетевые ошибки00
Давайте посмотрим, что произойдет, если мы отключим кэширование!
OpenLiteSpeed против Ngnix: Тест производительности при 50 пользователях в секунду (с выключенном кэшированием) (победа Ngnix)
При выключенном кэшировании мы получаем совершенно другую картину.
Ngnix: 50 некэшированных пользователей
OpenLiteSpeed: 50 некэшированных пользователей
Ngnix работает намного лучше, чем LiteSpeed, с гораздо большим количеством успешных запросов и меньшим временем отклика.
Метрики (50 некэшированных пользователей)NgnixOpenLiteSpeedСредний отклик1918 мс3560 мсМинимальный отклик498 мс1137 мсМаксимальный отклик3069 мс11077 мсУспешные запросы21711313Ошибки таймаута00Сетевые ошибки00
Еще один популярный инструмент для тестирования нагрузки — h2load. Он часто встречается его в блогах. Следующие результаты говорят об этом.
OpenLiteSpeed против Ngnix: h2load (с включенным кэшированием) (победа OpenLiteSpeed)
Я выполнил следующий тест:
h2load -n10000 -c100 -m10 --h1 "https://host.goncharov.press"
По сути, это означает, что нужно выполнить 10.000 запросов со 100 пользователями, которые могут иметь до 10 одновременных потоков. И вот результаты:
Метрики (1000 кэшированных пользователей)NgnixOpenLiteSpeedВремя завершения5.59 секунд4.87 сОбработано запросов1790,45 запрос/с2052,24 запрос/сСкорость93,86 Мбайт/с107,79 Мбайт/с
Здесь OpenLiteSpeed работает лучше.
OpenLiteSpeed против Ngnix: h2load (с выключенном кэшированием) (победа Ngnix)
Но увидим ли мы такую же разницу при отключении кэширования? Давайте посмотрим! Я выполнил следующую команду, которая загружает некэшированные версии сайта.
h2load -n1000 -c10 -m10 --h1 "https://hostg.goncharov?nocache"
И вот результаты:
Метрики (10 некэшированных пользователей)NgnixOpenLiteSpeedВремя завершения24.95 секунд43.54 секундОбработано запросов40.09 запрос/с22.97 запрос/сСкорость1.92 Мбайт/с1001 Кбайт/с
Как и в тесте с Loader.io, Ngnix показывает здесь гораздо лучшие результаты.
Давайте теперь погрузимся в некоторые специфичные для WordPress тесты производительности и посмотрим, как сравниваются оба гиганта.
OpenLiteSpeed против Ngnix: Создание и удаление постов WordPress (победа OpenLiteSpeed)
Тестирование вставки и удаления постов — это простой самописный тест, в которым я создаю, получаю и удаляю 10.000. Для каждого из этих действий я регистрирую время, которое оно заняло.
NgnixOpenLiteSpeedВставить 10.000 постов46,939 секунд41,041 секундУдалить 10.000 постов44,538 секунд43,170 секундЗапросить 10.000 постов0,318 секунд0,376 секунд
В этом случае OpenLiteSpeed немного быстрее.
OpenLiteSpeed против Ngnix: Тестирование производительности WordPress (равенство)
Плагин WordPress Performance Tester делает два теста производительности, которые оценивают работу сервера и количество запросов в секунду в WordPress. Это хороший показатель производительности веб-сервера.
NgnixOpenLiteSpeedПоказатель сервера8.2748.109Запросы в секунду13261304
В этом тесте Ngnix и OpenLiteSpeed работают одинаково Для оценки сервера, чем меньше показатель, тем лучше.
OpenLiteSpeed против Ngnix: WordPress Benchmark Tools (победа OpenLiteSpeed)
Инструмент WordPress Hosting Benchmark — это отличный инструмент, который тестирует производительность вашего процессора, памяти, MySQL, хранилища и сети. Он дает представление о том, насколько хорош ваш хостинг-провайдер, а также о том, насколько эффективно работает стек веб-серверов.
В этом тесте производительности OpenLiteSpeed работает немного лучше, за исключением ввода-вывода небольших файлов.
NgnixOpenLiteSpeedОперации с большими текстовыми данными8.3 секунд7.8 секундПроизвольные операции с двоичными данными7.5 секунд7.3 секундВозможность записи в файловую систему1179 Мбайт/с1174 Мбайт/сСкорость копирования и доступа к локальным файлам1047 Мбайт/с1143 Мбайт/сТест ввода-вывода небольших файлов990 Мбайт/с698 Мбайт/сИмпорт большого количества данных в базу данных3.5 с3.3 сПростые запросы к одной таблице1.2 с1 сСложные запросы к базе данных по нескольким таблицам5 с4.7 сОбщий балл7.97.9
Итак, мы с вами провели много сравнительных тестов. Пришло время перейти к выводам.
OpenLiteSpeed против Ngnix: скорость WooCommerce
Хотя предыдущие тесты производительности и были сделаны на базовом варианте установк, это не совсем отражает среднестатистический сайт на WordPress.
Поэтому я решил провести еще один этап тестирования с простым интернет-магазином, который работает на популярной теме WordPress и WooCommerce. Дополнительно я масштабировал сервер, чтобы посмотреть, каким будет эффект (от 1 ядра и 2 ГБ оперативной памяти до 4 ядер и 8 ГБ оперативной памяти, используя замечательные серверы от Timeweb). Итак, что я тестировал?
- Производительность загрузки для трех уровней с помощью h2load.
- Время, необходимое для создания/удаления/получения 10.000 постов.
- Сколько времени требуется для создания 1000 и 10.000 случайных товаров WooCommerce.
- Время загрузки и запросы MySQL по данным Query Monitor при различных настройках.
- Время, необходимое для импорта 1000 постов с помощью WP All Import.
Нагрузочный тест (с включенным кэшированием): Ничья
В этом нагрузочном тесте я выполнил 10000 запросов, вызванных 100 одновременными пользователями, на кэшированной странице веб-сайта. Вот результаты:
СерверЗапросов в секундуNgnix на 1 ядре / 2 ГБ2605OLS на 1 ядре / 2 ГБ1055Ngnix на 2 ядрах / 4 ГБ1094OLS на 2 ядрах / 4 ГБ1105Ngnix на 4 ядрах / 8 ГБ1086OLS на 4 ядрах / 8 ГБ1103
За исключением самого маленького сервера Ngnix, результаты практически одинаковы. Однако у OpenLiteSpeed TTFB было меньше. При увеличении мощности сервера я также не заметил особого эффекта.
Нагрузочный тест (без кэширования): победа Ngnix
В этом нагрузочном тесте я выполнил 1000 запросов, вызванных 10 одновременными пользователями, на некэшированной странице веб-сайта. Вот результаты:
СерверЗапросов в секундуNgnix на 1 ядре / 2 ГБ8.3OLS на 1 ядре / 2 ГБ4.01Ngnix на 2 ядрах / 4 ГБ14.97OLS на 2 ядрах / 4 ГБ8.28Ngnix на 4 ядрах / 8 ГБ29.25OLS на 4 ядрах / 8 ГБ16.83
Как и в базовой установке, Ngnix может обрабатывать гораздо больше пользователей без кэширования, и было отмечено явное улучшение производительности для масштабируемых серверов. И снова мы видим возможности кэширования, поскольку некэшированная конфигурация намного медленнее.
Тестирование создания / удаления / получения постов: победа Ngnix
В этом тесте я вставил, запросил и удалил 10.000 постов. Вот результаты:
СерверСоздание (с)Запрос (с)Удаление (с)Ngnix на 1 ядре / 2 ГБ39.8650.37838.742OLS на 1 ядре / 2 ГБ59.0840.50558.640Ngnix на 2 ядрах / 4 ГБ56.6550.37048.120OLS на 2 ядрах / 4 ГБ52.6990.41359.617Ngnix на 4 ядрах / 8 ГБ36.8530.36433.128OLS на 4 ядрах / 8 ГБ50.9060.46341.256
Здесь Ngnix явно выигрывает
В этой тесте Ngnix намного быстрее, чем OpenLiteSpeed, особенно при удалении или вставке постов.
WordPress работает в однопоточном режиме
За исключением некоторой разницы с Ngnix, в целом нет изменений при увеличении мощности сервера, точнее, не они не настолько большие, насколько мы ожидали. Всё потому, что WordPress (и PHP) — однопоточный; один процесс назначается одному потоку. Это означает, что независимо от того, сколько ядер у сервера, один процесс (в данном случае, создание, удаление, получение постов) выполняется одним ядром. Однако при большем количестве ядер вы можете запускать больше процессов одновременно, что обычно приводит к более высокой производительности.
Тесты производительности при создании товаров: Равенство
С помощью WC Smooth Generator я создал 1000, а затем 10.000 товаров и замерил время создания. OpenLiteSpeed обработал 1000 товаров быстрее, в то время как Ngnix обработал быстрее 10.000 товаров.
Сервер1000 товаров10.000 товаровNgnix на 4 ядрах / 8 ГБ00:03:5400:54:19OLS на 4 ядрах / 8 ГБ00:03:1500:56:42
В фоновом режиме я также провел тест с использованием сервера меньшего размера, но существенного влияния на время создание товаров не было.
Поскольку этот тест занимает гораздо больше времени, он также является хорошим тестом на “долговечность”, другими словами: насколько долго держится данная производительность.
Результаты мониторинга запросов: победа Ngnix
Для нескольких десятков товаров, я заходил на страницу редактирования товара, редактировал один из них, и смотрел метрики в Query Monitor. Query Monitor — это плагин, который помогает улучшать производительность, отслеживать метрики и видеть, какой код в WordPress является медленным и оказывает непосредственное влияние на скорость сайта.
Плагин отслеживает время, необходимое для выполнения PHP, время, необходимое для запроса к базе данных, и сколько оперативной памяти и запросов задействуется в этом процессе.
Тест по умолчанию (17 товаров)
СтраницаЗагрузка PHP (с)Загрузка запроса (с)Ngnix — Страница товаров0.370.04OLS — Страница товаров0.820.05Ngnix — Страница редактирования товара0.370.08OLS — Страница редактирования товара1.541.17Загрузка страницы с 17 товарами
Здесь Ngnix показал себя намного лучше, а OLS показал несколько странных значений при редактировании товара. Но какие результаты для 1000 товаров?
Тест 1000 товаров
СтраницаЗагрузка PHP (с)Загрузка запроса (с)Ngnix — Страница товаров0.270.06OLS — Страница товаров0.650.08Ngnix — Страница редактирования товара0.470.04OLS — Страница редактирования товара0.420.09Загрузка страницы с 1000 товарами
Опять же, Ngnix был быстрее в запросах и загрузке страниц, за исключением страницы с редактированием товара, на которой OpenLiteSpeed загрузился немного быстрее (хотя запрос был медленнее).
Тест 11000 товаров
Здесь постепенно мы видим результаты наличия большого количества товаров в нашей базе данных, что приводит к увеличению времени запроса.
СтраницаЗагрузка PHP (с)Загрузка запроса (с)Ngnix — Страница товаров0.480.11OLS — Страница товаров1.010.25Ngnix — Страница редактирования товара0.550.34OLS — Страница редактирования товара1.790.46Загрузка страницы с 11000 товарами
Опять же, Ngnix здесь справляется лучше, даже после многократного обновления, загрузки страницы и усреднения чисел, чтобы убедиться, что наш результат не случаен.
Кстати, я так же проделал это действие в рамках мощной конфигурации сервера, поскольку уменьшение мощности сервера не оказывает существенного влияния на результаты.
Результаты тестирование импорта: победа Ngnix
Я импортировал 1000 товаров в WordPress с помощью WP All import и засек время, которое занял импорт. Вот результаты:
СтекПродолжительность импортаNgnix00:01:15OLS00:01:26Импорт 1000 товаров
Опять же, Ngnix кажется здесь немного быстрее. Это особенно заметно, если импорт содержит уже существующие товары.
LiteSpeed против Ngnix: Показатели близки, но Ngnix, видимо, выиграл.
В моих тестах Ngnix и LiteSpeed показали очень близкие результаты, хотя в примере с интернет-магазином Ngnix справляется лучше.
- В большинстве тестов разница очень мала, OpenLiteSpeed незначительно быстрее для серверных операций и в ситуациях с кэшированием (за исключением обработки 1000 одновременных пользователей).
- Ngnix показал себя намного лучше в нагрузочных тестах, когда кэширование было отключено, обрабатывая то же количество запросов и пользователей намного быстрее.
К сожалению, я не могу дать однозначного совета, какой веб-сервер использовать вам: LiteSpeed или Ngnix. Но что делать, если решение принимать всё-таки придётся?
- Однозначно используйте OpenLiteSpeed, если вы хотите иметь простой в использовании плагин кэширования под WordPress, который удовлетворит все ваши потребности в производительности, а также если вам нужна совместимость с .htaccess. У него так же есть ESI-кэширование (edge side includes), которое можно использовать для кэширования динамических страниц типа каталога, корзины и вишлиста.
- Используйте Ngnix, если вам нужна высокая производительность без кэширования и вам нужны конфиги Ngnix.
Кроме всего вышесказанного, при выборе LiteSpeed или Ngnix следует учитывать еще несколько моментов.
Самый большой плюс использования LiteSpeed в WordPress
Самым большим преимуществом использования Litespeed для WordPress является его родной плагин кэширования LiteSpeed Cache. Это универсальный мультитул под большинство ваших задач по оптимизации скорости WordPress и Woocommerce. В нём есть всё для кэширования, минификации, сжатия, объектный кэш через Redis или Memcached, ESI, оптимизации изображений, CDN, очистки базы данных и многое другое. Вишенка на торте: LiteSpeed Cache — бесплатен.
К сожалению, у Ngnix нет такого плагина в комплекте, зато есть другие платные и бесплатные альтернативы, такие как WP Rocket, WP Fastest Cache и т.д.
Как видим, сравнение Ngnix и LiteSpeed показало, что Ngnix по результатам тестов — явный победитель в плане производительности. Но вам стоит принимать во внимание тот факт, что каждый сайт — уникален: выбранная тема и плагины могут сильно влиять на производительность сайта, и один и тот же сайт на Ngnix и OLS может работать совершенно по-разному. Даже на уровне субъективных ощущений от использования. На опыту могу сказать, что WordPress и Woocommerce по OLS дают гораздо более приятный “полёт», чем на Ngnix. Что использовать в итоге – решать вам.
Узнать еще больше актуальных подробностей об использовании Ngnix в различных сценариях можно на онлайн-курсах в OTUS. Ознакомиться с полным списком курсов по всем направлениям можно по ссылке.
<!DOCTYPE html>
<html dir="ltr" lang="ru-RU">
<head>
<meta charset="UTF-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<title>LiteSpeed против Ngnix: Большая битва (тесты производительности, WordPress и OpenLiteSpeed) OTUS</title>
<!-- All in One SEO 4.5.2.1 - aioseo.com -->
<meta name="description" content="Автор статьи: Алексей Гончаров, e-commerce full-stack разработчик, основатель digital агентства Readycode.ru Я всегда нахожусь в поиске новых технологий для оптимизации скорости сайтов и веб-приложений. Правильный веб-сервер во многом определяет скоростные показатели вашего сайта. В этой статье мы сравним производительность LiteSpeed и Ngnix и выясним, на каком их этих веб-серверов Wordpress + Woocommerce показывает наилучший результат. Было" />
<meta name="robots" content="max-image-preview:large" />
<link rel="canonical" href="https://otus.ru/journal/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed/" />
<meta name="generator" content="All in One SEO (AIOSEO) 4.5.2.1" />
<script type="application/ld+json" class="aioseo-schema">
{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/otus.ru\/journal\/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed\/#article","name":"LiteSpeed \u043f\u0440\u043e\u0442\u0438\u0432 Ngnix: \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0431\u0438\u0442\u0432\u0430 (\u0442\u0435\u0441\u0442\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, WordPress \u0438 OpenLiteSpeed) OTUS","headline":"LiteSpeed \u043f\u0440\u043e\u0442\u0438\u0432 Ngnix: \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0431\u0438\u0442\u0432\u0430 (\u0442\u0435\u0441\u0442\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, WordPress \u0438 OpenLiteSpeed)","author":{"@id":"https:\/\/otus.ru\/journal\/author\/k-moseenkova\/#author"},"publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2022\/11\/oj-1080x720-6.png","width":1080,"height":720},"datePublished":"2022-11-03T14:08:38+00:00","dateModified":"2022-11-03T14:09:41+00:00","inLanguage":"ru-RU","mainEntityOfPage":{"@id":"https:\/\/otus.ru\/journal\/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed\/#webpage"},"isPartOf":{"@id":"https:\/\/otus.ru\/journal\/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed\/#webpage"},"articleSection":"\u041f\u0440\u043e IT, \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430"},{"@type":"BreadcrumbList","@id":"https:\/\/otus.ru\/journal\/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/#listItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/otus.ru\/journal\/","nextItem":"https:\/\/otus.ru\/journal\/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed\/#listItem"},{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed\/#listItem","position":2,"name":"LiteSpeed \u043f\u0440\u043e\u0442\u0438\u0432 Ngnix: \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0431\u0438\u0442\u0432\u0430 (\u0442\u0435\u0441\u0442\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, WordPress \u0438 OpenLiteSpeed)","previousItem":"https:\/\/otus.ru\/journal\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/otus.ru\/journal\/#organization","name":"\u041e\u0442\u0443\u0441 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","url":"https:\/\/otus.ru\/journal\/","sameAs":["https:\/\/www.youtube.com\/channel\/UCetgtvy93o3i3CvyGXKFU3g"],"contactPoint":{"@type":"ContactPoint","telephone":"+74999389202","contactType":"Customer Support"}},{"@type":"Person","@id":"https:\/\/otus.ru\/journal\/author\/k-moseenkova\/#author","url":"https:\/\/otus.ru\/journal\/author\/k-moseenkova\/","name":"K. Moseenkova","image":{"@type":"ImageObject","@id":"https:\/\/otus.ru\/journal\/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/5bcd16ae9d4759f7841464ca0c13ba63?s=96&d=mm&r=g","width":96,"height":96,"caption":"K. Moseenkova"}},{"@type":"WebPage","@id":"https:\/\/otus.ru\/journal\/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed\/#webpage","url":"https:\/\/otus.ru\/journal\/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed\/","name":"LiteSpeed \u043f\u0440\u043e\u0442\u0438\u0432 Ngnix: \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0431\u0438\u0442\u0432\u0430 (\u0442\u0435\u0441\u0442\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, WordPress \u0438 OpenLiteSpeed) OTUS","description":"\u0410\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438: \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u0413\u043e\u043d\u0447\u0430\u0440\u043e\u0432, e-commerce full-stack \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c digital \u0430\u0433\u0435\u043d\u0442\u0441\u0442\u0432\u0430 Readycode.ru \u042f \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0430\u0445\u043e\u0436\u0443\u0441\u044c \u0432 \u043f\u043e\u0438\u0441\u043a\u0435 \u043d\u043e\u0432\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0441\u0430\u0439\u0442\u043e\u0432 \u0438 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u043e \u043c\u043d\u043e\u0433\u043e\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u044b\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c LiteSpeed \u0438 Ngnix \u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u043c, \u043d\u0430 \u043a\u0430\u043a\u043e\u043c \u0438\u0445 \u044d\u0442\u0438\u0445 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 Wordpress + Woocommerce \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442. \u0411\u044b\u043b\u043e","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/otus.ru\/journal\/#website"},"breadcrumb":{"@id":"https:\/\/otus.ru\/journal\/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed\/#breadcrumblist"},"author":{"@id":"https:\/\/otus.ru\/journal\/author\/k-moseenkova\/#author"},"creator":{"@id":"https:\/\/otus.ru\/journal\/author\/k-moseenkova\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2022\/11\/oj-1080x720-6.png","@id":"https:\/\/otus.ru\/journal\/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed\/#mainImage","width":1080,"height":720},"primaryImageOfPage":{"@id":"https:\/\/otus.ru\/journal\/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed\/#mainImage"},"datePublished":"2022-11-03T14:08:38+00:00","dateModified":"2022-11-03T14:09:41+00:00"},{"@type":"WebSite","@id":"https:\/\/otus.ru\/journal\/#website","url":"https:\/\/otus.ru\/journal\/","name":"OTUS JOURNAL","description":"Blog about IT","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"}}]}
</script>
<!-- All in One SEO -->
<link rel='dns-prefetch' href='//otus.ru' />
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='stylesheet' id='wp-block-library-css' href='https://otus.ru/journal/wp-includes/css/dist/block-library/style.min.css?ver=6.4.7' type='text/css' media='all' />
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css' type='text/css'>
body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
</style>
<link rel='stylesheet' id='wbcr-comments-plus-url-span-css' href='https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/css/url-span.css?ver=2.2.0' type='text/css' media='all' />
<link rel='stylesheet' id='wpel-style-css' href='https://otus.ru/journal/wp-content/plugins/wp-external-links/public/css/wpel.css?ver=2.59' type='text/css' media='all' />
<link rel='stylesheet' id='ez-toc-css' href='https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.61' type='text/css' media='all' />
<style id='ez-toc-inline-css' type='text/css'>
div#ez-toc-container .ez-toc-title {font-size: 120%;}div#ez-toc-container .ez-toc-title {font-weight: 500;}div#ez-toc-container ul li {font-size: 95%;}div#ez-toc-container nav ul ul li {font-size: 90%;}
.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul{counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul{counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }
</style>
<link rel='stylesheet' id='contentberg-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C500%2C700%7CPT+Serif%3A400%2C400i%2C600%7CIBM+Plex+Serif%3A500' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-core-css' href='https://otus.ru/journal/wp-content/themes/contentberg/style.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-lightbox-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/lightbox.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='font-awesome-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/fontawesome/css/font-awesome.min.css?ver=1.8.3' type='text/css' media='all' />
<script type="text/javascript" id="breeze-prefetch-js-extra">
/* <![CDATA[ */
var breeze_prefetch = {"local_url":"https:\/\/otus.ru\/journal","ignore_remote_prefetch":"1","ignore_list":["\/wp-admin\/"]};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js" id="breeze-prefetch-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/lazysizes.js" id="lazysizes-js"></script>
<link rel="https://api.w.org/" href="https://otus.ru/journal/wp-json/" /><link rel="alternate" type="application/json" href="https://otus.ru/journal/wp-json/wp/v2/posts/4901" /><link rel='shortlink' href='https://otus.ru/journal/?p=4901' />
<link rel="alternate" type="application/json+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Flitespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Flitespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed%2F&format=xml" />
<script>var Sphere_Plugin = {"ajaxurl":"https:\/\/otus.ru\/journal\/wp-admin\/admin-ajax.php"};</script><link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-270x270.png" />
<style type="text/css" id="wp-custom-css">
#menu-item-10406 .wpel-icon {
display: none;
}
#menu-item-10407 .wpel-icon {
display: none;
}
.otus-login-site a .wpel-icon {
display: none;
}
.menu-menju-navykov-container a .wpel-icon {
display: none;
}
.otus-login-site a
{
background: #ffd709;
border-radius: 12px;
color: #0f0f10;
font-size: 14px;
font-weight: 700;
line-height: 20px;
display: block;
text-align: center;
padding: 8px 25px;
}
.main-footer.dark {
background: linear-gradient(90deg, #a64fc5, #4f54e6);
border-color: transparent;
}
.main-footer.bold .copyright {
color: #fff;
}
.main-footer.bold .to-top i {
color: #fff;
}
.main-footer.bold .back-to-top {
color: #fff;
}
.nav__scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.scrollable-menu .menu {
display: flex;
}
.nav__scroll
{
background: linear-gradient(90deg, #a64fc5, #4f54e6);
}
.scrollable-menu .menu .menu-item {
flex: 0 0 auto;
padding: 15px 15px;
}
.scrollable-menu .menu .menu-item a {
color: #fff;
}
.nav__scroll::-webkit-scrollbar{background-color:#fff;height:5px;}
.nav__scroll::-webkit-scrollbar-thumb{background-color:#dcdcdc;}
.nav__scroll::-webkit-scrollbar-track{-webkit-border-radius:0;border-radius:0;background-color:#fff;}/
body {
min-width: 320px;
}
.banner-click img {
margin: 0 auto;
display: block;
}
.banner-click {
cursor: pointer;
}
.banner-footer-area {
margin-bottom: 20px;
}
.banner-left-area {
margin-top: 40px;
} </style>
<!--Start VDZ Yandex Metrika Plugin-->
<!-- Yandex.Metrika counter --><script type="text/javascript" >(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");ym(34531570, "init", {clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true, ecommerce:"dataLayer"});</script>
<noscript><div><img src="https://mc.yandex.ru/watch/34531570" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --><!--START ADD EVENTS FROM CF7--><script type='text/javascript'>document.addEventListener( 'wpcf7submit', function( event ) {
//event.detail.contactFormId;
if(ym){
//console.log(event.detail);
ym(34531570, 'reachGoal', 'VDZ_SEND_CONTACT_FORM_7');
ym(34531570, 'params', {
page_url: window.location.href,
status: event.detail.status,
locale: event.detail.contactFormLocale,
form_id: event.detail.contactFormId,
});
}
}, false );
</script><!--END ADD EVENTS FROM CF7-->
<!--End VDZ Yandex Metrika Plugin-->
</head>
<body class="post-template-default single single-post postid-4901 single-format-standard right-sidebar lazy-normal has-lb">
<div class="main-wrap">
<header id="main-head" class="main-head head-nav-below has-search-modal simple simple-boxed">
<div class="inner inner-head" data-sticky-bar="0">
<div class="wrap cf wrap-head">
<div class="left-contain">
<span class="mobile-nav"><i class="fa fa-bars"></i></span>
<div class="title">
<a href="https://otus.ru/journal/" title="OTUS JOURNAL" rel="home" data-wpel-link="internal">
<span class="text-logo"><img src="/journal/wp-content/themes/contentberg/img/logo_site.svg" alt="OTUS JOURNAL"></span>
</a>
</div>
</div>
<div class="navigation-wrap inline">
<nav class="navigation inline simple light" data-sticky-bar="0">
<div class="menu-rubriki-container"><ul id="menu-rubriki" class="menu"><li id="menu-item-109" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-cat-1 menu-item-109"><a href="https://otus.ru/journal/category/pro-it/" data-wpel-link="internal"><span>Про IT</span></a></li>
<li id="menu-item-113" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-4 menu-item-113"><a href="https://otus.ru/journal/category/polza/" data-wpel-link="internal"><span>Полезное</span></a></li>
<li id="menu-item-114" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-3 menu-item-114"><a href="https://otus.ru/journal/category/lifestyle/" data-wpel-link="internal"><span>Лайфстайл</span></a></li>
<li id="menu-item-10406" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10406"><a href="https://otus.ru/catalog/courses" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Обучение</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10407" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10407"><a href="https://otus.ru/about" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Информация</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </nav>
</div>
<div class="actions">
<div class="otus-login-site">
<a href="https://otus.ru/login/" target="_blank" data-wpel-link="external" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Войти<span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
<a href="#" title="Search" class="search-link"><i class="fa fa-search"></i></a>
</div>
</div>
</div>
</header> <!-- .main-head -->
<div class="nav nav_disable nav_colored nav_transparent course-categories__nav nav__scroll ">
<div class="container wrap">
<div class="links inline simple light scrollable-menu">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov" class="menu"><li id="menu-item-10413" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10414" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10418" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10419" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10420" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
</div>
</div>
<div class="main wrap">
<div class="ts-row cf">
<div class="col-8 main-content cf">
<article id="post-4901" class="the-post post-4901 post type-post status-publish format-standard has-post-thumbnail category-pro-it tag-veb-razrabotka">
<header class="post-header the-post-header cf">
<div class="post-meta the-post-meta">
<span class="post-cat">
<a href="https://otus.ru/journal/category/pro-it/" class="category" data-wpel-link="internal">Про IT</a>
</span>
<h1 class="post-title">
LiteSpeed против Ngnix: Большая битва (тесты производительности, WordPress и OpenLiteSpeed)
</h1>
<a href="https://otus.ru/journal/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed/" class="date-link" data-wpel-link="internal"><time class="post-date">3 ноября, 2022</time></a>
</div>
<div class="featured">
<a href="https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-6.png" class="image-link" data-wpel-link="internal"><img width="770" height="515" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20770%20515%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-contentberg-main size-contentberg-main lazyload wp-post-image" alt="LiteSpeed против Ngnix: Большая битва (тесты производительности, WordPress и OpenLiteSpeed)" title="LiteSpeed против Ngnix: Большая битва (тесты производительности, WordPress и OpenLiteSpeed)" decoding="async" fetchpriority="high" data-srcset="https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-6-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-6-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-6-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-6-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-6-270x180.png 270w" data-src="https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-6-770x515.png" data-sizes="(max-width: 770px) 100vw, 770px" /> </a>
</div>
</header><!-- .post-header -->
<div class="post-content description cf entry-content content-normal">
<div id="ez-toc-container" class="ez-toc-v2_0_61 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title " >Содержание</p>
<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="#%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_LiteSpeed" title="Что такое LiteSpeed?">Что такое LiteSpeed?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="#%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_Ngnix" title="Что такое Ngnix?">Что такое Ngnix?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="#LiteSpeed_%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2_Ngnix_%D0%A0%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D1%8B" title="LiteSpeed против Ngnix: Результаты">LiteSpeed против Ngnix: Результаты</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="#OpenLiteSpeed_%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2_Ngnix_%D1%81%D0%BA%D0%BE%D1%80%D0%BE%D1%81%D1%82%D1%8C_WooCommerce" title="OpenLiteSpeed против Ngnix: скорость WooCommerce">OpenLiteSpeed против Ngnix: скорость WooCommerce</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="#LiteSpeed_%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2_Ngnix_%D0%9F%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D0%B8_%D0%B1%D0%BB%D0%B8%D0%B7%D0%BA%D0%B8_%D0%BD%D0%BE_Ngnix_%D0%B2%D0%B8%D0%B4%D0%B8%D0%BC%D0%BE_%D0%B2%D1%8B%D0%B8%D0%B3%D1%80%D0%B0%D0%BB" title="LiteSpeed против Ngnix: Показатели близки, но Ngnix, видимо, выиграл.">LiteSpeed против Ngnix: Показатели близки, но Ngnix, видимо, выиграл.</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="#%D0%A1%D0%B0%D0%BC%D1%8B%D0%B9_%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%BE%D0%B9_%D0%BF%D0%BB%D1%8E%D1%81_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_LiteSpeed_%D0%B2_WordPress" title="Самый большой плюс использования LiteSpeed в WordPress">Самый большой плюс использования LiteSpeed в WordPress</a></li></ul></nav></div>
<p>Автор статьи: Алексей Гончаров, e-commerce full-stack разработчик, основатель digital агентства <a target="_blank" href="http://readycode.ru/" rel="noreferrer noopener nofollow external" data-wpel-link="external" class="wpel-icon-right">Readycode.ru<span class="wpel-icon wpel-image wpel-icon-6"></span></a></p>
<hr class="wp-block-separator"/>
<p>Я всегда нахожусь в поиске новых технологий для оптимизации скорости сайтов и веб-приложений. Правильный веб-сервер во многом определяет скоростные показатели вашего сайта. В этой статье мы сравним производительность LiteSpeed и Ngnix и выясним, на каком их этих веб-серверов WordPress + Woocommerce показывает наилучший результат. </p>
<p>Было много сообщений от нишевых и не очень блогов, утверждающих, что LiteSpeed работает на 1200% лучше, чем Ngnix, что LiteSpeed показывает гораздо более сильные результаты при тестах производительности в сравнении с Ngnix. Согласно тестам производительности Litespeed (от разработчиков LiteSpeed) по сравнению с Ngnix он показывает большую разницу в производительности, так что если это окажется правдой, то переход с Ngnix на LiteSpeed будет вполне оправдан. На самом деле, “на 1200%” звучит слишком хорошо, чтобы быть правдой.</p>
<p>Из таких статей я не получил удовлетворительных ответов, а тесты производительности часто были очень односторонними. Моё решение было простым: самостоятельно запустить пару серверов и провести реальное тестирование!</p>
<p>В этой статье я отвечу на следующий вопрос: <strong>насколько хорош OpenLiteSpeed в сравнении с Ngnix при использовании в WordPress?</strong></p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_LiteSpeed"></span><strong>Что такое LiteSpeed?</strong><span class="ez-toc-section-end"></span></h2>
<p>LiteSpeed — это веб-сервер от компании LiteSpeed Technologies. Веб-сервер позволяет компьютеру или серверу, подключенному к Интернету, размещать и обслуживать сайты.</p>
<p>LiteSpeed известен своей производительностью и совместимостью с Apache, другим очень популярным веб-сервером.</p>
<p>В этой статье мы сосредоточимся на версии <strong>LiteSpeed Web Server с открытым исходным кодом</strong>, которая называется <strong>OpenLiteSpeed</strong>.</p>
<p>Некоторые компании, предоставляющие виртуальный хостинг, с большим успехом используют OpenLiteSpeed, но многие крупные хостинг-компании используют Ngnix или Apache.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_Ngnix"></span><strong>Что такое Ngnix?</strong><span class="ez-toc-section-end"></span></h2>
<p><a href="https://nginx.org/en/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Ngnix<span class="wpel-icon wpel-image wpel-icon-6"></span></a> (произносится, как «engine-ex») – это тоже open source веб-сервер, который с момента своего первоначального успеха в качестве веб-сервера, теперь также используется в качестве обратного прокси-сервера, кэша HTTP и балансировщика нагрузки. Он используется многими крупными компаниями, такими как Dropbox и Netflix, и становится все более популярным.</p>
<p>Он известен тем, что хорошо обрабатывает статичные файлы, а также имеет специальные модули для кэширования (FastCGI) и работы с PHP (PHP-FPM).</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="LiteSpeed_%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2_Ngnix_%D0%A0%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D1%8B"></span><strong>LiteSpeed против Ngnix: Результаты</strong><span class="ez-toc-section-end"></span></h2>
<p>Для тестирования я создал 2 сервера, оба с 2 ядрами и 4 ГБ оперативной памяти. Так же использовал еще один дополнительный сервер, на котором установил приложение для тестирования нагрузки. На одном сервере я установил <strong>Ngnix</strong>, а на другом — <strong>OpenLiteSpeed</strong>. Для некоторых тестов производительности я также включил кэширование <strong>FastCGI</strong> для Ngnix и для LiteSpeed.</p>
<p>Мои тесты сравнивают <strong>OpenLiteSpeed</strong> с <strong>Ngnix</strong>.</p>
<p>Затем я провел следующие тесты на этих сайтах WordPress:</p>
<ul><li>Тесты времени на получение первого байта (time to first byte, TTFB) и нагрузки с помощью Sucuri Performance Check.</li><li>Тест производительности при 1000 пользователях в секунду с использованием Loader.io (с включенным кэшированием)</li><li>Тест производительности при 50 пользователях в секунду с использованием Loader.io (без кэширования)</li><li>Тест производительности от 0 до 10.000 пользователей за одну секунду, используя Loader.io (с включенным кэшированием)</li><li>Тест, который я написал сам, позволяющий добавление, получение и удаление 10000 постов</li><li>Тест с использованием плагина WordPress Performance Tester</li><li>Тест с использованием плагина WordPress Benchmark Plugin.</li></ul>
<p><strong>OpenLiteSpeed против Ngnix: TTFB (равенство)</strong></p>
<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/GYHttcVSpkEP34ZDgOK6d4QcMFhR-EfBr20gd1S6xzAmM6mlzhe3oZVw5twdi114gRjT_WLzUTt7kye9L7Ef6MA-BMToxt6jJiPMNa7F1eQZG-YQ_WhW-3Tnwhw_IRAqSgJDW97Q96I6rD_h9SH_pRIl72e1NbwtyaTx5XB5G7rduLZ_AvKNLYy6xLN0gg" alt="LiteSpeed против Ngnix: Большая битва (тесты производительности, WordPress и OpenLiteSpeed)"/><figcaption>Результаты для Ngnix</figcaption></figure>
<p><strong>Результаты тестов TTFB:</strong></p>
<figure class="wp-block-table"><table><tbody><tr><td></td><td><strong>Ngnix</strong></td><td><strong>OpenLiteSpeed</strong></td></tr><tr><td>Самое быстрое TTFB</td><td>32 мс</td><td>34 мс</td></tr><tr><td>Самое быстрое в итоге</td><td>38 мс</td><td>68 мс</td></tr><tr><td>Среднее TTFB</td><td>372 мс</td><td>317 мс</td></tr><tr><td>Среднее в итоге</td><td>668 мс</td><td>550 мс</td></tr></tbody></table></figure>
<p>Ngnix загружается быстрее для самого близкого местоположения, в то время как OpenLiteSpeed работает лучше для всех возможных расположений в среднем.</p>
<p><strong>OpenLiteSpeed против Ngnix: Тест производительности при 1000 пользователях</strong> <strong>в секунду (с включенным кэшированием — победа Ngnix</strong><strong><br></strong></p>
<figure class="wp-block-image is-resized"><img decoding="async" src="https://lh4.googleusercontent.com/UpIPiq5cVAGRCdCe8PVILtS8cdoYvEVM3p9CRpgBsxUrwfWBvQUUpgjA-lEibMeW8d5T7OOi2DwT0sLXM9BLNKSz54pVJq0YOg6q7jQ3JKVCX2KJt4SfidnPjIz288Lx_WKowBSLeQ-jszTmXCZYZ-BjqnfQf8-fCS005UGmDCqA5tduK9GG_vBNkqmeJA" alt="Nginx load-test results" width="758" height="601"/><figcaption>Результаты для Ngnix</figcaption></figure>
<p></p>
<figure class="wp-block-image"><img decoding="async" src="https://lh6.googleusercontent.com/RDN25s_z3fk57BtvQmixHzxvEdwvDz9k8s_xGpq6oNLV4KWTDRP1jjGsCn1mbS2JLd-w1e5U5XNkbms-gUuZu0UQQVYBkaoYZtQKTcSKxxSEuYk5IJwpZpfY6sG_aZ2m1AvAZGPtQdYGbRKYt6-wuI4cgbTPA-RcGMOk8oAL8uNsegP3SItNhypPrKdE3g" alt="LiteSpeed vs Nginx: The Big Battle (Benchmarks, WordPress & OpenLiteSpeed) 2"/><figcaption>Результаты для OpenLiteSpeed</figcaption></figure>
<p>Используя loader.io, который имитирует запросы пользователей, мы можем получить хорошее представление об эффективности кэширования. В данном случае 1000 пользователей в секунду равно 1000 запросов в секунду.</p>
<figure class="wp-block-table"><table><tbody><tr><td><em>Метрики (1000 кэшированных пользователей)</em></td><td><strong>Ngnix</strong></td><td><strong>OpenLiteSpeed</strong></td></tr><tr><td>Средний отклик</td><td>744 мс</td><td>1615 мс</td></tr><tr><td>Минимальный отклик</td><td>101 мс</td><td>102 мс</td></tr><tr><td>Максимальный отклик</td><td>10296 мс</td><td>11381 мс</td></tr><tr><td>Успешные запросы</td><td>59964</td><td>53791</td></tr><tr><td>Ошибки таймаута</td><td>0</td><td>16</td></tr><tr><td>Сетевые ошибки</td><td>0</td><td>346</td></tr></tbody></table></figure>
<p>Ngnix демонстрирует здесь гораздо лучшие результаты, поскольку у него больше запросов и ниже среднее время отклика. </p>
<p>Ngnix также имеет более стабильное время отклика, с меньшим количеством скачков на графике, и ему удалось успешно обработать 99,9% всех запросов.</p>
<p>У OpenLiteSpeed было несколько сетевых ошибок и таймаутов (время отклика > 10 секунд), и он обработал только 90% от максимально возможного количества запросов.</p>
<p><strong>OpenLiteSpeed против Ngnix: Тест производительности от 0 до 10.000 пользователях</strong> <strong>(с включенным кэшированием) (победа OpenLiteSpeed)</strong></p>
<p>Но как сравниваются обе платформы, если мы медленно увеличиваем количество пользователей с 0 до 10.000 за одну минуту?</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/zmyijMOg4lLV29vrsoWQC_1y9RFdDrqOplftIiAM86QRSKaBn6q4fqsFQ9Y2ZtJ6Foso1LYoJXSza8UIsdq8zKjkKIPdm0uyJYbXZfRpUzjYLd_Zx1wEiCcKrKG_GLn5-edFQ20owbmmOSdW6bnYwcKKJC5NIJqhL0xoWDnC7K8g2mDidNjyrflaZ8RClw" alt="Nginx from 0 to 10.000 users"/><figcaption>Ngnix: от 0 до 10.000</figcaption></figure>
<p></p>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/TtPyWcfRkNygNPM6-erPsMDR4M4q10SF73A1T2xPR5pLQllD-nXUi1LUs_p_bQBwyUaEWUuads1dfipl1OkFVtP2w0a4yaXCtAiP5AhyFDHzXOVQ97Ce6VNPicR_cmzhikXuqXnYielQTaHXruPhLyeWvAt3cjNV-JkrGoGnP6px9liU8yajPRJ8h27Lig" alt="OpenLiteSpeed from 0 to 10.000 users"/><figcaption>OpenLiteSpeed: от 0 до 10.000</figcaption></figure>
<p></p>
<p>Интересно, что при использовании Ngnix мы видим, что время отклика примерно соответствует росту числа посетителей. Однако в случае с OpenLiteSpeed это число остается неизменным, а после 9000+ пользователей происходит ступенчатое увеличение, что приводит к большому количеству тайм-аутов.</p>
<p>По сути, OpenLiteSpeed работал лучше примерно при 9000 пользователей, что также приводило к большему количеству успешных запросов. Вот обзор всех показателей:</p>
<figure class="wp-block-table"><table><tbody><tr><td><em>Метрика (0-10000 пользователей)</em></td><td><strong>Ngnix</strong></td><td><strong>OpenLiteSpeed</strong></td></tr><tr><td>Средний отклик</td><td>3069 мс</td><td>2041 мс</td></tr><tr><td>Минимальный отклик</td><td>110 мс</td><td>103 мс</td></tr><tr><td>Максимальный отклик</td><td>12028 мс</td><td>16661 мс</td></tr><tr><td>Успешные запросы</td><td>85489</td><td>111784</td></tr><tr><td>Ошибки таймаута</td><td>0</td><td>3822</td></tr><tr><td>Сетевые ошибки</td><td>0</td><td>0</td></tr></tbody></table></figure>
<p>Давайте посмотрим, что произойдет, если мы отключим кэширование!</p>
<p><strong>OpenLiteSpeed против Ngnix: Тест производительности при 50 пользователях</strong> <strong>в секунду (с выключенном кэшированием) (победа Ngnix)</strong></p>
<p>При выключенном кэшировании мы получаем совершенно другую картину.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh5.googleusercontent.com/Kkc0B7MZq1_Hy3yvB3E77ZDnnojzPvcDncabpJX4xhxVl9CLhRhOkD6kMo46Gmvd9vuqzP6pIcjDd2KT2UphrKJ6OqNMPtj_qsR5gcbe9uUVPP5NhohrP69LSUaCkPfwcrGEW0bWt4kFNMTuRwP4XHy5_F6jNii9cRm4acFk-XRM0f_tQZxY9xdEOz7_6g" alt="Nginx 50 uncached users"/><figcaption>Ngnix: 50 некэшированных пользователей</figcaption></figure>
<p><br></p>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/G8vXQanuzZv54ffFdagZhL3f65onq5nYNBU8u3PWdcRpK36bTXT-iLCx6e1Unycvkqs3LDiaARhrP8RTJAftQa7XPW75-1BgORRXajzKCnGKeEf-_E8Q3rHIH91PRurcxF8V0SSCnP4CKF-qmEcQzZlIrZ-BT8WtJCvZEFk6x4iG3COrj_4EtThhujU5vg" alt="OpenLiteSpeed 50 uncached users"/><figcaption>OpenLiteSpeed: 50 некэшированных пользователей</figcaption></figure>
<p></p>
<p>Ngnix работает намного лучше, чем LiteSpeed, с гораздо большим количеством успешных запросов и меньшим временем отклика.</p>
<figure class="wp-block-table"><table><tbody><tr><td><em>Метрики </em><em>(50 некэшированных пользователей)</em></td><td><strong>Ngnix</strong></td><td><strong>OpenLiteSpeed</strong></td></tr><tr><td>Средний отклик</td><td>1918 мс</td><td>3560 мс</td></tr><tr><td>Минимальный отклик</td><td>498 мс</td><td>1137 мс</td></tr><tr><td>Максимальный отклик</td><td>3069 мс</td><td>11077 мс</td></tr><tr><td>Успешные запросы</td><td>2171</td><td>1313</td></tr><tr><td>Ошибки таймаута</td><td>0</td><td>0</td></tr><tr><td>Сетевые ошибки</td><td>0</td><td>0</td></tr></tbody></table></figure>
<p>Еще один популярный инструмент для тестирования нагрузки — h2load. Он часто встречается его в блогах. Следующие результаты говорят об этом.</p>
<p><strong>OpenLiteSpeed против Ngnix: h2load (с включенным кэшированием) (победа OpenLiteSpeed)</strong></p>
<p>Я выполнил следующий тест:</p>
<p><code>h2load -n10000 -c100 -m10 --h1 "https://host.goncharov.press"</code></p>
<p>По сути, это означает, что нужно выполнить 10.000 запросов со 100 пользователями, которые могут иметь до 10 одновременных потоков. И вот результаты:</p>
<figure class="wp-block-table"><table><tbody><tr><td><em>Метрики </em><em>(1000 кэшированных пользователей)</em></td><td><strong>Ngnix</strong></td><td><strong>OpenLiteSpeed</strong></td></tr><tr><td>Время завершения</td><td>5.59 секунд</td><td>4.87 с</td></tr><tr><td>Обработано запросов</td><td>1790,45 запрос/с</td><td>2052,24 запрос/с</td></tr><tr><td>Скорость</td><td>93,86 Мбайт/с</td><td>107,79 Мбайт/с</td></tr></tbody></table></figure>
<p>Здесь OpenLiteSpeed работает лучше. </p>
<p><strong>OpenLiteSpeed против Ngnix: h2load (с выключенном кэшированием) (победа Ngnix)</strong></p>
<p>Но увидим ли мы такую же разницу при отключении кэширования? Давайте посмотрим! Я выполнил следующую команду, которая загружает некэшированные версии сайта.</p>
<p><code>h2load -n1000 -c10 -m10 --h1 "https://hostg.goncharov?nocache"</code></p>
<p><br>И вот результаты:</p>
<figure class="wp-block-table"><table><tbody><tr><td><em>Метрики (10 некэшированных пользователей)</em></td><td><strong>Ngnix</strong></td><td><strong>OpenLiteSpeed</strong></td></tr><tr><td>Время завершения</td><td>24.95 секунд</td><td>43.54 секунд</td></tr><tr><td>Обработано запросов</td><td>40.09 запрос/с</td><td>22.97 запрос/с</td></tr><tr><td>Скорость</td><td>1.92 Мбайт/с</td><td>1001 Кбайт/с</td></tr></tbody></table></figure>
<p><br>Как и в тесте с Loader.io, Ngnix показывает здесь гораздо лучшие результаты.</p>
<p>Давайте теперь погрузимся в некоторые специфичные для WordPress тесты производительности и посмотрим, как сравниваются оба гиганта.</p>
<p><strong>OpenLiteSpeed против Ngnix: Создание и удаление постов WordPress (победа OpenLiteSpeed)</strong></p>
<p>Тестирование вставки и удаления постов — это простой самописный тест, в которым я создаю, получаю и удаляю 10.000. Для каждого из этих действий я регистрирую время, которое оно заняло.</p>
<figure class="wp-block-table"><table><tbody><tr><td></td><td><strong>Ngnix</strong></td><td><strong>OpenLiteSpeed</strong></td></tr><tr><td>Вставить 10.000 постов</td><td>46,939 секунд</td><td>41,041 секунд</td></tr><tr><td>Удалить 10.000 постов</td><td>44,538 секунд</td><td>43,170 секунд</td></tr><tr><td>Запросить 10.000 постов</td><td>0,318 секунд</td><td>0,376 секунд</td></tr></tbody></table></figure>
<p>В этом случае OpenLiteSpeed немного быстрее.</p>
<p><strong>OpenLiteSpeed против Ngnix: Тестирование производительности WordPress (равенство)</strong></p>
<p>Плагин WordPress Performance Tester делает два теста производительности, которые оценивают работу сервера и количество запросов в секунду в WordPress. Это хороший показатель производительности веб-сервера.</p>
<figure class="wp-block-table"><table><tbody><tr><td></td><td><strong>Ngnix</strong></td><td><strong>OpenLiteSpeed</strong></td></tr><tr><td>Показатель сервера</td><td>8.274</td><td>8.109</td></tr><tr><td>Запросы в секунду</td><td>1326</td><td>1304</td></tr></tbody></table></figure>
<p>В этом тесте Ngnix и OpenLiteSpeed работают одинаково Для оценки сервера, чем меньше показатель, тем лучше.</p>
<p><strong>OpenLiteSpeed против Ngnix: WordPress Benchmark Tools (победа OpenLiteSpeed)</strong></p>
<p>Инструмент WordPress Hosting Benchmark — это отличный инструмент, который тестирует производительность вашего процессора, памяти, MySQL, хранилища и сети. Он дает представление о том, насколько хорош ваш хостинг-провайдер, а также о том, насколько эффективно работает стек веб-серверов.</p>
<p>В этом тесте производительности OpenLiteSpeed работает немного лучше, за исключением ввода-вывода небольших файлов.</p>
<figure class="wp-block-table"><table><tbody><tr><td></td><td><strong>Ngnix</strong></td><td><strong>OpenLiteSpeed</strong></td></tr><tr><td>Операции с большими текстовыми данными</td><td>8.3 секунд</td><td>7.8 секунд</td></tr><tr><td>Произвольные операции с двоичными данными</td><td>7.5 секунд</td><td>7.3 секунд</td></tr><tr><td>Возможность записи в файловую систему</td><td>1179 Мбайт/с</td><td>1174 Мбайт/с</td></tr><tr><td>Скорость копирования и доступа к локальным файлам</td><td>1047 Мбайт/с</td><td>1143 Мбайт/с</td></tr><tr><td>Тест ввода-вывода небольших файлов</td><td>990 Мбайт/с</td><td>698 Мбайт/с</td></tr><tr><td>Импорт большого количества данных в базу данных</td><td>3.5 с</td><td>3.3 с</td></tr><tr><td>Простые запросы к одной таблице</td><td>1.2 с</td><td>1 с</td></tr><tr><td>Сложные запросы к базе данных по нескольким таблицам</td><td>5 с</td><td>4.7 с</td></tr><tr><td>Общий балл</td><td>7.9</td><td>7.9</td></tr></tbody></table></figure>
<p><br>Итак, мы с вами провели много сравнительных тестов. Пришло время перейти к выводам.</p>
<hr class="wp-block-separator"/>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="OpenLiteSpeed_%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2_Ngnix_%D1%81%D0%BA%D0%BE%D1%80%D0%BE%D1%81%D1%82%D1%8C_WooCommerce"></span>OpenLiteSpeed против Ngnix: скорость WooCommerce<span class="ez-toc-section-end"></span></h2>
<p>Хотя предыдущие тесты производительности и были сделаны на базовом варианте установк, это не совсем отражает среднестатистический сайт на WordPress. </p>
<p>Поэтому я решил провести еще один этап тестирования с простым интернет-магазином, который работает на популярной теме WordPress и WooCommerce. Дополнительно я масштабировал сервер, чтобы посмотреть, каким будет эффект (от 1 ядра и 2 ГБ оперативной памяти до 4 ядер и 8 ГБ оперативной памяти, используя замечательные серверы от Timeweb). Итак, что я тестировал?</p>
<ul><li>Производительность загрузки для трех уровней с помощью h2load.</li><li>Время, необходимое для создания/удаления/получения 10.000 постов.</li><li>Сколько времени требуется для создания 1000 и 10.000 случайных товаров WooCommerce.</li><li>Время загрузки и запросы MySQL по данным Query Monitor при различных настройках.</li><li>Время, необходимое для импорта 1000 постов с помощью WP All Import. </li></ul>
<p><strong>Нагрузочный тест (с включенным кэшированием): Ничья</strong></p>
<p>В этом нагрузочном тесте я выполнил 10000 запросов, вызванных 100 одновременными пользователями, на кэшированной странице веб-сайта. Вот результаты:</p>
<figure class="wp-block-table"><table><thead><tr><th scope="col"><strong>Сервер</strong></th><th scope="col"><strong>Запросов в секунду</strong></th></tr></thead><tbody><tr><td>Ngnix на 1 ядре / 2 ГБ</td><td>2605</td></tr><tr><td>OLS на 1 ядре / 2 ГБ</td><td>1055</td></tr><tr><td>Ngnix на 2 ядрах / 4 ГБ</td><td>1094</td></tr><tr><td>OLS на 2 ядрах / 4 ГБ</td><td>1105</td></tr><tr><td>Ngnix на 4 ядрах / 8 ГБ</td><td>1086</td></tr><tr><td>OLS на 4 ядрах / 8 ГБ</td><td>1103</td></tr></tbody></table></figure>
<p>За исключением самого маленького сервера Ngnix, результаты практически одинаковы. Однако у OpenLiteSpeed TTFB было меньше. При увеличении мощности сервера я также не заметил особого эффекта.</p>
<p><strong>Нагрузочный тест (без кэширования): победа Ngnix</strong></p>
<p>В этом нагрузочном тесте я выполнил 1000 запросов, вызванных 10 одновременными пользователями, на некэшированной странице веб-сайта. Вот результаты:</p>
<figure class="wp-block-table"><table><thead><tr><th scope="col"><strong>Сервер</strong></th><th scope="col"><strong>Запросов в секунду</strong></th></tr></thead><tbody><tr><td>Ngnix на 1 ядре / 2 ГБ</td><td>8.3</td></tr><tr><td>OLS на 1 ядре / 2 ГБ</td><td>4.01</td></tr><tr><td>Ngnix на 2 ядрах / 4 ГБ</td><td>14.97</td></tr><tr><td>OLS на 2 ядрах / 4 ГБ</td><td>8.28</td></tr><tr><td>Ngnix на 4 ядрах / 8 ГБ</td><td>29.25</td></tr><tr><td>OLS на 4 ядрах / 8 ГБ</td><td>16.83</td></tr></tbody></table></figure>
<p>Как и в базовой установке, Ngnix может обрабатывать гораздо больше пользователей без кэширования, и было отмечено явное улучшение производительности для масштабируемых серверов. И снова мы видим возможности кэширования, поскольку некэшированная конфигурация намного медленнее.</p>
<p><strong>Тестирование создания / удаления / получения постов: победа Ngnix</strong></p>
<p>В этом тесте я вставил, запросил и удалил 10.000 постов. Вот результаты:</p>
<figure class="wp-block-table"><table><thead><tr><th scope="col"><strong>Сервер</strong></th><th scope="col"><strong>Создание (с)</strong></th><th scope="col"><strong>Запрос (с)</strong></th><th scope="col"><strong>Удаление (с)</strong></th></tr></thead><tbody><tr><td>Ngnix на 1 ядре / 2 ГБ</td><td>39.865</td><td>0.378</td><td>38.742</td></tr><tr><td>OLS на 1 ядре / 2 ГБ</td><td>59.084</td><td>0.505</td><td>58.640</td></tr><tr><td>Ngnix на 2 ядрах / 4 ГБ</td><td>56.655</td><td>0.370</td><td>48.120</td></tr><tr><td>OLS на 2 ядрах / 4 ГБ</td><td>52.699</td><td>0.413</td><td>59.617</td></tr><tr><td>Ngnix на 4 ядрах / 8 ГБ</td><td>36.853</td><td>0.364</td><td>33.128</td></tr><tr><td>OLS на 4 ядрах / 8 ГБ</td><td>50.906</td><td>0.463</td><td>41.256</td></tr></tbody></table></figure>
<p><strong>Здесь Ngnix явно выигрывает</strong></p>
<p>В этой тесте Ngnix намного быстрее, чем OpenLiteSpeed, особенно при удалении или вставке постов.</p>
<p><strong>WordPress работает в однопоточном режиме</strong></p>
<p>За исключением некоторой разницы с Ngnix, в целом нет изменений при увеличении мощности сервера, точнее, не они не настолько большие, насколько мы ожидали. Всё потому, что WordPress (и PHP) — однопоточный; один процесс назначается одному потоку. Это означает, что независимо от того, сколько ядер у сервера, один процесс (в данном случае, создание, удаление, получение постов) выполняется одним ядром. Однако при большем количестве ядер вы можете запускать больше процессов одновременно, что обычно приводит к более высокой производительности.</p>
<p><strong>Тесты производительности при создании товаров: Равенство</strong></p>
<p>С помощью WC Smooth Generator я создал 1000, а затем 10.000 товаров и замерил время создания. OpenLiteSpeed обработал 1000 товаров быстрее, в то время как Ngnix обработал быстрее 10.000 товаров.</p>
<figure class="wp-block-table"><table><thead><tr><th scope="col"><strong>Сервер</strong></th><th scope="col"><strong>1000 товаров</strong></th><th scope="col"><strong>10.000 товаров</strong></th></tr></thead><tbody><tr><td>Ngnix на 4 ядрах / 8 ГБ</td><td>00:03:54</td><td>00:54:19</td></tr><tr><td>OLS на 4 ядрах / 8 ГБ</td><td>00:03:15</td><td>00:56:42</td></tr></tbody></table></figure>
<p>В фоновом режиме я также провел тест с использованием сервера меньшего размера, но существенного влияния на время создание товаров не было.</p>
<p>Поскольку этот тест занимает гораздо больше времени, он также является хорошим тестом на “долговечность”, другими словами: насколько долго держится данная производительность.</p>
<p><strong>Результаты мониторинга запросов: победа Ngnix</strong></p>
<p>Для нескольких десятков товаров, я заходил на страницу редактирования товара, редактировал один из них, и смотрел метрики в Query Monitor. Query Monitor — это плагин, который помогает улучшать производительность, отслеживать метрики и видеть, какой код в WordPress является медленным и оказывает непосредственное влияние на скорость сайта.</p>
<p>Плагин отслеживает время, необходимое для выполнения PHP, время, необходимое для запроса к базе данных, и сколько оперативной памяти и запросов задействуется в этом процессе.</p>
<p><strong>Тест по умолчанию (17 товаров)</strong></p>
<figure class="wp-block-table"><table><thead><tr><th scope="col"><strong>Страница</strong></th><th scope="col"><strong>Загрузка PHP (с)</strong></th><th scope="col"><strong>Загрузка запроса (с)</strong></th></tr></thead><tbody><tr><td>Ngnix — Страница товаров</td><td>0.37</td><td>0.04</td></tr><tr><td>OLS — Страница товаров</td><td>0.82</td><td>0.05</td></tr><tr><td>Ngnix — Страница редактирования товара</td><td>0.37</td><td>0.08</td></tr><tr><td>OLS — Страница редактирования товара</td><td>1.54</td><td>1.17</td></tr></tbody></table><figcaption>Загрузка страницы с 17 товарами</figcaption></figure>
<p>Здесь Ngnix показал себя намного лучше, а OLS показал несколько странных значений при редактировании товара. Но какие результаты для 1000 товаров?</p>
<p><strong>Тест 1000 товаров</strong></p>
<figure class="wp-block-table"><table><thead><tr><th scope="col"><strong>Страница</strong></th><th scope="col"><strong>Загрузка PHP (с)</strong></th><th scope="col"><strong>Загрузка запроса (с)</strong></th></tr></thead><tbody><tr><td>Ngnix — Страница товаров</td><td>0.27</td><td>0.06</td></tr><tr><td>OLS — Страница товаров</td><td>0.65</td><td>0.08</td></tr><tr><td>Ngnix — Страница редактирования товара</td><td>0.47</td><td>0.04</td></tr><tr><td>OLS — Страница редактирования товара</td><td>0.42</td><td>0.09</td></tr></tbody></table><figcaption>Загрузка страницы с 1000 товарами</figcaption></figure>
<p>Опять же, Ngnix был быстрее в запросах и загрузке страниц, за исключением страницы с редактированием товара, на которой OpenLiteSpeed загрузился немного быстрее (хотя запрос был медленнее).</p>
<p><strong>Тест 11000 товаров</strong></p>
<p>Здесь постепенно мы видим результаты наличия большого количества товаров в нашей базе данных, что приводит к увеличению времени запроса.</p>
<figure class="wp-block-table"><table><thead><tr><th scope="col"><strong>Страница</strong></th><th scope="col"><strong>Загрузка PHP (с)</strong></th><th scope="col"><strong>Загрузка запроса (с)</strong></th></tr></thead><tbody><tr><td>Ngnix — Страница товаров</td><td>0.48</td><td>0.11</td></tr><tr><td>OLS — Страница товаров</td><td>1.01</td><td>0.25</td></tr><tr><td>Ngnix — Страница редактирования товара</td><td>0.55</td><td>0.34</td></tr><tr><td>OLS — Страница редактирования товара</td><td>1.79</td><td>0.46</td></tr></tbody></table><figcaption>Загрузка страницы с 11000 товарами</figcaption></figure>
<p>Опять же, Ngnix здесь справляется лучше, даже после многократного обновления, загрузки страницы и усреднения чисел, чтобы убедиться, что наш результат не случаен. </p>
<p>Кстати, я так же проделал это действие в рамках мощной конфигурации сервера, поскольку уменьшение мощности сервера не оказывает существенного влияния на результаты.</p>
<p><strong>Результаты тестирование импорта: победа Ngnix</strong></p>
<p>Я импортировал 1000 товаров в WordPress с помощью WP All import и засек время, которое занял импорт. Вот результаты:</p>
<figure class="wp-block-table"><table><thead><tr><th scope="col"><strong>Стек</strong></th><th scope="col"><strong>Продолжительность импорта</strong></th></tr></thead><tbody><tr><td>Ngnix</td><td>00:01:15</td></tr><tr><td>OLS</td><td>00:01:26</td></tr></tbody></table><figcaption>Импорт 1000 товаров</figcaption></figure>
<p>Опять же, Ngnix кажется здесь немного быстрее. Это особенно заметно, если импорт содержит уже существующие товары.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="LiteSpeed_%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2_Ngnix_%D0%9F%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D0%B8_%D0%B1%D0%BB%D0%B8%D0%B7%D0%BA%D0%B8_%D0%BD%D0%BE_Ngnix_%D0%B2%D0%B8%D0%B4%D0%B8%D0%BC%D0%BE_%D0%B2%D1%8B%D0%B8%D0%B3%D1%80%D0%B0%D0%BB"></span>LiteSpeed против Ngnix: Показатели близки, но Ngnix, видимо, выиграл.<span class="ez-toc-section-end"></span></h2>
<p>В моих тестах Ngnix и LiteSpeed показали очень близкие результаты, хотя в примере с интернет-магазином Ngnix справляется лучше.</p>
<ul><li>В большинстве тестов разница очень мала, OpenLiteSpeed незначительно быстрее для серверных операций и в ситуациях с кэшированием (за исключением обработки 1000 одновременных пользователей).</li><li>Ngnix показал себя намного лучше в нагрузочных тестах, когда кэширование было отключено, обрабатывая то же количество запросов и пользователей намного быстрее.</li></ul>
<p>К сожалению, я не могу дать однозначного совета, какой веб-сервер использовать вам: LiteSpeed или Ngnix. Но что делать, если решение принимать всё-таки придётся?</p>
<ul><li>Однозначно используйте OpenLiteSpeed, если вы хотите иметь простой в использовании плагин кэширования под WordPress, который удовлетворит все ваши потребности в производительности, а также если вам нужна совместимость с .htaccess. У него так же есть ESI-кэширование (edge side includes), которое можно использовать для кэширования динамических страниц типа каталога, корзины и вишлиста. </li><li>Используйте Ngnix, если вам нужна высокая производительность без кэширования и вам нужны конфиги Ngnix. </li></ul>
<p>Кроме всего вышесказанного, при выборе LiteSpeed или Ngnix следует учитывать еще несколько моментов.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%B0%D0%BC%D1%8B%D0%B9_%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%BE%D0%B9_%D0%BF%D0%BB%D1%8E%D1%81_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_LiteSpeed_%D0%B2_WordPress"></span>Самый большой плюс использования LiteSpeed в WordPress<span class="ez-toc-section-end"></span></h2>
<p>Самым большим преимуществом использования Litespeed для WordPress является его родной плагин кэширования LiteSpeed Cache. Это универсальный мультитул под большинство ваших задач по оптимизации скорости WordPress и Woocommerce. В нём есть всё для кэширования, минификации, сжатия, объектный кэш через Redis или Memcached, ESI, оптимизации изображений, CDN, очистки базы данных и многое другое. Вишенка на торте: LiteSpeed Cache — бесплатен. </p>
<p>К сожалению, у Ngnix нет такого плагина в комплекте, зато есть другие платные и бесплатные альтернативы, такие как WP Rocket, WP Fastest Cache и т.д.<br><br>Как видим, сравнение Ngnix и LiteSpeed показало, что Ngnix по результатам тестов — явный победитель в плане производительности. Но вам стоит принимать во внимание тот факт, что каждый сайт — уникален: выбранная тема и плагины могут сильно влиять на производительность сайта, и один и тот же сайт на Ngnix и OLS может работать совершенно по-разному. Даже на уровне субъективных ощущений от использования. На опыту могу сказать, что WordPress и Woocommerce по OLS дают гораздо более приятный “полёт», чем на Ngnix. Что использовать в итоге – решать вам. </p>
<p>Узнать еще больше актуальных подробностей об использовании Ngnix в различных сценариях можно на онлайн-курсах в OTUS. Ознакомиться с полным списком курсов по всем направлениям можно <a href="https://otus.ru/?utm_source=oj&utm_medium=affilate&utm_campaign=otus&mxm=[[hash_metrika]]&relogin=True&token=[[token]]" target="_blank" rel="noopener nofollow external noreferrer" title="" data-wpel-link="external" class="wpel-icon-right">по ссылке.<span class="wpel-icon wpel-image wpel-icon-6"></span></a></p>
</div><!-- .post-content -->
<div class="the-post-foot cf">
<div class="tag-share cf">
<div class="post-tags"><a href="https://otus.ru/journal/tag/veb-razrabotka/" rel="tag" data-wpel-link="internal">веб-разработка</a></div>
<div class="post-share">
<div class="post-share-icons cf">
<span class="counters">
</span>
<a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fotus.ru%2Fjournal%2Flitespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed%2F" class="link facebook wpel-icon-right" target="_blank" title="Share on Facebook" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-facebook"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fotus.ru%2Fjournal%2Flitespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed%2F&text=LiteSpeed%20%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2%20Ngnix%3A%20%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%B0%D1%8F%20%D0%B1%D0%B8%D1%82%D0%B2%D0%B0%20%28%D1%82%D0%B5%D1%81%D1%82%D1%8B%20%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8%2C%20WordPress%20%D0%B8%20OpenLiteSpeed%29" class="link twitter wpel-icon-right" target="_blank" title="Share on Twitter" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-twitter"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fotus.ru%2Fjournal%2Flitespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed%2F" class="link linkedin wpel-icon-right" target="_blank" title="LinkedIn" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-linkedin"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fotus.ru%2Fjournal%2Flitespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed%2F&media=https%3A%2F%2Fotus.ru%2Fjournal%2Fwp-content%2Fuploads%2F2022%2F11%2Foj-1080x720-6.png&description=LiteSpeed%20%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2%20Ngnix%3A%20%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%B0%D1%8F%20%D0%B1%D0%B8%D1%82%D0%B2%D0%B0%20%28%D1%82%D0%B5%D1%81%D1%82%D1%8B%20%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8%2C%20WordPress%20%D0%B8%20OpenLiteSpeed%29" class="link pinterest wpel-icon-right" target="_blank" title="Pinterest" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-pinterest-p"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
</div>
</div>
</div>
<div class="post-nav">
<div class="post previous cf">
<a href="https://otus.ru/journal/mashinnoe-obuchenie-podborka-statej-na-habr/" title="Prev Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-left"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/mashinnoe-obuchenie-podborka-statej-na-habr/" class="image-link" rel="previous" data-wpel-link="internal">
<img width="150" height="100" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20100%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Машинное обучение: подборка статей на Хабр" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-5-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-5-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-5-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-5-768x512.png 768w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-5-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-5-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-5-370x245.png 370w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-5.png 1080w" data-src="https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-5-150x100.png" data-sizes="(max-width: 150px) 100vw, 150px" title="Машинное обучение: подборка статей на Хабр" /> </a>
<div class="post-meta">
<span class="label">Prev Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/mashinnoe-obuchenie-podborka-statej-na-habr/" data-wpel-link="internal">Машинное обучение: подборка статей на Хабр</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/mashinnoe-obuchenie-podborka-statej-na-habr/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2022-11-03T12:50:04+00:00">3 ноября, 2022</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">2 Mins Read</span>
</div>
</div> </div>
</span>
</div>
<div class="post next cf">
<a href="https://otus.ru/journal/6-sposobov-formirovaniya-hr-brenda/" title="Next Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-right"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/6-sposobov-formirovaniya-hr-brenda/" class="image-link" rel="next" data-wpel-link="internal">
<img width="150" height="100" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20100%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="6 способов формирования HR-бренда" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-8-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-8-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-8-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-8-768x512.png 768w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-8-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-8-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-8-370x245.png 370w, https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-8.png 1080w" data-src="https://otus.ru/journal/wp-content/uploads/2022/11/oj-1080x720-8-150x100.png" data-sizes="(max-width: 150px) 100vw, 150px" title="6 способов формирования HR-бренда" /> </a>
<div class="post-meta">
<span class="label">Next Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/6-sposobov-formirovaniya-hr-brenda/" data-wpel-link="internal">6 способов формирования HR-бренда</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/6-sposobov-formirovaniya-hr-brenda/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2022-11-03T14:24:58+00:00">3 ноября, 2022</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">4 Mins Read</span>
</div>
</div> </div>
</span>
</div>
</div>
<section class="related-posts grid-3">
<h4 class="section-head"><span class="title">Читать ещё</span></h4>
<div class="ts-row posts cf">
<article class="post col-4">
<a href="https://otus.ru/journal/proekt-tg-autoposter-na-nest-js/" title="Проект «TG Autoposter на Nest.JS»" class="image-link" data-wpel-link="internal">
</a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/proekt-tg-autoposter-na-nest-js/" class="post-link" data-wpel-link="internal">Проект «TG Autoposter на Nest.JS»</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-12-23T00:44:53+00:00">23 декабря, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/langtrainee-razrabotka-mvp-ai-platformy-dlya-personalizirovannogo-izucheniya-yazykov/" title="LangTrainee: разработка MVP AI-платформы для персонализированного изучения языков" class="image-link" data-wpel-link="internal">
</a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/langtrainee-razrabotka-mvp-ai-platformy-dlya-personalizirovannogo-izucheniya-yazykov/" class="post-link" data-wpel-link="internal">LangTrainee: разработка MVP AI-платформы для персонализированного изучения языков</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-12T04:39:47+00:00">12 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/pochemu-my-ne-uhodim-iz-it-dazhe-kogda-hochetsya/" title="Почему мы не уходим из IT даже когда хочется" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Почему мы не уходим из IT даже когда хочется" title="Почему мы не уходим из IT даже когда хочется" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-1-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-1-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-1-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-1-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/pochemu-my-ne-uhodim-iz-it-dazhe-kogda-hochetsya/" class="post-link" data-wpel-link="internal">Почему мы не уходим из IT даже когда хочется</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-04T12:29:53+00:00">4 ноября, 2025</time>
</div>
</div>
</article >
</div>
</section>
</article> <!-- .the-post -->
</div>
<aside class="col-4 sidebar">
<div class="inner">
<ul>
<li id="search-2" class="widget widget_search"><h5 class="widget-title"><span>Поиск по блогу</span></h5>
<form method="get" class="search-form" action="https://otus.ru/journal/">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Введите запрос и нажмите Enter" value="" name="s" title="Search for:" />
</label>
<button type="submit" class="search-submit"><i class="fa fa-search"></i></button>
</form>
</li>
<li id="tag_cloud-5" class="widget widget_tag_cloud"><h5 class="widget-title"><span>Метки</span></h5><div class="tagcloud"><a href="https://otus.ru/journal/tag/android-2/" class="tag-cloud-link tag-link-74 tag-link-position-1" style="font-size: 12.472222222222pt;" aria-label="Android (34 элемента)" data-wpel-link="internal">Android</a>
<a href="https://otus.ru/journal/tag/c-3/" class="tag-cloud-link tag-link-91 tag-link-position-2" style="font-size: 10.916666666667pt;" aria-label="C (23 элемента)" data-wpel-link="internal">C</a>
<a href="https://otus.ru/journal/tag/c-2/" class="tag-cloud-link tag-link-81 tag-link-position-3" style="font-size: 12.666666666667pt;" aria-label="C# (35 элементов)" data-wpel-link="internal">C#</a>
<a href="https://otus.ru/journal/tag/c/" class="tag-cloud-link tag-link-20 tag-link-position-4" style="font-size: 12.472222222222pt;" aria-label="c++ (34 элемента)" data-wpel-link="internal">c++</a>
<a href="https://otus.ru/journal/tag/computer-science/" class="tag-cloud-link tag-link-209 tag-link-position-5" style="font-size: 15.972222222222pt;" aria-label="computer science (78 элементов)" data-wpel-link="internal">computer science</a>
<a href="https://otus.ru/journal/tag/css/" class="tag-cloud-link tag-link-288 tag-link-position-6" style="font-size: 8.6805555555556pt;" aria-label="CSS (13 элементов)" data-wpel-link="internal">CSS</a>
<a href="https://otus.ru/journal/tag/data-science/" class="tag-cloud-link tag-link-151 tag-link-position-7" style="font-size: 8pt;" aria-label="Data Science (11 элементов)" data-wpel-link="internal">Data Science</a>
<a href="https://otus.ru/journal/tag/devops/" class="tag-cloud-link tag-link-98 tag-link-position-8" style="font-size: 10.138888888889pt;" aria-label="devops (19 элементов)" data-wpel-link="internal">devops</a>
<a href="https://otus.ru/journal/tag/docker/" class="tag-cloud-link tag-link-143 tag-link-position-9" style="font-size: 8.2916666666667pt;" aria-label="Docker (12 элементов)" data-wpel-link="internal">Docker</a>
<a href="https://otus.ru/journal/tag/gamedev/" class="tag-cloud-link tag-link-25 tag-link-position-10" style="font-size: 11.694444444444pt;" aria-label="gamedev (28 элементов)" data-wpel-link="internal">gamedev</a>
<a href="https://otus.ru/journal/tag/hr/" class="tag-cloud-link tag-link-103 tag-link-position-11" style="font-size: 8pt;" aria-label="hr (11 элементов)" data-wpel-link="internal">hr</a>
<a href="https://otus.ru/journal/tag/html/" class="tag-cloud-link tag-link-217 tag-link-position-12" style="font-size: 11.208333333333pt;" aria-label="HTML (25 элементов)" data-wpel-link="internal">HTML</a>
<a href="https://otus.ru/journal/tag/ios/" class="tag-cloud-link tag-link-101 tag-link-position-13" style="font-size: 8.9722222222222pt;" aria-label="iOS (14 элементов)" data-wpel-link="internal">iOS</a>
<a href="https://otus.ru/journal/tag/it/" class="tag-cloud-link tag-link-50 tag-link-position-14" style="font-size: 10.527777777778pt;" aria-label="IT (21 элемент)" data-wpel-link="internal">IT</a>
<a href="https://otus.ru/journal/tag/java/" class="tag-cloud-link tag-link-75 tag-link-position-15" style="font-size: 15.680555555556pt;" aria-label="Java (73 элемента)" data-wpel-link="internal">Java</a>
<a href="https://otus.ru/journal/tag/javascript/" class="tag-cloud-link tag-link-83 tag-link-position-16" style="font-size: 14.319444444444pt;" aria-label="JavaScript (53 элемента)" data-wpel-link="internal">JavaScript</a>
<a href="https://otus.ru/journal/tag/linux/" class="tag-cloud-link tag-link-141 tag-link-position-17" style="font-size: 11.888888888889pt;" aria-label="Linux (29 элементов)" data-wpel-link="internal">Linux</a>
<a href="https://otus.ru/journal/tag/machine-learning/" class="tag-cloud-link tag-link-167 tag-link-position-18" style="font-size: 8.6805555555556pt;" aria-label="Machine Learning (13 элементов)" data-wpel-link="internal">Machine Learning</a>
<a href="https://otus.ru/journal/tag/otus-book/" class="tag-cloud-link tag-link-261 tag-link-position-19" style="font-size: 9.9444444444444pt;" aria-label="otus book (18 элементов)" data-wpel-link="internal">otus book</a>
<a href="https://otus.ru/journal/tag/php/" class="tag-cloud-link tag-link-45 tag-link-position-20" style="font-size: 10.527777777778pt;" aria-label="PHP (21 элемент)" data-wpel-link="internal">PHP</a>
<a href="https://otus.ru/journal/tag/python/" class="tag-cloud-link tag-link-27 tag-link-position-21" style="font-size: 16.944444444444pt;" aria-label="Python (99 элементов)" data-wpel-link="internal">Python</a>
<a href="https://otus.ru/journal/tag/qa/" class="tag-cloud-link tag-link-155 tag-link-position-22" style="font-size: 11.402777777778pt;" aria-label="qa (26 элементов)" data-wpel-link="internal">qa</a>
<a href="https://otus.ru/journal/tag/sql/" class="tag-cloud-link tag-link-38 tag-link-position-23" style="font-size: 12.861111111111pt;" aria-label="SQL (37 элементов)" data-wpel-link="internal">SQL</a>
<a href="https://otus.ru/journal/tag/team-lead/" class="tag-cloud-link tag-link-364 tag-link-position-24" style="font-size: 9.9444444444444pt;" aria-label="team lead (18 элементов)" data-wpel-link="internal">team lead</a>
<a href="https://otus.ru/journal/tag/unity/" class="tag-cloud-link tag-link-24 tag-link-position-25" style="font-size: 8pt;" aria-label="unity (11 элементов)" data-wpel-link="internal">unity</a>
<a href="https://otus.ru/journal/tag/algoritmy/" class="tag-cloud-link tag-link-30 tag-link-position-26" style="font-size: 9.9444444444444pt;" aria-label="Алгоритмы (18 элементов)" data-wpel-link="internal">Алгоритмы</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh/" class="tag-cloud-link tag-link-40 tag-link-position-27" style="font-size: 10.138888888889pt;" aria-label="Базы данных (19 элементов)" data-wpel-link="internal">Базы данных</a>
<a href="https://otus.ru/journal/tag/matematika/" class="tag-cloud-link tag-link-44 tag-link-position-28" style="font-size: 10.916666666667pt;" aria-label="Математика (23 элемента)" data-wpel-link="internal">Математика</a>
<a href="https://otus.ru/journal/tag/arhitektura-po/" class="tag-cloud-link tag-link-10 tag-link-position-29" style="font-size: 9.4583333333333pt;" aria-label="архитектура ПО (16 элементов)" data-wpel-link="internal">архитектура ПО</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh-2/" class="tag-cloud-link tag-link-251 tag-link-position-30" style="font-size: 10.138888888889pt;" aria-label="базы данных (19 элементов)" data-wpel-link="internal">базы данных</a>
<a href="https://otus.ru/journal/tag/vebinar/" class="tag-cloud-link tag-link-201 tag-link-position-31" style="font-size: 13.930555555556pt;" aria-label="вебинар (48 элементов)" data-wpel-link="internal">вебинар</a>
<a href="https://otus.ru/journal/tag/dajdzhest/" class="tag-cloud-link tag-link-308 tag-link-position-32" style="font-size: 10.722222222222pt;" aria-label="дайджест (22 элемента)" data-wpel-link="internal">дайджест</a>
<a href="https://otus.ru/journal/tag/zapis-vebinara/" class="tag-cloud-link tag-link-226 tag-link-position-33" style="font-size: 14.902777777778pt;" aria-label="запись вебинара (61 элемент)" data-wpel-link="internal">запись вебинара</a>
<a href="https://otus.ru/journal/tag/zapis-uroka/" class="tag-cloud-link tag-link-272 tag-link-position-34" style="font-size: 16.069444444444pt;" aria-label="запись урока (80 элементов)" data-wpel-link="internal">запись урока</a>
<a href="https://otus.ru/journal/tag/informacionnaya-bezopasnost/" class="tag-cloud-link tag-link-232 tag-link-position-35" style="font-size: 10.138888888889pt;" aria-label="информационная безопасность (19 элементов)" data-wpel-link="internal">информационная безопасность</a>
<a href="https://otus.ru/journal/tag/karera-v-it/" class="tag-cloud-link tag-link-292 tag-link-position-36" style="font-size: 9.9444444444444pt;" aria-label="карьера в IT (18 элементов)" data-wpel-link="internal">карьера в IT</a>
<a href="https://otus.ru/journal/tag/podborka/" class="tag-cloud-link tag-link-7 tag-link-position-37" style="font-size: 12.666666666667pt;" aria-label="подборка (35 элементов)" data-wpel-link="internal">подборка</a>
<a href="https://otus.ru/journal/tag/podborka-statej/" class="tag-cloud-link tag-link-219 tag-link-position-38" style="font-size: 15.777777777778pt;" aria-label="подборка статей (75 элементов)" data-wpel-link="internal">подборка статей</a>
<a href="https://otus.ru/journal/tag/programmirovanie/" class="tag-cloud-link tag-link-65 tag-link-position-39" style="font-size: 22pt;" aria-label="программирование (332 элемента)" data-wpel-link="internal">программирование</a>
<a href="https://otus.ru/journal/tag/proekt/" class="tag-cloud-link tag-link-321 tag-link-position-40" style="font-size: 11.888888888889pt;" aria-label="проект (29 элементов)" data-wpel-link="internal">проект</a>
<a href="https://otus.ru/journal/tag/proektnaya-rabota/" class="tag-cloud-link tag-link-310 tag-link-position-41" style="font-size: 11.597222222222pt;" aria-label="проектная работа (27 элементов)" data-wpel-link="internal">проектная работа</a>
<a href="https://otus.ru/journal/tag/seti/" class="tag-cloud-link tag-link-181 tag-link-position-42" style="font-size: 12.958333333333pt;" aria-label="сети (38 элементов)" data-wpel-link="internal">сети</a>
<a href="https://otus.ru/journal/tag/testirovanie/" class="tag-cloud-link tag-link-69 tag-link-position-43" style="font-size: 13.930555555556pt;" aria-label="тестирование (48 элементов)" data-wpel-link="internal">тестирование</a>
<a href="https://otus.ru/journal/tag/upravlenie-komandoj/" class="tag-cloud-link tag-link-63 tag-link-position-44" style="font-size: 11.694444444444pt;" aria-label="управление командой (28 элементов)" data-wpel-link="internal">управление командой</a>
<a href="https://otus.ru/journal/tag/habr-2/" class="tag-cloud-link tag-link-203 tag-link-position-45" style="font-size: 13.930555555556pt;" aria-label="хабр (48 элементов)" data-wpel-link="internal">хабр</a></div>
</li>
</ul>
</div>
</aside>
</div> <!-- .ts-row -->
</div> <!-- .main -->
<footer class="main-footer dark bold">
<section class="lower-footer cf">
<div class="wrap">
<div class="links">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
<p class="copyright"> © 2015-2026 OTUS </p>
<div class="to-top">
<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i> Top</a>
</div>
</div>
</section>
</footer>
</div> <!-- .main-wrap -->
<div class="mobile-menu-container off-canvas" id="mobile-menu">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<div class="logo">
</div>
<ul class="mobile-menu"></ul>
</div>
<div class="search-modal-wrap">
<div class="search-modal-box" role="dialog" aria-modal="true">
<form method="get" class="search-form" action="https://otus.ru/journal/">
<input type="search" class="search-field" name="s" placeholder="Search..." value="" required />
<button type="submit" class="search-submit visuallyhidden">Submit</button>
<p class="message">
Type above and press <em>Enter</em> to search. Press <em>Esc</em> to cancel. </p>
</form>
</div>
</div>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/js/url-span.js" id="wbcr-comments-plus-url-span-js"></script>
<script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra">
/* <![CDATA[ */
var eztoc_smooth_local = {"scroll_offset":"30"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js" id="ez-toc-scroll-scriptjs-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js" id="ez-toc-js-cookie-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js" id="ez-toc-jquery-sticky-kit-js"></script>
<script type="text/javascript" id="ez-toc-js-js-extra">
/* <![CDATA[ */
var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js" id="ez-toc-js-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/custom-script.js" id="custom-script-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/magnific-popup.js" id="magnific-popup-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.fitvids.js" id="jquery-fitvids-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/imagesloaded.min.js" id="imagesloaded-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/object-fit-images.js" id="object-fit-images-js"></script>
<script type="text/javascript" id="contentberg-theme-js-extra">
/* <![CDATA[ */
var Bunyad = {"custom_ajax_url":"\/journal\/litespeed-protiv-ngnix-bolshaya-bitva-testy-proizvoditelnosti-wordpress-i-openlitespeed\/"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theme.js" id="contentberg-theme-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theia-sticky-sidebar.js" id="theia-sticky-sidebar-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.slick.js" id="jquery-slick-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jarallax.js" id="jarallax-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/masonry.min.js" id="masonry-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.masonry.min.js" id="jquery-masonry-js"></script>
</body>
</html>
<!-- Cache served by breeze CACHE - Last modified: Tue, 10 Mar 2026 19:06:58 GMT -->