AWStats – анализ при повишено процесорно време

Много полезна информация, за анализ и оптимизация на даден сайт, може да се намери в секция Логове (Logs) на контролния панел cPanel  в меню AWStats„.

Чрез статистиката в AWStats може да се засекат някои от причините за повишено потребление на процесорен ресурс от хостинг акаунта.

Какво е процесорно време, как се отчита и какво се включва в статистиката?

Завишено посещение от „лоши“ ботове

Агресивното индексиране на сайта от „лоши“ ботове често води до завишено потребление на процесорно време.

Дали даден сайт има завишено посещение от ботове може да се разбере на пръв поглед, като се погледне първата секция в статистиката – „Сумарно„:

сайт, тормозен от "лоши" ботове
Сайт, тормозен от „лоши“ ботове.

Това е пример за сайт, който има агресивно индексиране от ботове. Може да се види в статистиката на Traffic viewed и Traffic not viewed за Страници, Хита и Използван трафик. В случая броят на страниците и хитовете, генериран от ботовете, е много по-голям от този за нормалните посещения.

Traffic viewed – Трафикът, който е генериран от посетителите. Този тип трафик се генерира от нормалните посетители на дадения сайт, докато те разглеждат сайта.

Traffic not viewed – Трафикът, който е генериран от ботове, роботи и отговори на сървъра със специални HTTP статус кодове.

Информация за ботовете може да се намери и в секция „Претърсващи роботи„.

Претърсващи роботи
Претърсващи роботи, ботове.

Възможно е да се ограничи достъпа на „лошите ботове“ до сайтовете в хостинг акаунта, чрез добавяне на определени правила в .htaccess файла. Например:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^(.*)MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)SolomonoBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)Baiduspider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)Yeti [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)Ezooms [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)AhrefsBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)exabot [NC]
RewriteRule .* - [F]

В посочените редове са дадени примери за няколко агресивни бота.

Бележка: Ако вече имате .htaccess файл, в който вече има някакви записани правила, препоръчително е да поставите редовете за блокиране на ботовете в началото на файла.

Най-пълна информация за посещението на ботовете може да се намери в Access лога на сайта.

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

Завишено индексиране от Bingbot

Възможно е понякога обхождащите машини на MSN и Bing също да бъдат много агресивни. По аналогичен начин може да бъде намален Crawl rate-а им. Това се извършва в Bing Webmaster Tools.

Динамична обработка на изображения

Динамичната обработка на изображения представлява процес в системата, при който за визуализирането на изображение с определени критерии, това изображение се обработва непосредствено преди визуализацията.

Например, за визуализацията на умалено изображение (thumbnail) се стартира скрипт, който го преоразмерява непосредствено преди зареждането. Не се запазва копие на обработеното изображение. При следващо извикване, изображението се обработва отново.

Пример за динамично оразмеряване, при който картинка се визуализира по подобен начин в адресната лента на браузъра:

https://mydomain.com/image.php?path=/uploads/image.jpg&newxsize=160&newysize=160

За да се покаже снимката, скриптът image.php се извиква всеки път. На сайта обикновено има много повече от една картинка. Например, ако на една страница има 5 картинки, извикването на скрипта е 5 пъти и това само за един потребител при едно отваряне.

Това води до многократно изпълнение на един и същ скрипт. В статистиката за процесорно време се отчита именно времето за обработка на скриптове от хостинг акаунта. Това води и до увеличаване на процесорното време.

В статистиката за изразходваното процесорно време не се отчита времето, необходимо за обработка на статичните елементи. Затова удачен вариант за оптимизация е да се замени динамичната обработка на изображенията и да се сервират статични ресурси.

Сервирането на статичното съдържание представлява например, картинката да се извиква директно, без да се ползва скрипт:

https://mydomain.com/images/thumbimage.jpg

За целта изображенията може да се обработят веднъж, например при качване. След това се запазват копия на вече обработените изображения.

статистика за най-достъпваните адреси
Статистика за най-достъпваните адреси.

Често срещани PHP скриптове за динамично преоразмеряване на картинки: timthumb.php, show_image_in_imgtag.php, thumb.php, phpthumb.php и др.

Липсващ ресурс от сайта, при достъпването на който получаващото се съобщение „404“ се обработва от PHP

информация за HTTP статус кодовете
Информация за HTTP статус кодовете.

При повечето готови системи съобщението за липсващ ресурс „404“ се визуализира като част от дизайна на темата на сайта и това е постигнато като съобщението се обработва от PHP.

Грешка 404 може да се получи ако например в кода е зададено да се зарежда даден елемент (css, js, адрес или друго), а такъв не е наличен в акаунта или не е достъпен.

Когато към сайта има множество липсващи ресурси, като например картинка или липсваща статия, то при извикването на този ресурс се стартира страницата за грешка 404, чието визуализиране се обработва от PHP.

Единият от вариантите е да добавите липсващите елементи в хостинг акаунта или да ги премахнете от кода на сайта. Подробна информация можете да намерите в AWStats в секцията „HTTP кодове за грешка“. Като се натисне върху „404“ ще се покаже информация кои адреси са зададени да се ползват в кода на сайта, но ги няма в хостинг акаунта.

Обновена: 12.10.2022

Беше ли Ви полезна тази статия?

Вижте още