Сведения о вопросе

Fhohir

23:09, 11th August, 2020

Теги

Есть ли негативные последствия при использовании Mod-Rewrite?

Просмотров: 401   Ответов: 3

Я знаю, что есть много положительных вещей, которые mod-rewrite выполняет. Но есть ли какие-то негативные моменты? Очевидно, что если у вас плохо написаны правила, у вас будут проблемы. Но что, если у вас большой объем сайта и вы постоянно используете mod-rewrite, это будет иметь значительное влияние на производительность? Я быстро поискал некоторые ориентиры в Google и не нашел много.



  Сведения об ответе

LAST

07:03, 17th August, 2020

Я использовал mod_rewrite на сайтах, которые получают millions/hits/month без каких-либо существенных проблем с производительностью. Вы должны знать, какие рерайты применяются в первую очередь в зависимости от ваших правил.

Использование mod_rewrite, скорее всего, быстрее, чем разбор URL с вашим текущим языком.

Если вы действительно беспокоитесь о производительности, не используйте файлы .htaccess , они медленные. Поместите все свои правила перезаписи в конфигурацию Apache, которая читается только один раз при запуске. .htaccess файлы повторно анализируются при каждом запросе, а также каждый .htaccess файл в родительских папках.


  Сведения об ответе

baggs

02:28, 19th August, 2020

Чтобы повторить то, что Райан говорит выше, правила в .htaccess могут действительно повредить время загрузки на загруженном сайте по сравнению с наличием правил в вашем конфигурационном файле. Мы сначала попробовали это (~60 миллионов pages/month)), но не очень долго, пока наши серверы не начали курить :)

Очевидным недостатком наличия правил в вашей конфигурации является необходимость перезагрузки конфигурации всякий раз, когда вы изменяете свои правила.

Последний флаг ("L") полезен для ускорения выполнения ваших правил, когда ваши наиболее часто используемые правила находятся в верхней части и оцениваются первыми. Это может сделать обслуживание намного сложнее, если у вас есть длинный набор правил, хотя - я потратил пару очень неприятных часов однажды утром, когда я редактировал середину своего списка правил и имел один сверху, который ловил больше, чем предполагалось!

Мы также испытывали трудности с поиском соответствующих критериев и в конечном итоге разработали свой собственный внутренний набор тестов. После того, как мы разобрали наши правила, правильно упорядочили их и ввели в наш Apache conf, мы не обнаружили большого негативного влияния на производительность.


  Сведения об ответе

ASER

07:34, 14th August, 2020

Если вы беспокоитесь о производительности apache, одна вещь, которую следует учитывать, если у вас есть много правил перезаписи, - это использование флага "skip". Это способ пропустить совпадение по правилам. Таким образом, все накладные расходы, которые были бы потрачены на сопоставление, сохраняются.

Однако будьте осторожны, я был на проекте, который много использовал флаг "skip", и это сделало обслуживание болезненным, так как оно зависит от порядка, в котором вещи записываются в файл.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться