Nginx на стероидах — расширяем функционал с помощью LUA

И все-таки, Lua потрясающий язык! Не даром он носит звание самого быстрого скриптового языка. А встраивается в любую программу на C/C++ просто моментально. И вынести в него можно любую часть функционала приложения. Кто-то выносит только конфиги, а кто-то вообще всю бизнес-логику приложения, или игры.

Nginx на стероидах — расширяем функционал с помощью LUA.

Роутинг на PHP для сервера nginx

Недавно на Хабре появилась статья в трех частях для начинающих погружаться в PHP и создавать свой сайт, или свою CMS. В том числе, автор описал такое явление, как роутинг, или маршрутизация. Вкратце, это метод обработки параметров в командной строке не по-старому (index.php/?arg1=abc&arg2=dfg), а по-вебдванольному (/post/123123). Там есть пример настройки сервера Apache, при которой все запросы, которые не соответствуют файлам и папкам, обрабатываются файлом index.php. Но, мир не стоит на месте, всё больше продвинутых администраторов забывают об Apache как о страшном, тормознутом и прожорливом сне и ставят себе nginx.

Если вы, как и я, сделали такой шаг, то знайте, настроить в nginx такое поведение очень просто:

location / {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
}

Переходим с Apache на Nginx

Решил отказаться от апача по причине тормозов. Как ни настраивал, так нормально не получилось заставить его работать. В любом случае заметны были небольшие тормоза.
В данный момент без бубна на debian squeeze поставить php-fpm невозможно, но я справился малой кровью. Делал по большей части по этому туториалу: http://www.webhostingtalk.com/showthread.php?t=1025286

Итак, первые тесты. Тесты проводил как раз на главной странице этого блога. Движок WordPress довольно прожорлив, есть смысл тестировать.
Результаты: первый апачевский, второй джинсовый.

Я так понимаю, во время апачевского теста loadimpact решил не мучать сервер 30+ запросами. А при энджинксе картинка намного красивее.

П.С.: Не совсем понимаю пока, почему в htop показывается большая нагрузка на все ядра между тестами. Т.е. когда подтест 10 юзеров заканчивается, а потом начинается 20. Потом как-нить разберусь.
А так, даже при 40 юзерах средняя загруженность около 20%. При юзерах 30 и ниже загруженности вообще нет.