Поставили вчера пхп-акселератор (eAccelerator v0.9.5.1). Сравнил время генерации страничек для юзеров (не анонимов):
было(мс) стало(мс) уменьшение времени (разы)
главная: 1040 360 2.88
новости: 1760 860 2.05
страница: 1100 370 2.97
карта сайта: 1129 390 2.89
поиск: 3200! 2300! 1.39
Кол-во записей в таблицах БД:
node: 1780
node_revisions: 1943
url_alias: 418
comments: 3509
term_data: 226
menu: 486
Вообще скорость работы не впечатляет конечно, особенно без акселератора... Те же новости сделаны обычным образом cck+views и такое время генерации жуткое... Можно конечно оптимизировать страницу новостей, забив на views и написав всю выборку одним селектом. А вот поиск вообще ни в какие ворота!
Хорошо хоть все посетители анонимы, тормоза в основном отражаются только на нервах админов/модеров)
Комментарии
а какой акселератор?
а насчет поиска - так там скорее всего вся нагрузка на базу, а не на пхп
Какой акселератор? Хотелось бы узнать, а то править все время ядро на оптимизацию неохота.
было php 4, стало php 5 + eAccelerator v0.9.5.1
да, я eaccelerator везде ставлю, вот бы теперь сравнить апач+eaccelerator и nginx+php
а кто мешает поставить nginx+php+eaccelerator ?))
а что eaccelerator не к апачу приставляется? ага - кажется тут написано - http://malik.elcat.kg/nginx-fastcgiphp-chroot.shtml
у вас получается что короткие ссылки будут только с друпалом работать, а так что-бы везде - nginx не умеет?
2kiev1
умеет он, только синтаксис там другой
для меня проблема именно в этом, апачевские регэкспы я давно понять не могу, а уж переписать...
Где вы и все прочие понахватались баек о сложности mod_rewrite в Apache и nginx'е?
Было в Apache (в httpd.conf, а не в .htaccess)
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/$ [NC]
RewriteCond %{REQUEST_URI} !^/index.php$ [NC]
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}index.php?q=$1 [L,QSA]
Стало в nginx'е (внутри нужного server { ..... })
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?q=$1 last;
break;
}
}
+ надо патчить Drupal, если он работает на Apache-backend'е за nginx'ом; там есть бага с неправильным REQUEST_URI при включенных clean_urls
а что за бага? у меня пол года работает на апаче за nginx без проблем.
Бага редко проявляется в том, что у форм action="index.php?q=/bla-bla-bla" вместо action="/bla-bla-bla" при включенных clean_urls.
Исследование показало, что в этом случае в action тупо подставляется REQUEST_URI АПАЧА, который знать не знает о всяких реврайтах, которые делает nginx перед ним.
Собственно, так и должно быть, ведь к Апачу и приходят ссылки вида index.php?q=/bla-bla-bla.
Лечится это обрезанием "*?q=" из SERVER['REQUEST_URI'] если включены clean_urls в ядерной функции request_uri()
спасибо, интересно... наверно у меня просто таких форм небыло, все стандартно...
Кстати, форма где-то в админке попадалась. То ли там, где слоган-миссия, то ли там, где формат времени ставится
спасибо, полезно