Новини високих технологій
» » PHP: час виконання скрипта на практиці

PHP: час виконання скрипта на практиці

6-11-2017, 19:53
874
На PHP час виконання скрипта має значення для цілей визначення часу формування сторінки або її елемента, для побудови безпечного і надійного коду сайту цілому.
Існує три кардинально різні варіанти цієї мети: час формування сторінки цілком, час відновлення елементу сторінки і час виконання нічим не обмежено, включаючи факт припинення сесії відвідувачем.

Час виконання скрипта

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


Простий скрипт: приклад визначення часу виконання циклу.
PHP надає розробнику дві функції: microtime() і time(), які можна використовувати для формування часових міток. Визначаючи ці мітки перед початком досліджуваного коду і по його завершенні, можна обчислити різницю, тобто отримати реальний час, який було затрачено на виконання коду.

Функції microtime() і time()

В даному прикладі в циклі використовується різне кількість ітерацій: 567 або 56789. У першому випадку цикл працює швидше, у другому - в десять разів повільніше.
Функція microtime() може використовуватися без параметрів, і тоді її результатом буде рядок символів з двох чисел, розділених пропуском. Перше число - кількість мікросекунд, друге число - кількість секунд, що пройшли з дати, визнаної початком епохи "Юнікс".


Якщо функція microtime(true) викликається з параметром, і його значення true, то результатом буде число - як сума кількості секунд і мікросекунд. Використання функції без параметрів еквівалентно викликом: microtime(false). Функція time() не працює з микросекундами, бо приклад циклу на меншій кількості ітерацій дає нульовий час виконання.

Практичне значення часу виконання

PHP - швидкий, сучасний і функціонально досконалий мову. У більшості випадків на PHP час виконання скрипта навіть визначати сенсу не має. Але формування сторінки може виконуватися на підставі даних, отриманих з бази даних. У цьому випадку, крім затримки вибору інформації, можуть виникати тимчасові витрати на доставку даних, на облік завантаженості сервера і інші обставини. Сучасне інтернет-програмування часто змушене рахуватися з вимогами розподіленої обробки інформації, необхідністю збору даних з різних ресурсів в Мережі в режимі онлайн. У цих і подібних випадках, оцінка часу виконання скрипта відіграє стратегічну роль і може мати суттєве практичне значення. Зокрема, при розробці пошукової системи може знадобитися переглядати систематично спектр конкретних ресурсів мережі на предмет виконаних на них змін за певний проміжок часу. Але якийсь ресурс може бути: недоступний; заблокований; перебувати на технічному обслуговуванні. У цих випадках скрипт або зависне, або буде невиправдано довго чекати потрібного йому події. Встановивши точний час для виконання скрипта, наприклад, 10 сек., 1 хв. або 5 хв., можна забезпечити власним ресурсу суворе дотримання регламенту по обробці всіх віддалених ресурсів, які йому необхідні для вирішення своїх завдань.

Час і місце виконання скрипта

PHP - це серверний мова, але це не у всіх випадках означає, що на PHP час виконання скрипта визначається виключно швидкістю роботи сервера. Лише обмежене коло завдань вимагає внутрішньої обробки. Звернення до бази даних або до ресурсу в Мережі з скрипта - це вихід за межі компетенції сервера і додатковий час, який буде витрачено на очікування встановлення потрібного з'єднання і отримання необхідних даних.
PHP: час виконання скрипта на практиці
Запуск PHP-скрипта може проводитися по технології AJAX, тобто після кліка відвідувача сайту елемент сторінки. Це звичайна практика, коли сторінка не оновлюється цілком, а лише її окремий елемент. Як правило, таке рішення може бути пов'язано з вибіркою потрібних даних. Будь-яка затримка виконання тут критична для відвідувача. Якщо час перевищує його очікування, він просто піде на більш швидкий і комфортний ресурс. Розробник може оцінити, скільки часу займає необхідний процес, і в разі якщо на PHP час виконання скрипта почне виходити за допустимі межі, він може відправити відвідувачу замість відповіді адекватне повідомлення. Це значно підвищує якість ресурсу і являє собою гарне рішення.
Цікаво по темі
Висновок помилок в PHP
Висновок помилок в PHP
Як відбувається виведення помилок в PHP? З допомогою якихось директив і механізмів? Кілька способів включення і використання.
Математика від JavaScript Math
Математика від JavaScript Math
Об'єкт Math мови jаvascript реалізує практичний набір математичних функцій. Складні розрахунки можна виконувати всередині браузера, не
JavaScript, масиви: опис
JavaScript, масиви: опис
jаvascript – сучасна мова програмування, він унікальний у частині синтаксису і семантики. Має специфіку...
Що робить функція PHP microtime?
Що робить функція PHP microtime?
В одному з найбільш популярних мов програмування PHP міститься багата бібліотека функцій. Кожна з них відрізняється своїми властивостями, але з-за
Javascript Array для збереження необмеженої кількості змінних
Javascript Array для збереження необмеженої кількості змінних
Логічно масив займає проміжне положення між змінними і об'єктами. Практично не слід надавати особливого значення словам. У програмі є змінні і код.