1. Начало
  2. Хостинг
  3. Разширени системни параметри
  4. Процесорно време – статистика и оптимизация

Процесорно време – статистика и оптимизация

Какво е процесорно време?

Това представлява времето, необходимо на едно ядро от сървърен процесор да изпълни операциите по обработка на скрипт и да върне резултат. Също така, 1 часовникова минута може да се равнява на няколко процесорни минути, тъй като процесорите обикновено са с повече от 1 ядра (8-ядрени, 16-ядрени и т.н).

Как се отчита и какво се включва в статистиката?

В процесорното време, което се отчита при услугата споделен хостинг, се включва времето за обработка на MySQL заявките и обработката на скриптове (php, perl, python и други скриптове), които се изпълняват на сървъра. В статистиката не се включва времето за сервиране на статично съдържание (css, js, изображения и др.). Статистика за изразходваното процесорно време може да намерите във вашия клиентски профил в секцията "Хостинг акаунти", след като изберете бутона "Детайли" за съответния акаунт » "Разширени системни параметри" »  "Изразходвано процесорно време", като информацията се обновява веднъж на 24 часа.

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

В повечето случаи повишеното потребление на процесорно време не се дължи на един скрипт, който се изпълнява дълго време и/или изразходва много ресурс. Много често скриптовете в акаунта се изпълняват за милисекунди, но стотици или хиляди пъти, което води до натрупване на времето за работа на процесора.

Анализ

Много полезна информация, която помага за анализ и оптимизация, може да намерите в секция Логове (Logs) на контролния панел cPanel – Raw Access Logs и Awstats. В статистиката анализирайте информацията в секциите:

Days of month (Number of visits, Pages, Hits)
Pages-URL (Top 25)
Hosts (Top 25)
HTTP Status codes

Така ще можете да проследите посещенията за различните дни, IP адресите, от които е достъпван сайта, както и страниците, които са зареждани.

Повишено потребление на CPU

Тук са изброени най-често срещаните причини за повишено потребление на CPU, с няколко съвета за оптимизация на приложенията.

• Динамична обработка на снимки (динамично визуализиране, създаване на thumbnails, поставяне на "water mark" върху снимка и т.н.)

Ето и малко повече информация относно динамичното и статичното сервиране на изображения:

В статистиката за процесорно време, както споменахме по-горе, се отчита времето за обработка на скриптове от хостинг акаунта (в случая php скриптове) и не се отчита времето, необходимо за сервиране на статично съдържание. Пример за динамична обработка на изображения, е картинка да се визуализира по подобен начин:

https://domain.com/image.php?path=изображение.jpg

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

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

https://domain.com/изображение.jpg

Често в повечето CMS-и се използват скриптове за динамично преоразмеряване и сервиране на изображения, като phpthumb, timthumb и др. При развитие на сайта подобни скриптове започват да изразходват неоптимално ресурси и едно удачно решение е "сервирането" им като статично съдържание.

• Разположен PHP чат, live chat, ShoutBOX;

• Статистически модули;

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

• Излишни извиквания / презареждания (hits) на голямо количество елементи (картинки) на уеб страница, липсващи елементи;

• Разположена система за управление на реклами (PhpAdsNew, OpenAds) и др.;

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

Системите за управление на реклами също използват php скриптове за визуализация на съдържанието и при повишаване на хитовете, често се увеличава и изразходваното процесорно време.

• Многобройни посещения и индексации от търсещи роботи.

Базирайки се на практиката си, виждаме, че ботовете понякога са много агресивни при индексирането на сайтовете. В случай че забележите завишено индексиране от ботове, то можете да ги блокирате временно чрез .htaccess файла или да намалите честота на обхождане за сайта. Това можете да направите чрез Crawl-Delay функцията в robots.txt файл.

начало ⇑

Обновена: 15.09.2019

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

Вижте още