Ответ
Spike testing — это подвид нагрузочного тестирования, при котором на систему внезапно обрушивается резкий, кратковременный скачок нагрузки (например, количество одновременных пользователей или запросов в секунду). Цель — проверить, как система ведет себя при таком пике: выдерживает ли нагрузку, как быстро восстанавливается и не приводит ли это к сбоям или утечкам ресурсов.
Зачем это нужно?
- Имитировать реальные сценарии (всплеск трафика при старте распродажи, публикации новости).
- Проверить отказоустойчивость и механизмы автоскейлинга.
- Выявить узкие места, которые не проявляются при плавном росте нагрузки.
Пример сценария на Python:
import concurrent.futures
import requests
def make_request(url):
response = requests.get(url)
return response.status_code
# Имитируем резкий скачок: 200 одновременных запросов
url = "https://api.example.com/items"
with concurrent.futures.ThreadPoolExecutor(max_workers=200) as executor:
futures = [executor.submit(make_request, url) for _ in range(200)]
results = [f.result() for f in futures]
print(f"Успешных ответов: {results.count(200)}")
Ключевые метрики для анализа: время отклика во время пика, процент ошибок, потребление CPU/памяти, время восстановления до нормальных показателей.