Бави ли mod_rewrite?

iradeum

Banned
Здравейте, та въпроса е следния: Бави ли mod_rewrite отварянето на сайта, ако в .htaccess имам 2500 реда код?
 
Re: Бави ли mod_rewrite?

Ако имаш 2000 реда рулове и най-честата ти страница е мачната някъде в края, според мен е кофти.
За най-добър подход си ги подреди по посещаемост.
Или виж дали не може да се опишат всичките с по-малко код, някакъв regex или нещо.. не знам как е в момента.
 
Re: Бави ли mod_rewrite?

Зависи как е написан този код. Но като цяло нещата там се случват много бързо.

Нека направим една бакалска сметка и да дефинираме какво всъщност означава бързо.

Код:
time cat .htaccess
real    0m0.002s
user    0m0.000s
sys     0m0.001s

Имаме 2ms за отваряне на файла, още толкова за парсването и обработването му. Тоест 4мс за тази операция.
При 10'000 заявки към сървъра само от тази операция имаме 10'000*0.004мс = 40 секунди процесорно време отгоре.

Примерно:
1. сайт който има 1'000 уникални посетителя дневно
2. всеки от тях средно прави по 5 импресии = общо 5'000 импресии.
3. средно всяка страница има по 50 картинки, css, js

Тоест за 1000 уникални има 250'000 заявки към сървъра, което прави 1000 секунди (16минути) процесорно време на ден само от този отварянето и обработването на един .htaccess файл с 5 реда код в него.

Ако mod_rewrite правилата са в конфигурацията на апачето и на апачето му се окаже изобщо да не проверява за .htaccess файлове, то нещата работят една идея по-бързо при натоварени сървъри/сайтове.

При сайтове с по 10-20хил. импресии няма кое знае какво значение къде се намират mod_rewrite правилата и колко са🙂
 
Последно редактирано:
  • Like
Реакции: gvv
Re: Бави ли mod_rewrite?

Нека направим една бакалска сметка и да дефинираме какво всъщност означава бързо.

Код:
time cat .htaccess
real    0m0.002s
user    0m0.000s
sys     0m0.001s
Имаме 2ms за отваряне на файла, още толкова за парсването и обработването му. Тоест 4мс за тази операция.
При 10'000 заявки към сървъра само от тази операция имаме 20 секунди процесорно време отгоре.

Примерно:
1. сайт който има 1'000 уникални посетителя дневно
2. всеки от тях средно прави по 5 импресии = общо 5'000 импресии.
3. средно всяка страница има по 50 картинки, css, js

Тоест за 1000 уникални има 250'000 заявки към сървъра, което прави 500 секунди (8минути) процесорно време на ден само от този отварянето и обработването на един .htaccess файл с 5 реда код в него.

Ако mod_rewrite правилата са в конфигурацията на апачето и на апачето му се окаже изобщо да не проверява за .htaccess файлове, то нещата работят една идея по-бързо при натоварени сървъри/сайтове.

При сайтове с по 10-20хил. импресии няма кое знае какво значение къде се намират mod_rewrite правилата и колко са🙂

Ухххх, да да! Говори ми мръсно!
 
Последно редактирано:
Re: Бави ли mod_rewrite?

Колко ще бави си зависи колко е наторен сайта, но си е доста порочна практика ползването на толкова много правила. Колкото повече праивила толкова повече проверки за мачването им 😉
 
Re: Бави ли mod_rewrite?

Тоест за 1000 уникални има 250'000 заявки към сървъра, което прави 1000 секунди (16минути) процесорно време на ден само от този отварянето и обработването на един .htaccess файл с 5 реда код в него.


в суперхостинг имам 3 сайта с над 2000 хита дневно.

всички сайтове имат rewrite, и ето какво процесорно време използвам.

Ако смятам по-твоя начин аз би трябвало да ползвам по 60 70 мин на ден.
 

Прикачени файлове

  • Bulgaria_1303133241315.png
    Bulgaria_1303133241315.png
    2 KB · Преглеждания: 0
Re: Бави ли mod_rewrite?

сметката май е неправилна поради:

1. обработката на правилата не е = "cat" на файла
2.
real 0m0.002s
user 0m0.000s
sys 0m0.001s

тук процесорното време с само sys 0m0.001s (CPU време в кернел мод)

Да не говорим, че ако .htaccess се намира 4 папки навътре всеки път се сканират всички по-главни папки, което също бави.

Примерен резултат тук:

http://wiki.nginx.org/LikeApache-htaccess
 
Re: Бави ли mod_rewrite?

в суперхостинг имам 3 сайта с над 2000 хита дневно.

всички сайтове имат rewrite, и ето какво процесорно време използвам.

Ако смятам по-твоя начин аз би трябвало да ползвам по 60 70 мин на ден.

Неговите изчисления са за 250 000 hits не за 2000, вероятно от там идва разликата в сметките.
 
Re: Бави ли mod_rewrite?

nullsoft, нарочно удебелих "бакалска сметка", но и нарочно не навлязох в подробности - има много фактори, които не съм отчел и които могат да забавят или оптимизират ситуацията.

docenta, времето съм го сметнал cat x2. Две мили секунди за отваряне и две мили секунди за компилиране/изчисляване/обработване.

Не ми е известен по-лесен начин да се направи по-точна сметка колко процесорно време ще използва. Ако смятате, че можете да направите по-точна ще се радвам да видя резултатите.
 
Re: Бави ли mod_rewrite?

Здравейте!

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

@iradeum Обработката на Rewrite правила със сигурност бави зареждането на сайта, като точно с колко време, зависи от много фактори. Нашата практика показва, че използването на толкова голям брой Rewrite rules в .htaccess файла не е препоръчително.

@nullsoft Бихме искали да уточним, че цитираната статистика за използвано процесорно време, не включва обработката от Apache уеб сървъра. Тя включва само обработката на вашите скриптове.
 

Back
Горе