Как это повлияет на производительность сайта, если файл .htaccess загружен сотнями URL-адресов с переадресацией? - PullRequest
1 голос
/ 28 марта 2012

Мне нужно перенаправить большую часть страниц на новые URL-адреса, и, если я положу их все в файл .htaccess, он получит перегрузку и снизит производительность сайта. ??

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

Спасибо

Ответы [ 2 ]

1 голос
/ 29 марта 2012

Сначала обратите внимание, что использование файлов .htaccess или даже использование файла .htaccess снижает производительность.Как вы говорите Apache, чтобы сделать ввод / вывод в файловой системе, ища файлы .htaccess в дереве каталогов.Так что для лучшей производительности лучше иметь AllowOverride None на <Directory /> (так из корневого каталога), и, конечно, вам не следует изменять настройку AllowOverride в любом подкаталоге.

Теперь, если вы.htacess с большим количеством правил, или <Directory /path/to/my/directory> с большим количеством правил, что совершенно одинаково, за исключением того, что вторая версия будет читаться при запуске, а не для каждого запроса, тогда вы, конечно, замедляете youyr apacheпроцесс, как он должен проверить все правила.Но это обычно довольно быстро.Лучше всего отслеживать его с помощью некоторых инструментов, таких как autobench, httpperf, webinject, ab и т. Д.

В mod_rewrite есть способ ускорить процесс перезаписи, когда у вас много правил, использующих одну и ту же схему,Это RewriteMap .При использовании rewriteMap с хеш-файлом у вас, конечно, будет что-то с лучшей скоростью.Но rewriteMap требует, чтобы вы забыли о немых файлах .htaccess и действительно использовали файлы конфигурации apache для редактирования конфигурации apache (/etc/apache/*).Поэтому вам необходим административный доступ к этой конфигурации.

И в конце вашего вопроса вы говорите о динамическом редактировании вашего .htaccess.Если ваши переписывания действительно динамичны, я бы забыл об использовании веб-сервера для обработки этого и вставил политику переписывания в код приложения (PHP / C # / etc).Или вы можете также использовать опцию prg: rewriteMap и написать свой собственный скрипт на perl, python или что-нибудь еще, вызываемый apache mod-rewrite при каждом запросе, предоставляя политику перезаписи.И производительность переписывания будет зависеть от ваших навыков программирования.

0 голосов
/ 28 марта 2012

Я поверил, это не сильно ухудшит производительность, хотя перегрузка на сервере apache определенно возрастет .... Это также зависит от вашей пропускной способности и скорости оперативной памяти на вашем сервере, если это хорошо, то я поверилвы обнаружите любую проблему с mager ..

В моем локальном окружении я использую WAMP, что позволяет динамически добавлять / удалять модуль, вы также можете использовать cpanel, что позволяет динамически добавлять / редактировать многие элементы для вашегоapache server http://docs.cpanel.net/twiki/bin/view/EasyApache3/WebHome

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

LoadModule vhost_alias_module modules / mod_vhost_alias.so

Виртуальные хосты

Включая conf / extra / httpd-vhosts.conf и послесловие, вы можете добавить все свои базы данных виртуального хоста в один файл, т.е. conf / extra / httpd-vhosts.conf

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