Entry tags:
Если поставить ракетный ускоритель на запорожец, то он полетит, пусть и 1 раз.
Вчера потратил 4 часа рабочего времени на оптимизацию скорости работы двух внутренних сайтов на iDevAffiliate. Маркетинг рыдал, что медленно работает. При этом load average 0.5 и в MySQL ничего особо не зависает. Просто мы на каждый чих в PHP ходим, а там такой тормозной код, что хоть вешайся. Ещё и 4м Ioncube всё пожали.
Гуглил на тему оптимизации этой чудо софтины или конфига для нёё под Nginx уже второй или третий раз, никаких вариантов в свободном доступе нет. Всё таки надоели жалобы - пошёл пилить.
В результате :
1. с Apache 2.2 + PHP 5.1.6 in mod_php + MySQL 5.0.92 поехали на Nginx 1.2.2 + PHP-FPM 5.3.15 + Xcache 2.0.1 + MySQL 5.5.25a.
2. Оптимизировал конфиг MySQL до того, что при paging по большим таблицам top не успевает wa с 0 поднять ;)
3. Всё работает через сокеты, которые лежат в tmpfs рядом с временными каталогами Nignx и MySQL.
4. Страницу rewrite правил от разработчиков iDevAffiliate переписал под Nginx, обойдя часть подводных камней через 6 или 7 locations. Опыт извращений уже сказывается - Nginx съел конфиги с первого раза.
Итого с 5-6 секунд загрузки каждой страницы мы пришли к 1 секунде или меньше.
Как хорошо, что хорошие программисты написали кучу хорошего софта, который умеет работать быстро с плохим, написанным через одно место. :)
Гуглил на тему оптимизации этой чудо софтины или конфига для нёё под Nginx уже второй или третий раз, никаких вариантов в свободном доступе нет. Всё таки надоели жалобы - пошёл пилить.
В результате :
1. с Apache 2.2 + PHP 5.1.6 in mod_php + MySQL 5.0.92 поехали на Nginx 1.2.2 + PHP-FPM 5.3.15 + Xcache 2.0.1 + MySQL 5.5.25a.
2. Оптимизировал конфиг MySQL до того, что при paging по большим таблицам top не успевает wa с 0 поднять ;)
3. Всё работает через сокеты, которые лежат в tmpfs рядом с временными каталогами Nignx и MySQL.
4. Страницу rewrite правил от разработчиков iDevAffiliate переписал под Nginx, обойдя часть подводных камней через 6 или 7 locations. Опыт извращений уже сказывается - Nginx съел конфиги с первого раза.
Итого с 5-6 секунд загрузки каждой страницы мы пришли к 1 секунде или меньше.
Как хорошо, что хорошие программисты написали кучу хорошего софта, который умеет работать быстро с плохим, написанным через одно место. :)