Производительность перенаправления .htaccess - PullRequest
10 голосов
/ 16 октября 2008

Не перенаправляет ли htaccess медленнее / больше напрягает Apache, чем перенаправления в файлах конфигурации? Кроме того, насколько большим может быть количество перенаправлений в htaccess, прежде чем они начнут снижать производительность?

Ответы [ 3 ]

13 голосов
/ 16 октября 2008

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

Количество перенаправлений не имеет значения, поскольку основной удар по производительности - это сам доступ к файлу. Это в разумных пределах (т. Е. Файл htaccess размером 5 Кбайт будет анализироваться более или менее одинаково, чем файл размером 1 Кбайт, другая история - это htaccess размером 1 Мб, хотя я никогда не видел этого чудовища и надеюсь, что никогда этого не сделаю)

8 голосов
/ 16 октября 2008

Хотя это правда, что .htaccess анализируется при каждом запросе и, таким образом, технически медленнее, чем помещение ваших правил в основной файл конфигурации, в действительности это не имеет значения. Механизм настройки Apache представляет собой довольно оптимизированный C-код, встроенный в веб-сервер. Если только вы не обслуживаете только небольшие статические файлы без доступа к базе данных, дополнительные издержки .htaccess и перенаправлений незначительны.

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

1 голос
/ 16 октября 2008

Использование файла .htaccess медленнее, чем использование файла конфигурации - файл .htaccess анализируется всякий раз, когда делается запрос к каталогу, на который он влияет - это позволяет изменить файл без перезапуска сервера. Поскольку файл конфигурации анализируется только один раз при запуске сервера, он быстрее.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...