магістр Назаров С.О.
Херсонський Національний Технічний Університет
Дослідження способів доступу до баз даних комп’ютерних систем за
технологією клієнт-сервер
Підвищення якості обслуговування
проектів, складність яких перевищує середньостатистичний динамічний сайт збільшилась
з темпами росту всесвітньої мережі, кількості її користувачів, обмеженими
можливостями хостингів та щонайменше клієнтською
ергономікою. Зважаючи на це, з’явились різноманітні оптимізаційні методи, які
забезпечують оптимальну швидкодію за технологією клієнт-сервер.
1.
Ключові характеристики дослідження,
вперше представлені в повному обсязі: час запису до БД та час зчитування з БД,
а також відповідне використання процесору та пам’яті при цьому.
2.
На базі отриманих даних, побудовані графіки
на підставі яких сформовані функціональні залежності.
3.
На базі графічного матеріалу створена
математична модель (ММ). У подальшому ММ дозволить на підставі деяких вихідних
даних, розрахувати результати певної системи з мінімальними відхиленнями.
Отримані показники наочно
продемонструють ефективність кожного з підходів в однакових умовах, на підставі
яких можна прийняти рішення щодо використання певного підходу в рамках проектів
різноманітного обсягу, виходячи з індивідуальних особливостей кожного з них.
Ключовим етапом кожного web-проекту
середньої складності є етап доступу до БД. Сама БД представляє собою рядки, в які заносяться, або з яких
вилучаються дані. Сам процес запиту до БД, як у випадку запису до неї, так і у
випадку вилучення даних з неї - ресурсномісткий
і в більшості випадків, саме він являє собою найслабкішу ланку у всьому
ланцюгу. Сам комплекс заходів на цьому етапі полягає, принаймні у оптимальному
програмуванні обробника, або, за наявності відсутності такої, у виборі
принципово іншого підходу. Архітектура підходу буває синхронною та асинхронною.
Найвідомішими
представниками кожного з підходів є: PHP(синхронний
підхід) та Node.js
(асинхронний підхід).
Ключовою особливістю синхронного
підходу – є простота його реалізації, у вигляді процедурної послідовності, але
програш у тому, що під кожен запит виділяється окремий процес і поки цей запит
не виконається, процес буде чекати і не зможе перейти до обробки наступного
запиту.
Асинхронний підхід – принципово
інший і полягає у використанні усього процесорного часу без простою в очікуванні,
на відміну від синхронного.
Вибравши підходи, та мови програмування, які їх описують, формується
програмний код для доступу до БД зі сторони серверу, та верстається форма на
стороні клієнту.
Відлагодивши
програми з обох сторін (клієнт-сервер), починається дослідження через запит /
відповідь з клієнту на 10 тисяч ітерацій (web-storm) до БД
на предмет запису та окремо - зчитування.
Зняття показників проходить за
схемою: Запис – Зняття показників з логів MySQL –
зчитування - Зняття показників з логів MySQL. У якості
показників виступали показники часу (min, average, max) та
процесорний час, % навантаження на CPU та об’єми
пам’яті відстежувались в реальному часі.
На базі отриманих показників були побудовані графіки
за допомогою табличного процесору Excel, на основі яких, за
допомогою вбудованої в Excel функції «Лінія тренду» була
виконана апроксимація функції і отримані функціональні залежності у вигляді
поліномів другого та третього порядків та лінійні функції. Приклад наведено на
рисунку 1.
Рисунок 1 – Зчитування з бази
даних