Привіт, Гість

dsoft blog

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

Published by ds

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

Що таке Locust?

Locust - це інструмент для тестування навантаження, написаний на мові Python. Він дозволяє вам створювати скрипти, які моделюють поведінку реальних користувачів та навантаження на сервер.

  1. Запустіть віртуальне середовище за допомогою команди python -m venv venv. Ця команда створить віртуальне середовище у папці venv, яку ми створили на попередньому кроці.
  2. Активуйте віртуальне середовище, використовуючи команду source venv/bin/activate (для MacOS/Linux) або venv\Scripts\activate (для Windows).
  3. Встановіть фреймворк Locust за допомогою пакетного менеджера pip. Відкрийте термінал та введіть наступну команду: 

pip install locust

Після встановлення Locust, необхідно створити тестовий скрипт, який буде використовуватись для тестування навантаження. Ось приклад коду, який можна використати для створення скрипту:

 

Збережіть код, який  наведено нище, у файл з розширенням .py (наприклад, my_locust_file.py).

from locust import HttpUser, task, between

class MyUser(HttpUser):
    wait_time = between(1, 2)
    
    @task
    def order_list(self):
        response = self.client.get('Тут потрібно вказати лише path вашого сайту наприлад як в цієї сторінки: /2023/04/29/testuvannya-navantazhennya-na-sajt-locust/')
        if response.status_code != 200:
            print(f'Request failed with status code {response.status_code}')

В цьому прикладі ми створили клас MyUser, який успадковує клас HttpUser, що надає функціональність для здійснення HTTP-запитів до серверу. Клас MyUser містить один метод order_list, який виконує запит до API, що повертає список замовлень.

В методі order_list ми використовуємо HTTP-заголовок Authorization для передачі токену доступу, який дозволяє отримати доступ до захищених ресурсів. Далі ми виконуємо запит GET до URL '/api/order', де вказуємо параметри запиту limit, offset, id, project_id, shop_id та deleted.

У разі, якщо запит успішний (статус-код 200), ми нічого не робимо. Але якщо запит не успішний (статус-код не 200), ми виводимо повідомлення про невдачу зі статус-кодом.

Запустіть Locust, використовуючи команду:

locust -f my_locust_file.py

 

Відкрийте веб-браузер та перейдіть на сторінку http://localhost:8089/. Ви побачите сторінку управління Locust, де можна налаштувати навантаження та почати тестування.

Головна сторінка Locust

 

Ще немає коментарів.

Авторизуйтесь, щоб залишити коментар.

Про нас

Деякі корисні статті присвячені розробці веб-додатків та технологіям, які допоможуть вам створити продуктивні та захищені веб-додатки.

Ми в соцемережах

  1. GitHub
  2. Twitter