#python #performance #api #vps #locust
#python #Производительность #API #vps #locust
Вопрос:
Я тестирую производительность своего сервера с помощью Locust.
API и сервер были настроены в соответствии с этим руководством: https://medium.com/swlh/python-with-docker-compose-fastapi-part-2-88e164d6ef86
Вот мой код для нагрузочного тестирования Locust:
from locust import HttpUser, TaskSet, task, between
class FastApi(TaskSet):
@task(1)
def user_by_name(self):
self.client.get(
url="/user/?first_name=Name"
)
class ApiLoadTest(HttpUser):
tasks = [FastApi]
host = "http://vps1234.vps.ovh.net:8000"
stop_timeout = 20
wait_time = between(1, 3)
Я настраиваю Locust, как показано ниже:
- Общее количество пользователей для имитации: 1000
- Частота появления: 100
На данный момент Locust показывает статистику ниже:
- Текущий RPS: 226
- Среднее значение (мс): 2704
- Макс (мс): 5200
Сервер (OVH):
- 1 vCore
- 2 ГБ оперативной памяти
- 20 ГБ SSD
- 100 Мбит / с
Мои вопросы в том, вызвана ли низкая производительность не очень хорошим VPS, или я допустил какую-то ошибку в своем коде нагрузочного тестирования? Мне интересно, единственное ли решение для повышения производительности сервера для достижения среднего отклика около 100 мс — это обновить VPS, чтобы иметь больше процессоров / ОЗУ / Мбит / с?
С уважением
Ответ №1:
Вам нужно посмотреть статистику производительности вашего VPS, чтобы ответить на этот вопрос.
Основные вещи, на которые следует обратить внимание, — это использование процессора, оперативной памяти и диска во время нагрузочных тестов.
Другим ограничением может быть сама клиентская машина. Но для скрипта 1000 пользователей и выше все должно быть в порядке