is loading...

Контактна інформація:

01.

Блог

Тестування навантаження сайту

September 4, 2017
Коментарі (0)
192
Тестування навантаження сайту

У кожного сайту (хостингу) є свій ресурс - максимальне можливе навантаження, яке він зможе витримати, після чого буде втрачено або покладено в 404 помилку. Тестування навантаження сайту - ласий шматочок не тільки тестувальників або розробників сайтів, а й зловмисників, яким вигідно, вивести Вас з конкурентної ніші і відправити сайт в нокаут. На вигаданому прикладі, ми розглянемо з вами ситуацію, в якій покажемо, що тестування навантаження сайту вкрай необхідно для бізнесу що розвивається
 
Уявіть собі людину, яка пішла від застарілих методів продажів і переходить до інтернет-ресурсів. Наприклад, вона займається продажем жіночих аксесуарів (біжутерії). І ось в один момент підраховуючи ціну оренди і аналізуючи дохід, згадує, що його друг один раз повідав йому про те що зараз можна все це робити в інтернет-магазині і не платити за оренду і т.п. І ось все так добре в одного: прибуток, збільшення обсягу продажів, зростання але є величезне "АЛЕ". Ми забули сказати, що цей друг займається продажем одягу. І тип одягу настільки унікальний, що у нього всього лише кілька закордонних конкурентів. Виходить, що він витрачає наприклад: 200 $ (хостинг + домен) + 300 $ (послуги програміста) = $500/рік. А прибутку у нього в середньому $4-5000 на рік. Шикарно чи не так?
І ось наш персонаж діє так само, як і його друг. Він купує хостинг і замовляє створення сайту, забуваючи проаналізувати інтернет ринок за своєю тематикою. Він платить SEO оптимізаторам і ось вже його сайт в ТОП 10 в області. Що відбувається далі? Його просто витискають з інтернет ринку. Як? Вразливістю CMS, версткою або хостингом. Впринципі, чим завгодно, навіть модулі або плагіни на його сайті можуть привести до навантаження сайту і згодом сервера. Його сайт йде мінімально в 404 помилку, і при спробі відновлення своєї роботи за допомогою reboot, сервер знову йде в ту ж саму помилку (стан). Я не буду далі розвивати цю вигадану історію і стежити за подальшими діями нашого персонажу лише тому, що виходу два:

  • привести в порядок питання безпеки ресурсу хостингу (сервера)
  • відмовитися від цієї затії

Тестування навантаження сайту - аналіз помилок

Перейдемо краще до аналізу помилок і побудови алгоритму запобігання подібних проблем. Проаналізуйте свого споживача і конкурентів. Дізнайтеся приблизне навантаження на сайти конкурентів. Яке обладнання необхідне для сайту, якщо конкурентна ніша це 200-300 відвідувачів в день (максимально) досить звичайного хостингу з лімітом php memory limit 256-512 mb + apache; якщо необхідно використовувати виділений (віртуальний) хостинг переходимо до наступного пункту (в разі першого питання, другий пункт теж можна виконати).

Підбір обладнання або хар-к сервера (хостингу). З даного питання ви можете звернутися до нас. Програміст проведе необхідну перевірку і надасть вам разову консультацію з поясненням всіх деталей. Тестування хостингу (сервера). У тому випадку якщо Ви не замовляєте, а збираєте свій сервер, алгоритм дій буде інший але в кінцевому підсумку все одно необхідно провести тестування. Для цього шукаємо ресурс по типу Loadimpact, тестуємо і отримуємо такий результат: сайт витримує навантаження в 50 користувачів. У тому випадку якщо навантаження потрібне 300+ користувачів переходимо до пошуку інших ресурсів.

Тестування навантаження сайту - усунення помилки 404

Тестування навантаження сайту, на сервісі BrowseMob проводиться довше. Але ми отримуємо кінцевий результат, в якому буде сказано про те, що сервер може витримати більше 1000+ користувачів одночасно. Так як стаття наша про тестування навантаження сайту ми будемо говорити про тестування за допомогою технологій Apache або PHP.
Алгоритм описаний вище підходить для серверів, сайтів і додатків. Його необхідно розуміти, тому що незважаючи на те, що саме ви тестуєте, навантаження все одно лягає на серверне обладнання. Повернемося до тестування.

Навантажувальне і еталонне тестування: в чому різниця?

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

Ми будемо говорити на прикладі PHP так як це в принципі основна мова WEB розробки після JS (javascript). Сам по собі PHP досить швидкий в плані виконання швидкості запитів і відповідей. Але найчастіше всі забувають про те, що до часу відповіді самого PHP вільно можна додати швидкість роботи (відповіді) самого обладнання. Тому дуже важливо знати критичну точку, при якій ваше обладнання (сервер) вийде з ладу або піде в помилки. Орудуючи знаннями з цього питання завжди, можна оцінити, коли знадобиться додати обладнання або ж розподілити навантаження за допомогою розміщення і поділу на пару або більше серверів. Так само, в наслідку, можна виявити слабкості платформи або програми і виправити їх. Існує прекрасна програма з відкритим вихідним кодом Siege (рекомендація) яку можна налаштувати для читання великої кількості URL з конфігураційного файлу і регресивного тестування (підслідного) або рандом читання зі списку URL.
 
Таким чином можна змоделювати реальне використання сайту і навантаження на нього. Знаючи вразливе місце на вашому сайті або додатку, можна вирішити питання з безпекою і навантаженням сайту. І так як програма абсолютно безкоштовна її можна використовувати, постійно знаходячи і виправляючи недоліки свого сайту або сервера.

Який же висновок?

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

Залиште коментар