0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Что такое LiteSpeed?</a></li>
1
<ul><li><a>Что такое LiteSpeed?</a></li>
2
<li><a>Что такое Ngnix?</a></li>
2
<li><a>Что такое Ngnix?</a></li>
3
<li><a>LiteSpeed против Ngnix: Результаты</a></li>
3
<li><a>LiteSpeed против Ngnix: Результаты</a></li>
4
<li><a>OpenLiteSpeed против Ngnix: скорость WooCommerce</a></li>
4
<li><a>OpenLiteSpeed против Ngnix: скорость WooCommerce</a></li>
5
<li><a>LiteSpeed против Ngnix: Показатели близки, но Ngnix, видимо, выиграл.</a></li>
5
<li><a>LiteSpeed против Ngnix: Показатели близки, но Ngnix, видимо, выиграл.</a></li>
6
<li><a>Самый большой плюс использования LiteSpeed в WordPress</a></li>
6
<li><a>Самый большой плюс использования LiteSpeed в WordPress</a></li>
7
</ul><p>Автор статьи: Алексей Гончаров, e-commerce full-stack разработчик, основатель digital агентства <a>Readycode.ru</a></p>
7
</ul><p>Автор статьи: Алексей Гончаров, e-commerce full-stack разработчик, основатель digital агентства <a>Readycode.ru</a></p>
8
<p>Я всегда нахожусь в поиске новых технологий для оптимизации скорости сайтов и веб-приложений. Правильный веб-сервер во многом определяет скоростные показатели вашего сайта. В этой статье мы сравним производительность LiteSpeed и Ngnix и выясним, на каком их этих веб-серверов WordPress + Woocommerce показывает наилучший результат. </p>
8
<p>Я всегда нахожусь в поиске новых технологий для оптимизации скорости сайтов и веб-приложений. Правильный веб-сервер во многом определяет скоростные показатели вашего сайта. В этой статье мы сравним производительность LiteSpeed и Ngnix и выясним, на каком их этих веб-серверов WordPress + Woocommerce показывает наилучший результат. </p>
9
<p>Было много сообщений от нишевых и не очень блогов, утверждающих, что LiteSpeed работает на 1200% лучше, чем Ngnix, что LiteSpeed показывает гораздо более сильные результаты при тестах производительности в сравнении с Ngnix. Согласно тестам производительности Litespeed (от разработчиков LiteSpeed) по сравнению с Ngnix он показывает большую разницу в производительности, так что если это окажется правдой, то переход с Ngnix на LiteSpeed будет вполне оправдан. На самом деле, “на 1200%” звучит слишком хорошо, чтобы быть правдой.</p>
9
<p>Было много сообщений от нишевых и не очень блогов, утверждающих, что LiteSpeed работает на 1200% лучше, чем Ngnix, что LiteSpeed показывает гораздо более сильные результаты при тестах производительности в сравнении с Ngnix. Согласно тестам производительности Litespeed (от разработчиков LiteSpeed) по сравнению с Ngnix он показывает большую разницу в производительности, так что если это окажется правдой, то переход с Ngnix на LiteSpeed будет вполне оправдан. На самом деле, “на 1200%” звучит слишком хорошо, чтобы быть правдой.</p>
10
<p>Из таких статей я не получил удовлетворительных ответов, а тесты производительности часто были очень односторонними. Моё решение было простым: самостоятельно запустить пару серверов и провести реальное тестирование!</p>
10
<p>Из таких статей я не получил удовлетворительных ответов, а тесты производительности часто были очень односторонними. Моё решение было простым: самостоятельно запустить пару серверов и провести реальное тестирование!</p>
11
<p>В этой статье я отвечу на следующий вопрос:<strong>насколько хорош OpenLiteSpeed в сравнении с Ngnix при использовании в WordPress?</strong></p>
11
<p>В этой статье я отвечу на следующий вопрос:<strong>насколько хорош OpenLiteSpeed в сравнении с Ngnix при использовании в WordPress?</strong></p>
12
<h2><strong>Что такое LiteSpeed?</strong></h2>
12
<h2><strong>Что такое LiteSpeed?</strong></h2>
13
<p>LiteSpeed - это веб-сервер от компании LiteSpeed Technologies. Веб-сервер позволяет компьютеру или серверу, подключенному к Интернету, размещать и обслуживать сайты.</p>
13
<p>LiteSpeed - это веб-сервер от компании LiteSpeed Technologies. Веб-сервер позволяет компьютеру или серверу, подключенному к Интернету, размещать и обслуживать сайты.</p>
14
<p>LiteSpeed известен своей производительностью и совместимостью с Apache, другим очень популярным веб-сервером.</p>
14
<p>LiteSpeed известен своей производительностью и совместимостью с Apache, другим очень популярным веб-сервером.</p>
15
<p>В этой статье мы сосредоточимся на версии<strong>LiteSpeed Web Server с открытым исходным кодом</strong>, которая называется<strong>OpenLiteSpeed</strong>.</p>
15
<p>В этой статье мы сосредоточимся на версии<strong>LiteSpeed Web Server с открытым исходным кодом</strong>, которая называется<strong>OpenLiteSpeed</strong>.</p>
16
<p>Некоторые компании, предоставляющие виртуальный хостинг, с большим успехом используют OpenLiteSpeed, но многие крупные хостинг-компании используют Ngnix или Apache.</p>
16
<p>Некоторые компании, предоставляющие виртуальный хостинг, с большим успехом используют OpenLiteSpeed, но многие крупные хостинг-компании используют Ngnix или Apache.</p>
17
<h2><strong>Что такое Ngnix?</strong></h2>
17
<h2><strong>Что такое Ngnix?</strong></h2>
18
<p><a>Ngnix</a>(произносится, как "engine-ex") - это тоже open source веб-сервер, который с момента своего первоначального успеха в качестве веб-сервера, теперь также используется в качестве обратного прокси-сервера, кэша HTTP и балансировщика нагрузки. Он используется многими крупными компаниями, такими как Dropbox и Netflix, и становится все более популярным.</p>
18
<p><a>Ngnix</a>(произносится, как "engine-ex") - это тоже open source веб-сервер, который с момента своего первоначального успеха в качестве веб-сервера, теперь также используется в качестве обратного прокси-сервера, кэша HTTP и балансировщика нагрузки. Он используется многими крупными компаниями, такими как Dropbox и Netflix, и становится все более популярным.</p>
19
<p>Он известен тем, что хорошо обрабатывает статичные файлы, а также имеет специальные модули для кэширования (FastCGI) и работы с PHP (PHP-FPM).</p>
19
<p>Он известен тем, что хорошо обрабатывает статичные файлы, а также имеет специальные модули для кэширования (FastCGI) и работы с PHP (PHP-FPM).</p>
20
<h2><strong>LiteSpeed против Ngnix: Результаты</strong></h2>
20
<h2><strong>LiteSpeed против Ngnix: Результаты</strong></h2>
21
<p>Для тестирования я создал 2 сервера, оба с 2 ядрами и 4 ГБ оперативной памяти. Так же использовал еще один дополнительный сервер, на котором установил приложение для тестирования нагрузки. На одном сервере я установил<strong>Ngnix</strong>, а на другом -<strong>OpenLiteSpeed</strong>. Для некоторых тестов производительности я также включил кэширование<strong>FastCGI</strong>для Ngnix и для LiteSpeed.</p>
21
<p>Для тестирования я создал 2 сервера, оба с 2 ядрами и 4 ГБ оперативной памяти. Так же использовал еще один дополнительный сервер, на котором установил приложение для тестирования нагрузки. На одном сервере я установил<strong>Ngnix</strong>, а на другом -<strong>OpenLiteSpeed</strong>. Для некоторых тестов производительности я также включил кэширование<strong>FastCGI</strong>для Ngnix и для LiteSpeed.</p>
22
<p>Мои тесты сравнивают<strong>OpenLiteSpeed</strong>с<strong>Ngnix</strong>.</p>
22
<p>Мои тесты сравнивают<strong>OpenLiteSpeed</strong>с<strong>Ngnix</strong>.</p>
23
<p>Затем я провел следующие тесты на этих сайтах WordPress:</p>
23
<p>Затем я провел следующие тесты на этих сайтах WordPress:</p>
24
<ul><li>Тесты времени на получение первого байта (time to first byte, TTFB) и нагрузки с помощью Sucuri Performance Check.</li>
24
<ul><li>Тесты времени на получение первого байта (time to first byte, TTFB) и нагрузки с помощью Sucuri Performance Check.</li>
25
<li>Тест производительности при 1000 пользователях в секунду с использованием Loader.io (с включенным кэшированием)</li>
25
<li>Тест производительности при 1000 пользователях в секунду с использованием Loader.io (с включенным кэшированием)</li>
26
<li>Тест производительности при 50 пользователях в секунду с использованием Loader.io (без кэширования)</li>
26
<li>Тест производительности при 50 пользователях в секунду с использованием Loader.io (без кэширования)</li>
27
<li>Тест производительности от 0 до 10.000 пользователей за одну секунду, используя Loader.io (с включенным кэшированием)</li>
27
<li>Тест производительности от 0 до 10.000 пользователей за одну секунду, используя Loader.io (с включенным кэшированием)</li>
28
<li>Тест, который я написал сам, позволяющий добавление, получение и удаление 10000 постов</li>
28
<li>Тест, который я написал сам, позволяющий добавление, получение и удаление 10000 постов</li>
29
<li>Тест с использованием плагина WordPress Performance Tester</li>
29
<li>Тест с использованием плагина WordPress Performance Tester</li>
30
<li>Тест с использованием плагина WordPress Benchmark Plugin.</li>
30
<li>Тест с использованием плагина WordPress Benchmark Plugin.</li>
31
</ul><p><strong>OpenLiteSpeed против Ngnix: TTFB (равенство)</strong></p>
31
</ul><p><strong>OpenLiteSpeed против Ngnix: TTFB (равенство)</strong></p>
32
Результаты для Ngnix<p><strong>Результаты тестов TTFB:</strong></p>
32
Результаты для Ngnix<p><strong>Результаты тестов TTFB:</strong></p>
33
<strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Самое быстрое TTFB32 мс34 мсСамое быстрое в итоге38 мс68 мсСреднее TTFB372 мс317 мсСреднее в итоге668 мс550 мс<p>Ngnix загружается быстрее для самого близкого местоположения, в то время как OpenLiteSpeed работает лучше для всех возможных расположений в среднем.</p>
33
<strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Самое быстрое TTFB32 мс34 мсСамое быстрое в итоге38 мс68 мсСреднее TTFB372 мс317 мсСреднее в итоге668 мс550 мс<p>Ngnix загружается быстрее для самого близкого местоположения, в то время как OpenLiteSpeed работает лучше для всех возможных расположений в среднем.</p>
34
<p><strong>OpenLiteSpeed против Ngnix: Тест производительности при 1000 пользователях</strong><strong>в секунду (с включенным кэшированием - победа Ngnix</strong><strong></strong></p>
34
<p><strong>OpenLiteSpeed против Ngnix: Тест производительности при 1000 пользователях</strong><strong>в секунду (с включенным кэшированием - победа Ngnix</strong><strong></strong></p>
35
Результаты для Ngnix Результаты для OpenLiteSpeed<p>Используя loader.io, который имитирует запросы пользователей, мы можем получить хорошее представление об эффективности кэширования. В данном случае 1000 пользователей в секунду равно 1000 запросов в секунду.</p>
35
Результаты для Ngnix Результаты для OpenLiteSpeed<p>Используя loader.io, который имитирует запросы пользователей, мы можем получить хорошее представление об эффективности кэширования. В данном случае 1000 пользователей в секунду равно 1000 запросов в секунду.</p>
36
<em>Метрики (1000 кэшированных пользователей)</em><strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Средний отклик744 мс1615 мсМинимальный отклик101 мс102 мсМаксимальный отклик10296 мс11381 мсУспешные запросы5996453791Ошибки таймаута016Сетевые ошибки0346<p>Ngnix демонстрирует здесь гораздо лучшие результаты, поскольку у него больше запросов и ниже среднее время отклика. </p>
36
<em>Метрики (1000 кэшированных пользователей)</em><strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Средний отклик744 мс1615 мсМинимальный отклик101 мс102 мсМаксимальный отклик10296 мс11381 мсУспешные запросы5996453791Ошибки таймаута016Сетевые ошибки0346<p>Ngnix демонстрирует здесь гораздо лучшие результаты, поскольку у него больше запросов и ниже среднее время отклика. </p>
37
<p>Ngnix также имеет более стабильное время отклика, с меньшим количеством скачков на графике, и ему удалось успешно обработать 99,9% всех запросов.</p>
37
<p>Ngnix также имеет более стабильное время отклика, с меньшим количеством скачков на графике, и ему удалось успешно обработать 99,9% всех запросов.</p>
38
<p>У OpenLiteSpeed было несколько сетевых ошибок и таймаутов (время отклика > 10 секунд), и он обработал только 90% от максимально возможного количества запросов.</p>
38
<p>У OpenLiteSpeed было несколько сетевых ошибок и таймаутов (время отклика > 10 секунд), и он обработал только 90% от максимально возможного количества запросов.</p>
39
<p><strong>OpenLiteSpeed против Ngnix: Тест производительности от 0 до 10.000 пользователях</strong><strong>(с включенным кэшированием) (победа OpenLiteSpeed)</strong></p>
39
<p><strong>OpenLiteSpeed против Ngnix: Тест производительности от 0 до 10.000 пользователях</strong><strong>(с включенным кэшированием) (победа OpenLiteSpeed)</strong></p>
40
<p>Но как сравниваются обе платформы, если мы медленно увеличиваем количество пользователей с 0 до 10.000 за одну минуту?</p>
40
<p>Но как сравниваются обе платформы, если мы медленно увеличиваем количество пользователей с 0 до 10.000 за одну минуту?</p>
41
Ngnix: от 0 до 10.000 OpenLiteSpeed: от 0 до 10.000<p>Интересно, что при использовании Ngnix мы видим, что время отклика примерно соответствует росту числа посетителей. Однако в случае с OpenLiteSpeed это число остается неизменным, а после 9000+ пользователей происходит ступенчатое увеличение, что приводит к большому количеству тайм-аутов.</p>
41
Ngnix: от 0 до 10.000 OpenLiteSpeed: от 0 до 10.000<p>Интересно, что при использовании Ngnix мы видим, что время отклика примерно соответствует росту числа посетителей. Однако в случае с OpenLiteSpeed это число остается неизменным, а после 9000+ пользователей происходит ступенчатое увеличение, что приводит к большому количеству тайм-аутов.</p>
42
<p>По сути, OpenLiteSpeed работал лучше примерно при 9000 пользователей, что также приводило к большему количеству успешных запросов. Вот обзор всех показателей:</p>
42
<p>По сути, OpenLiteSpeed работал лучше примерно при 9000 пользователей, что также приводило к большему количеству успешных запросов. Вот обзор всех показателей:</p>
43
<em>Метрика (0-10000 пользователей)</em><strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Средний отклик3069 мс2041 мсМинимальный отклик110 мс103 мсМаксимальный отклик12028 мс16661 мсУспешные запросы85489111784Ошибки таймаута03822Сетевые ошибки00<p>Давайте посмотрим, что произойдет, если мы отключим кэширование!</p>
43
<em>Метрика (0-10000 пользователей)</em><strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Средний отклик3069 мс2041 мсМинимальный отклик110 мс103 мсМаксимальный отклик12028 мс16661 мсУспешные запросы85489111784Ошибки таймаута03822Сетевые ошибки00<p>Давайте посмотрим, что произойдет, если мы отключим кэширование!</p>
44
<p><strong>OpenLiteSpeed против Ngnix: Тест производительности при 50 пользователях</strong><strong>в секунду (с выключенном кэшированием) (победа Ngnix)</strong></p>
44
<p><strong>OpenLiteSpeed против Ngnix: Тест производительности при 50 пользователях</strong><strong>в секунду (с выключенном кэшированием) (победа Ngnix)</strong></p>
45
<p>При выключенном кэшировании мы получаем совершенно другую картину.</p>
45
<p>При выключенном кэшировании мы получаем совершенно другую картину.</p>
46
Ngnix: 50 некэшированных пользователей OpenLiteSpeed: 50 некэшированных пользователей<p>Ngnix работает намного лучше, чем LiteSpeed, с гораздо большим количеством успешных запросов и меньшим временем отклика.</p>
46
Ngnix: 50 некэшированных пользователей OpenLiteSpeed: 50 некэшированных пользователей<p>Ngnix работает намного лучше, чем LiteSpeed, с гораздо большим количеством успешных запросов и меньшим временем отклика.</p>
47
<em>Метрики </em><em>(50 некэшированных пользователей)</em><strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Средний отклик1918 мс3560 мсМинимальный отклик498 мс1137 мсМаксимальный отклик3069 мс11077 мсУспешные запросы21711313Ошибки таймаута00Сетевые ошибки00<p>Еще один популярный инструмент для тестирования нагрузки - h2load. Он часто встречается его в блогах. Следующие результаты говорят об этом.</p>
47
<em>Метрики </em><em>(50 некэшированных пользователей)</em><strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Средний отклик1918 мс3560 мсМинимальный отклик498 мс1137 мсМаксимальный отклик3069 мс11077 мсУспешные запросы21711313Ошибки таймаута00Сетевые ошибки00<p>Еще один популярный инструмент для тестирования нагрузки - h2load. Он часто встречается его в блогах. Следующие результаты говорят об этом.</p>
48
<p><strong>OpenLiteSpeed против Ngnix: h2load (с включенным кэшированием) (победа OpenLiteSpeed)</strong></p>
48
<p><strong>OpenLiteSpeed против Ngnix: h2load (с включенным кэшированием) (победа OpenLiteSpeed)</strong></p>
49
<p>Я выполнил следующий тест:</p>
49
<p>Я выполнил следующий тест:</p>
50
<p>h2load -n10000 -c100 -m10 --h1 "https://host.goncharov.press"</p>
50
<p>h2load -n10000 -c100 -m10 --h1 "https://host.goncharov.press"</p>
51
<p>По сути, это означает, что нужно выполнить 10.000 запросов со 100 пользователями, которые могут иметь до 10 одновременных потоков. И вот результаты:</p>
51
<p>По сути, это означает, что нужно выполнить 10.000 запросов со 100 пользователями, которые могут иметь до 10 одновременных потоков. И вот результаты:</p>
52
<em>Метрики </em><em>(1000 кэшированных пользователей)</em><strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Время завершения5.59 секунд4.87 сОбработано запросов1790,45 запрос/с2052,24 запрос/сСкорость93,86 Мбайт/с107,79 Мбайт/с<p>Здесь OpenLiteSpeed работает лучше. </p>
52
<em>Метрики </em><em>(1000 кэшированных пользователей)</em><strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Время завершения5.59 секунд4.87 сОбработано запросов1790,45 запрос/с2052,24 запрос/сСкорость93,86 Мбайт/с107,79 Мбайт/с<p>Здесь OpenLiteSpeed работает лучше. </p>
53
<p><strong>OpenLiteSpeed против Ngnix: h2load (с выключенном кэшированием) (победа Ngnix)</strong></p>
53
<p><strong>OpenLiteSpeed против Ngnix: h2load (с выключенном кэшированием) (победа Ngnix)</strong></p>
54
<p>Но увидим ли мы такую же разницу при отключении кэширования? Давайте посмотрим! Я выполнил следующую команду, которая загружает некэшированные версии сайта.</p>
54
<p>Но увидим ли мы такую же разницу при отключении кэширования? Давайте посмотрим! Я выполнил следующую команду, которая загружает некэшированные версии сайта.</p>
55
<p>h2load -n1000 -c10 -m10 --h1 "https://hostg.goncharov?nocache"</p>
55
<p>h2load -n1000 -c10 -m10 --h1 "https://hostg.goncharov?nocache"</p>
56
<p>И вот результаты:</p>
56
<p>И вот результаты:</p>
57
<em>Метрики (10 некэшированных пользователей)</em><strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Время завершения24.95 секунд43.54 секундОбработано запросов40.09 запрос/с22.97 запрос/сСкорость1.92 Мбайт/с1001 Кбайт/с<p>Как и в тесте с Loader.io, Ngnix показывает здесь гораздо лучшие результаты.</p>
57
<em>Метрики (10 некэшированных пользователей)</em><strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Время завершения24.95 секунд43.54 секундОбработано запросов40.09 запрос/с22.97 запрос/сСкорость1.92 Мбайт/с1001 Кбайт/с<p>Как и в тесте с Loader.io, Ngnix показывает здесь гораздо лучшие результаты.</p>
58
<p>Давайте теперь погрузимся в некоторые специфичные для WordPress тесты производительности и посмотрим, как сравниваются оба гиганта.</p>
58
<p>Давайте теперь погрузимся в некоторые специфичные для WordPress тесты производительности и посмотрим, как сравниваются оба гиганта.</p>
59
<p><strong>OpenLiteSpeed против Ngnix: Создание и удаление постов WordPress (победа OpenLiteSpeed)</strong></p>
59
<p><strong>OpenLiteSpeed против Ngnix: Создание и удаление постов WordPress (победа OpenLiteSpeed)</strong></p>
60
<p>Тестирование вставки и удаления постов - это простой самописный тест, в которым я создаю, получаю и удаляю 10.000. Для каждого из этих действий я регистрирую время, которое оно заняло.</p>
60
<p>Тестирование вставки и удаления постов - это простой самописный тест, в которым я создаю, получаю и удаляю 10.000. Для каждого из этих действий я регистрирую время, которое оно заняло.</p>
61
<strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Вставить 10.000 постов46,939 секунд41,041 секундУдалить 10.000 постов44,538 секунд43,170 секундЗапросить 10.000 постов0,318 секунд0,376 секунд<p>В этом случае OpenLiteSpeed немного быстрее.</p>
61
<strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Вставить 10.000 постов46,939 секунд41,041 секундУдалить 10.000 постов44,538 секунд43,170 секундЗапросить 10.000 постов0,318 секунд0,376 секунд<p>В этом случае OpenLiteSpeed немного быстрее.</p>
62
<p><strong>OpenLiteSpeed против Ngnix: Тестирование производительности WordPress (равенство)</strong></p>
62
<p><strong>OpenLiteSpeed против Ngnix: Тестирование производительности WordPress (равенство)</strong></p>
63
<p>Плагин WordPress Performance Tester делает два теста производительности, которые оценивают работу сервера и количество запросов в секунду в WordPress. Это хороший показатель производительности веб-сервера.</p>
63
<p>Плагин WordPress Performance Tester делает два теста производительности, которые оценивают работу сервера и количество запросов в секунду в WordPress. Это хороший показатель производительности веб-сервера.</p>
64
<strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Показатель сервера8.2748.109Запросы в секунду13261304<p>В этом тесте Ngnix и OpenLiteSpeed работают одинаково Для оценки сервера, чем меньше показатель, тем лучше.</p>
64
<strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Показатель сервера8.2748.109Запросы в секунду13261304<p>В этом тесте Ngnix и OpenLiteSpeed работают одинаково Для оценки сервера, чем меньше показатель, тем лучше.</p>
65
<p><strong>OpenLiteSpeed против Ngnix: WordPress Benchmark Tools (победа OpenLiteSpeed)</strong></p>
65
<p><strong>OpenLiteSpeed против Ngnix: WordPress Benchmark Tools (победа OpenLiteSpeed)</strong></p>
66
<p>Инструмент WordPress Hosting Benchmark - это отличный инструмент, который тестирует производительность вашего процессора, памяти, MySQL, хранилища и сети. Он дает представление о том, насколько хорош ваш хостинг-провайдер, а также о том, насколько эффективно работает стек веб-серверов.</p>
66
<p>Инструмент WordPress Hosting Benchmark - это отличный инструмент, который тестирует производительность вашего процессора, памяти, MySQL, хранилища и сети. Он дает представление о том, насколько хорош ваш хостинг-провайдер, а также о том, насколько эффективно работает стек веб-серверов.</p>
67
<p>В этом тесте производительности OpenLiteSpeed работает немного лучше, за исключением ввода-вывода небольших файлов.</p>
67
<p>В этом тесте производительности OpenLiteSpeed работает немного лучше, за исключением ввода-вывода небольших файлов.</p>
68
<strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Операции с большими текстовыми данными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<p>Итак, мы с вами провели много сравнительных тестов. Пришло время перейти к выводам.</p>
68
<strong>Ngnix</strong><strong>OpenLiteSpeed</strong>Операции с большими текстовыми данными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<p>Итак, мы с вами провели много сравнительных тестов. Пришло время перейти к выводам.</p>
69
<h2>OpenLiteSpeed против Ngnix: скорость WooCommerce</h2>
69
<h2>OpenLiteSpeed против Ngnix: скорость WooCommerce</h2>
70
<p>Хотя предыдущие тесты производительности и были сделаны на базовом варианте установк, это не совсем отражает среднестатистический сайт на WordPress. </p>
70
<p>Хотя предыдущие тесты производительности и были сделаны на базовом варианте установк, это не совсем отражает среднестатистический сайт на WordPress. </p>
71
<p>Поэтому я решил провести еще один этап тестирования с простым интернет-магазином, который работает на популярной теме WordPress и WooCommerce. Дополнительно я масштабировал сервер, чтобы посмотреть, каким будет эффект (от 1 ядра и 2 ГБ оперативной памяти до 4 ядер и 8 ГБ оперативной памяти, используя замечательные серверы от Timeweb). Итак, что я тестировал?</p>
71
<p>Поэтому я решил провести еще один этап тестирования с простым интернет-магазином, который работает на популярной теме WordPress и WooCommerce. Дополнительно я масштабировал сервер, чтобы посмотреть, каким будет эффект (от 1 ядра и 2 ГБ оперативной памяти до 4 ядер и 8 ГБ оперативной памяти, используя замечательные серверы от Timeweb). Итак, что я тестировал?</p>
72
<ul><li>Производительность загрузки для трех уровней с помощью h2load.</li>
72
<ul><li>Производительность загрузки для трех уровней с помощью h2load.</li>
73
<li>Время, необходимое для создания/удаления/получения 10.000 постов.</li>
73
<li>Время, необходимое для создания/удаления/получения 10.000 постов.</li>
74
<li>Сколько времени требуется для создания 1000 и 10.000 случайных товаров WooCommerce.</li>
74
<li>Сколько времени требуется для создания 1000 и 10.000 случайных товаров WooCommerce.</li>
75
<li>Время загрузки и запросы MySQL по данным Query Monitor при различных настройках.</li>
75
<li>Время загрузки и запросы MySQL по данным Query Monitor при различных настройках.</li>
76
<li>Время, необходимое для импорта 1000 постов с помощью WP All Import. </li>
76
<li>Время, необходимое для импорта 1000 постов с помощью WP All Import. </li>
77
</ul><p><strong>Нагрузочный тест (с включенным кэшированием): Ничья</strong></p>
77
</ul><p><strong>Нагрузочный тест (с включенным кэшированием): Ничья</strong></p>
78
<p>В этом нагрузочном тесте я выполнил 10000 запросов, вызванных 100 одновременными пользователями, на кэшированной странице веб-сайта. Вот результаты:</p>
78
<p>В этом нагрузочном тесте я выполнил 10000 запросов, вызванных 100 одновременными пользователями, на кэшированной странице веб-сайта. Вот результаты:</p>
79
<strong>Сервер</strong><strong>Запросов в секунду</strong>Ngnix на 1 ядре / 2 ГБ2605OLS на 1 ядре / 2 ГБ1055Ngnix на 2 ядрах / 4 ГБ1094OLS на 2 ядрах / 4 ГБ1105Ngnix на 4 ядрах / 8 ГБ1086OLS на 4 ядрах / 8 ГБ1103<p>За исключением самого маленького сервера Ngnix, результаты практически одинаковы. Однако у OpenLiteSpeed TTFB было меньше. При увеличении мощности сервера я также не заметил особого эффекта.</p>
79
<strong>Сервер</strong><strong>Запросов в секунду</strong>Ngnix на 1 ядре / 2 ГБ2605OLS на 1 ядре / 2 ГБ1055Ngnix на 2 ядрах / 4 ГБ1094OLS на 2 ядрах / 4 ГБ1105Ngnix на 4 ядрах / 8 ГБ1086OLS на 4 ядрах / 8 ГБ1103<p>За исключением самого маленького сервера Ngnix, результаты практически одинаковы. Однако у OpenLiteSpeed TTFB было меньше. При увеличении мощности сервера я также не заметил особого эффекта.</p>
80
<p><strong>Нагрузочный тест (без кэширования): победа Ngnix</strong></p>
80
<p><strong>Нагрузочный тест (без кэширования): победа Ngnix</strong></p>
81
<p>В этом нагрузочном тесте я выполнил 1000 запросов, вызванных 10 одновременными пользователями, на некэшированной странице веб-сайта. Вот результаты:</p>
81
<p>В этом нагрузочном тесте я выполнил 1000 запросов, вызванных 10 одновременными пользователями, на некэшированной странице веб-сайта. Вот результаты:</p>
82
<strong>Сервер</strong><strong>Запросов в секунду</strong>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<p>Как и в базовой установке, Ngnix может обрабатывать гораздо больше пользователей без кэширования, и было отмечено явное улучшение производительности для масштабируемых серверов. И снова мы видим возможности кэширования, поскольку некэшированная конфигурация намного медленнее.</p>
82
<strong>Сервер</strong><strong>Запросов в секунду</strong>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<p>Как и в базовой установке, Ngnix может обрабатывать гораздо больше пользователей без кэширования, и было отмечено явное улучшение производительности для масштабируемых серверов. И снова мы видим возможности кэширования, поскольку некэшированная конфигурация намного медленнее.</p>
83
<p><strong>Тестирование создания / удаления / получения постов: победа Ngnix</strong></p>
83
<p><strong>Тестирование создания / удаления / получения постов: победа Ngnix</strong></p>
84
<p>В этом тесте я вставил, запросил и удалил 10.000 постов. Вот результаты:</p>
84
<p>В этом тесте я вставил, запросил и удалил 10.000 постов. Вот результаты:</p>
85
<strong>Сервер</strong><strong>Создание (с)</strong><strong>Запрос (с)</strong><strong>Удаление (с)</strong>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<p><strong>Здесь Ngnix явно выигрывает</strong></p>
85
<strong>Сервер</strong><strong>Создание (с)</strong><strong>Запрос (с)</strong><strong>Удаление (с)</strong>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<p><strong>Здесь Ngnix явно выигрывает</strong></p>
86
<p>В этой тесте Ngnix намного быстрее, чем OpenLiteSpeed, особенно при удалении или вставке постов.</p>
86
<p>В этой тесте Ngnix намного быстрее, чем OpenLiteSpeed, особенно при удалении или вставке постов.</p>
87
<p><strong>WordPress работает в однопоточном режиме</strong></p>
87
<p><strong>WordPress работает в однопоточном режиме</strong></p>
88
<p>За исключением некоторой разницы с Ngnix, в целом нет изменений при увеличении мощности сервера, точнее, не они не настолько большие, насколько мы ожидали. Всё потому, что WordPress (и PHP) - однопоточный; один процесс назначается одному потоку. Это означает, что независимо от того, сколько ядер у сервера, один процесс (в данном случае, создание, удаление, получение постов) выполняется одним ядром. Однако при большем количестве ядер вы можете запускать больше процессов одновременно, что обычно приводит к более высокой производительности.</p>
88
<p>За исключением некоторой разницы с Ngnix, в целом нет изменений при увеличении мощности сервера, точнее, не они не настолько большие, насколько мы ожидали. Всё потому, что WordPress (и PHP) - однопоточный; один процесс назначается одному потоку. Это означает, что независимо от того, сколько ядер у сервера, один процесс (в данном случае, создание, удаление, получение постов) выполняется одним ядром. Однако при большем количестве ядер вы можете запускать больше процессов одновременно, что обычно приводит к более высокой производительности.</p>
89
<p><strong>Тесты производительности при создании товаров: Равенство</strong></p>
89
<p><strong>Тесты производительности при создании товаров: Равенство</strong></p>
90
<p>С помощью WC Smooth Generator я создал 1000, а затем 10.000 товаров и замерил время создания. OpenLiteSpeed обработал 1000 товаров быстрее, в то время как Ngnix обработал быстрее 10.000 товаров.</p>
90
<p>С помощью WC Smooth Generator я создал 1000, а затем 10.000 товаров и замерил время создания. OpenLiteSpeed обработал 1000 товаров быстрее, в то время как Ngnix обработал быстрее 10.000 товаров.</p>
91
<strong>Сервер</strong><strong>1000 товаров</strong><strong>10.000 товаров</strong>Ngnix на 4 ядрах / 8 ГБ00:03:5400:54:19OLS на 4 ядрах / 8 ГБ00:03:1500:56:42<p>В фоновом режиме я также провел тест с использованием сервера меньшего размера, но существенного влияния на время создание товаров не было.</p>
91
<strong>Сервер</strong><strong>1000 товаров</strong><strong>10.000 товаров</strong>Ngnix на 4 ядрах / 8 ГБ00:03:5400:54:19OLS на 4 ядрах / 8 ГБ00:03:1500:56:42<p>В фоновом режиме я также провел тест с использованием сервера меньшего размера, но существенного влияния на время создание товаров не было.</p>
92
<p>Поскольку этот тест занимает гораздо больше времени, он также является хорошим тестом на “долговечность”, другими словами: насколько долго держится данная производительность.</p>
92
<p>Поскольку этот тест занимает гораздо больше времени, он также является хорошим тестом на “долговечность”, другими словами: насколько долго держится данная производительность.</p>
93
<p><strong>Результаты мониторинга запросов: победа Ngnix</strong></p>
93
<p><strong>Результаты мониторинга запросов: победа Ngnix</strong></p>
94
<p>Для нескольких десятков товаров, я заходил на страницу редактирования товара, редактировал один из них, и смотрел метрики в Query Monitor. Query Monitor - это плагин, который помогает улучшать производительность, отслеживать метрики и видеть, какой код в WordPress является медленным и оказывает непосредственное влияние на скорость сайта.</p>
94
<p>Для нескольких десятков товаров, я заходил на страницу редактирования товара, редактировал один из них, и смотрел метрики в Query Monitor. Query Monitor - это плагин, который помогает улучшать производительность, отслеживать метрики и видеть, какой код в WordPress является медленным и оказывает непосредственное влияние на скорость сайта.</p>
95
<p>Плагин отслеживает время, необходимое для выполнения PHP, время, необходимое для запроса к базе данных, и сколько оперативной памяти и запросов задействуется в этом процессе.</p>
95
<p>Плагин отслеживает время, необходимое для выполнения PHP, время, необходимое для запроса к базе данных, и сколько оперативной памяти и запросов задействуется в этом процессе.</p>
96
<p><strong>Тест по умолчанию (17 товаров)</strong></p>
96
<p><strong>Тест по умолчанию (17 товаров)</strong></p>
97
<strong>Страница</strong><strong>Загрузка PHP (с)</strong><strong>Загрузка запроса (с)</strong>Ngnix - Страница товаров0.370.04OLS - Страница товаров0.820.05Ngnix - Страница редактирования товара0.370.08OLS - Страница редактирования товара1.541.17Загрузка страницы с 17 товарами<p>Здесь Ngnix показал себя намного лучше, а OLS показал несколько странных значений при редактировании товара. Но какие результаты для 1000 товаров?</p>
97
<strong>Страница</strong><strong>Загрузка PHP (с)</strong><strong>Загрузка запроса (с)</strong>Ngnix - Страница товаров0.370.04OLS - Страница товаров0.820.05Ngnix - Страница редактирования товара0.370.08OLS - Страница редактирования товара1.541.17Загрузка страницы с 17 товарами<p>Здесь Ngnix показал себя намного лучше, а OLS показал несколько странных значений при редактировании товара. Но какие результаты для 1000 товаров?</p>
98
<p><strong>Тест 1000 товаров</strong></p>
98
<p><strong>Тест 1000 товаров</strong></p>
99
<strong>Страница</strong><strong>Загрузка PHP (с)</strong><strong>Загрузка запроса (с)</strong>Ngnix - Страница товаров0.270.06OLS - Страница товаров0.650.08Ngnix - Страница редактирования товара0.470.04OLS - Страница редактирования товара0.420.09Загрузка страницы с 1000 товарами<p>Опять же, Ngnix был быстрее в запросах и загрузке страниц, за исключением страницы с редактированием товара, на которой OpenLiteSpeed загрузился немного быстрее (хотя запрос был медленнее).</p>
99
<strong>Страница</strong><strong>Загрузка PHP (с)</strong><strong>Загрузка запроса (с)</strong>Ngnix - Страница товаров0.270.06OLS - Страница товаров0.650.08Ngnix - Страница редактирования товара0.470.04OLS - Страница редактирования товара0.420.09Загрузка страницы с 1000 товарами<p>Опять же, Ngnix был быстрее в запросах и загрузке страниц, за исключением страницы с редактированием товара, на которой OpenLiteSpeed загрузился немного быстрее (хотя запрос был медленнее).</p>
100
<p><strong>Тест 11000 товаров</strong></p>
100
<p><strong>Тест 11000 товаров</strong></p>
101
<p>Здесь постепенно мы видим результаты наличия большого количества товаров в нашей базе данных, что приводит к увеличению времени запроса.</p>
101
<p>Здесь постепенно мы видим результаты наличия большого количества товаров в нашей базе данных, что приводит к увеличению времени запроса.</p>
102
<strong>Страница</strong><strong>Загрузка PHP (с)</strong><strong>Загрузка запроса (с)</strong>Ngnix - Страница товаров0.480.11OLS - Страница товаров1.010.25Ngnix - Страница редактирования товара0.550.34OLS - Страница редактирования товара1.790.46Загрузка страницы с 11000 товарами<p>Опять же, Ngnix здесь справляется лучше, даже после многократного обновления, загрузки страницы и усреднения чисел, чтобы убедиться, что наш результат не случаен. </p>
102
<strong>Страница</strong><strong>Загрузка PHP (с)</strong><strong>Загрузка запроса (с)</strong>Ngnix - Страница товаров0.480.11OLS - Страница товаров1.010.25Ngnix - Страница редактирования товара0.550.34OLS - Страница редактирования товара1.790.46Загрузка страницы с 11000 товарами<p>Опять же, Ngnix здесь справляется лучше, даже после многократного обновления, загрузки страницы и усреднения чисел, чтобы убедиться, что наш результат не случаен. </p>
103
<p>Кстати, я так же проделал это действие в рамках мощной конфигурации сервера, поскольку уменьшение мощности сервера не оказывает существенного влияния на результаты.</p>
103
<p>Кстати, я так же проделал это действие в рамках мощной конфигурации сервера, поскольку уменьшение мощности сервера не оказывает существенного влияния на результаты.</p>
104
<p><strong>Результаты тестирование импорта: победа Ngnix</strong></p>
104
<p><strong>Результаты тестирование импорта: победа Ngnix</strong></p>
105
<p>Я импортировал 1000 товаров в WordPress с помощью WP All import и засек время, которое занял импорт. Вот результаты:</p>
105
<p>Я импортировал 1000 товаров в WordPress с помощью WP All import и засек время, которое занял импорт. Вот результаты:</p>
106
<strong>Стек</strong><strong>Продолжительность импорта</strong>Ngnix00:01:15OLS00:01:26Импорт 1000 товаров<p>Опять же, Ngnix кажется здесь немного быстрее. Это особенно заметно, если импорт содержит уже существующие товары.</p>
106
<strong>Стек</strong><strong>Продолжительность импорта</strong>Ngnix00:01:15OLS00:01:26Импорт 1000 товаров<p>Опять же, Ngnix кажется здесь немного быстрее. Это особенно заметно, если импорт содержит уже существующие товары.</p>
107
<h2>LiteSpeed против Ngnix: Показатели близки, но Ngnix, видимо, выиграл.</h2>
107
<h2>LiteSpeed против Ngnix: Показатели близки, но Ngnix, видимо, выиграл.</h2>
108
<p>В моих тестах Ngnix и LiteSpeed показали очень близкие результаты, хотя в примере с интернет-магазином Ngnix справляется лучше.</p>
108
<p>В моих тестах Ngnix и LiteSpeed показали очень близкие результаты, хотя в примере с интернет-магазином Ngnix справляется лучше.</p>
109
<ul><li>В большинстве тестов разница очень мала, OpenLiteSpeed незначительно быстрее для серверных операций и в ситуациях с кэшированием (за исключением обработки 1000 одновременных пользователей).</li>
109
<ul><li>В большинстве тестов разница очень мала, OpenLiteSpeed незначительно быстрее для серверных операций и в ситуациях с кэшированием (за исключением обработки 1000 одновременных пользователей).</li>
110
<li>Ngnix показал себя намного лучше в нагрузочных тестах, когда кэширование было отключено, обрабатывая то же количество запросов и пользователей намного быстрее.</li>
110
<li>Ngnix показал себя намного лучше в нагрузочных тестах, когда кэширование было отключено, обрабатывая то же количество запросов и пользователей намного быстрее.</li>
111
</ul><p>К сожалению, я не могу дать однозначного совета, какой веб-сервер использовать вам: LiteSpeed или Ngnix. Но что делать, если решение принимать всё-таки придётся?</p>
111
</ul><p>К сожалению, я не могу дать однозначного совета, какой веб-сервер использовать вам: LiteSpeed или Ngnix. Но что делать, если решение принимать всё-таки придётся?</p>
112
<ul><li>Однозначно используйте OpenLiteSpeed, если вы хотите иметь простой в использовании плагин кэширования под WordPress, который удовлетворит все ваши потребности в производительности, а также если вам нужна совместимость с .htaccess. У него так же есть ESI-кэширование (edge side includes), которое можно использовать для кэширования динамических страниц типа каталога, корзины и вишлиста. </li>
112
<ul><li>Однозначно используйте OpenLiteSpeed, если вы хотите иметь простой в использовании плагин кэширования под WordPress, который удовлетворит все ваши потребности в производительности, а также если вам нужна совместимость с .htaccess. У него так же есть ESI-кэширование (edge side includes), которое можно использовать для кэширования динамических страниц типа каталога, корзины и вишлиста. </li>
113
<li>Используйте Ngnix, если вам нужна высокая производительность без кэширования и вам нужны конфиги Ngnix. </li>
113
<li>Используйте Ngnix, если вам нужна высокая производительность без кэширования и вам нужны конфиги Ngnix. </li>
114
</ul><p>Кроме всего вышесказанного, при выборе LiteSpeed или Ngnix следует учитывать еще несколько моментов.</p>
114
</ul><p>Кроме всего вышесказанного, при выборе LiteSpeed или Ngnix следует учитывать еще несколько моментов.</p>
115
<h2>Самый большой плюс использования LiteSpeed в WordPress</h2>
115
<h2>Самый большой плюс использования LiteSpeed в WordPress</h2>
116
<p>Самым большим преимуществом использования Litespeed для WordPress является его родной плагин кэширования LiteSpeed Cache. Это универсальный мультитул под большинство ваших задач по оптимизации скорости WordPress и Woocommerce. В нём есть всё для кэширования, минификации, сжатия, объектный кэш через Redis или Memcached, ESI, оптимизации изображений, CDN, очистки базы данных и многое другое. Вишенка на торте: LiteSpeed Cache - бесплатен. </p>
116
<p>Самым большим преимуществом использования Litespeed для WordPress является его родной плагин кэширования LiteSpeed Cache. Это универсальный мультитул под большинство ваших задач по оптимизации скорости WordPress и Woocommerce. В нём есть всё для кэширования, минификации, сжатия, объектный кэш через Redis или Memcached, ESI, оптимизации изображений, CDN, очистки базы данных и многое другое. Вишенка на торте: LiteSpeed Cache - бесплатен. </p>
117
<p>К сожалению, у Ngnix нет такого плагина в комплекте, зато есть другие платные и бесплатные альтернативы, такие как WP Rocket, WP Fastest Cache и т.д.</p>
117
<p>К сожалению, у Ngnix нет такого плагина в комплекте, зато есть другие платные и бесплатные альтернативы, такие как WP Rocket, WP Fastest Cache и т.д.</p>
118
<p>Как видим, сравнение Ngnix и LiteSpeed показало, что Ngnix по результатам тестов - явный победитель в плане производительности. Но вам стоит принимать во внимание тот факт, что каждый сайт - уникален: выбранная тема и плагины могут сильно влиять на производительность сайта, и один и тот же сайт на Ngnix и OLS может работать совершенно по-разному. Даже на уровне субъективных ощущений от использования. На опыту могу сказать, что WordPress и Woocommerce по OLS дают гораздо более приятный “полёт", чем на Ngnix. Что использовать в итоге - решать вам. </p>
118
<p>Как видим, сравнение Ngnix и LiteSpeed показало, что Ngnix по результатам тестов - явный победитель в плане производительности. Но вам стоит принимать во внимание тот факт, что каждый сайт - уникален: выбранная тема и плагины могут сильно влиять на производительность сайта, и один и тот же сайт на Ngnix и OLS может работать совершенно по-разному. Даже на уровне субъективных ощущений от использования. На опыту могу сказать, что WordPress и Woocommerce по OLS дают гораздо более приятный “полёт", чем на Ngnix. Что использовать в итоге - решать вам. </p>
119
<p>Узнать еще больше актуальных подробностей об использовании Ngnix в различных сценариях можно на онлайн-курсах в OTUS. Ознакомиться с полным списком курсов по всем направлениям можно<a>по ссылке.</a></p>
119
<p>Узнать еще больше актуальных подробностей об использовании Ngnix в различных сценариях можно на онлайн-курсах в OTUS. Ознакомиться с полным списком курсов по всем направлениям можно<a>по ссылке.</a></p>
120
120