Ошибка 500, и медлено открывает страницу. онлайн 30 примерно. ночью 10. Хостер пишет что вина целиком и полностью на программере системы приводя в пример что в логах Апача есть ошибки. кроме "File does not exist" насторожила такая - PHP: [Wed Mar 03 15:44:18 2010] [error] [client **.**.157.251] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. ещё показывают график, что много запросов к БД ~350 в сек сервер виртуальный Ram 8Gb, 4 ядра Quad Core Pentium 2.5 На что грешить? куда смотреть? Интересует именно эта ошибка и реально ли так тормозить при таком сервере. Запросы в базу идут не тяжёлые....
именно эта ошибка может реально тормозить, особенно если правила для реврайта лежат в .htaccess Но думаю, не она одна.
mod_rewrite - действительно лежит в .htaccess замен много(не больше 10) такого типа: Код (Text): RewriteRule ^new$ new.php RewriteRule ^new/$ new.php RewriteRule ^new\/([0-9]+)$ new.php?page=$1 RewriteRule ^new\/([a-zA-Z+]+)$ new.php?country=$1 RewriteRule ^new\/([a-zA-Z+]+)\/$ new.php?country=$1 RewriteRule ^new\/([a-zA-Z+]+)\/([0-9]+)$ new.php?country=$1&page=$2 RewriteRule ^new\/([a-zA-Z+]+)\/([a-zA-Z+]+)$ new.php?country=$1&city=$2 RewriteRule ^new\/([a-zA-Z+]+)\/([a-zA-Z+]+)\/$ new.php?country=$1&city=$2 RewriteRule ^new\/([a-zA-Z+]+)\/([a-zA-Z+]+)\/([0-9]+)$ new.php?country=$1&city=$2&page=$3 неверно работать может из-за ошибок в .htaccess? или тормазит потому что много rewrite? сделана ЧПУ таким образом. Если можно, посоветуйте чем проверит можно, что именно? в системе Ram и Cpu остаются не загружены на всю... Стоит ли сменить хостиг? Подумываю об этом.. ps: опять же не по тематике раздела пишу, извиняюсь...
в httpd.conf или виртуальном хосте, возможно с хостером, укажите и ловите свои зацикленные преобразования
А есть результаты каких-нибудь тестов влияния правил modrewrite на .htaccess на производительность? Будет ли разница при 1000 хитов в час?
Вот насчет результатов - не знаю. Проблема в том, что механизм работает примерно так: 1. Разбирается урл, по результатам соответствия правилам реврайта (разобранных за 1 раз при запуске апача), виртуальных хостов, еще чего то формируется документ_рут 2. В полученном документ_руте ищется хтацесс 3. Если он найден, разбирается хтаццесс, или если правил больше нет, то продолжается вызовы уже модуля, обслуживающего дефолтный документ 4. После разбора хтаццеса и добавления правил из него к списку правил ВЕСЬ произошедший разбор урла СБРАСЫВАЕТСЯ, и апач едет к п.1 с новыми правилами из хтаццеса и повторяет весь процесс заново, но уже не ища хтаццес. В результате, при реврайт правилах в конфиге сервера просходят пункты 1,2,3 при наличии реврайтов в хтаццессе - 1,2,3,4,1,2,3