Производительность nginx, lua, php
Коллеги общались рядом, хвалили lua, скомпилированный в nginx. Невероятная скорость. Недосягаемая для пхп или руби.
Я спросил, какая конкретная скорость, сколько ответов в секунду? Не буду вас путать тем, что мне ответили и чему я не поверил. Мы проверили вместе.
На одном ядре в амазоне, если тестировать с помощью ab
с того же сервера. nginx. php-fpm 7.2.
Отдавать текстовый файл получается 12к раз в секунду
.
Отдавать луа текстовую строку получается 10к раз в секунду
.
Отдавать пхп текстовую строку получается 4.5к раз в секунду
.
Это всё на одном ядре. Учитывая, что сам ab
занимает тут примерно 50% процессора.
Соответственно, ядер можно сделать хоть 30.
Это всё огромные цифры. Мы видим, что пхп отстаёт от вкомпилированного в nginx native-решения в 2-3 раза. Но тем не менее, это всё равно огромное количество ответов в секунду от одного ядра.
Нужно также понимать, что здесь тестируется скорее производительность пайплайнов. Относительно статического файла, lua-пайплайн потерял всего 2000 rps, в то время как php-fpm-пайплайн потерял уже 7500 rps. То есть пайплайн php-fpm примерно в 3-4 раза медленнее пайплайна lua.
Насколько быстро работает сам код: обращение к переменным, к элементам массивов, функции — всё это здесь не тестировалось. Это всё ещё остаётся загадкой.
Обсуждение