магістр Назаров С.О.

Херсонський Національний Технічний Університет

Дослідження способів доступу до баз даних комп’ютерних систем за технологією клієнт-сервер

Підвищення якості обслуговування проектів, складність яких перевищує середньостатистичний динамічний сайт збільшилась з темпами росту всесвітньої мережі, кількості її користувачів, обмеженими можливостями хостингів та щонайменше клієнтською ергономікою. Зважаючи на це, з’явились різноманітні оптимізаційні методи, які забезпечують оптимальну швидкодію за технологією клієнт-сервер.

1.     Ключові характеристики дослідження, вперше представлені в повному обсязі: час запису до БД та час зчитування з БД, а також відповідне використання процесору та пам’яті при цьому.

2.     На базі отриманих даних, побудовані графіки на підставі яких сформовані функціональні залежності.

3.     На базі графічного матеріалу створена математична модель (ММ). У подальшому ММ дозволить на підставі деяких вихідних даних, розрахувати результати певної системи з мінімальними відхиленнями.

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

Ключовим етапом кожного web-проекту середньої складності є етап доступу до БД. Сама БД представляє собою  рядки, в які заносяться, або з яких вилучаються дані. Сам процес запиту до БД, як у випадку запису до неї, так і у випадку вилучення даних з неї -  ресурсномісткий і в більшості випадків, саме він являє собою найслабкішу ланку у всьому ланцюгу. Сам комплекс заходів на цьому етапі полягає, принаймні у оптимальному програмуванні обробника, або, за наявності відсутності такої, у виборі принципово іншого підходу. Архітектура підходу буває синхронною та асинхронною.

Найвідомішими представниками кожного з підходів є: PHP(синхронний підхід) та Node.js (асинхронний підхід).

Ключовою особливістю синхронного підходу – є простота його реалізації, у вигляді процедурної послідовності, але програш у тому, що під кожен запит виділяється окремий процес і поки цей запит не виконається, процес буде чекати і не зможе перейти до обробки наступного запиту.

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

Вибравши підходи, та мови програмування, які їх описують, формується програмний код для доступу до БД зі сторони серверу, та верстається форма на стороні клієнту.

Відлагодивши програми з обох сторін (клієнт-сервер), починається дослідження через запит / відповідь з клієнту на 10 тисяч ітерацій (web-storm) до БД на предмет запису та окремо - зчитування.

Зняття показників проходить за схемою: Запис – Зняття показників з логів MySQL – зчитування -  Зняття показників з логів MySQL. У якості показників виступали показники часу (min, average, max) та процесорний час, % навантаження на CPU та об’єми пам’яті відстежувались в реальному часі.

На базі отриманих показників були побудовані графіки за допомогою табличного процесору Excel, на основі яких, за допомогою вбудованої в Excel функції «Лінія тренду» була виконана апроксимація функції і отримані функціональні залежності у вигляді поліномів другого та третього порядків та лінійні функції. Приклад наведено на рисунку 1.

Рисунок 1 – Зчитування з бази даних