Увеличиваем RPS в ASP.NET Core
Опубликовано 24.10.2026 07:31:00
в категории
Микросервисы
Четыре способа ускорить API и честный замер в K6.
Что такое RPS?
— RPS (requests per second) — сколько запросов в секунду сервис обрабатывает успешно
— Задержка (latency) — сколько ждёт один запрос. Смотрим p95, а не среднее
— Ошибки — запрос с ошибкой в RPS не засчитывается
— Цель — больше RPS при той же задержке и на том же железе
Видео
Исходные файлы
| Проект | Порт | Назначение |
|---|---|---|
01.Catalog.Slow |
5001 | Исходная версия: sync-over-async, нет кэша, new HttpClient() на запрос, большой несжатый JSON |
02.Catalog.Fast |
5002 | Та же функциональность после оптимизаций (результат live coding) |
03.ExchangeRates.Fake |
5003 | Имитация внешнего сервиса курсов валют (задержка 20 мс) |
LoadTests |
— | Сценарии k6 |
Исходные файлы решения доступны подписчикам.
Использованные пакеты и инструменты
Microsoft.AspNetCore.App(входит в .NET 10): Minimal API, Output Caching, Response Compression,IHttpClientFactoryMicrosoft.Extensions.Caching.Hybrid— HybridCacheSystem.Text.Json— генератор исходного кода (source generator)- Grafana k6 — нагрузочное тестирование
dotnet-counters— наблюдение за пулом потоков
Ссылки
- ASP.NET Core Best Practices: https://learn.microsoft.com/aspnet/core/fundamentals/best-practices
- HybridCache: https://learn.microsoft.com/aspnet/core/performance/caching/hybrid
- Output caching: https://learn.microsoft.com/aspnet/core/performance/caching/output
- Response compression: https://learn.microsoft.com/aspnet/core/performance/response-compression
- IHttpClientFactory: https://learn.microsoft.com/aspnet/core/fundamentals/http-requests
- Генерация исходного кода System.Text.Json: https://learn.microsoft.com/dotnet/standard/serialization/system-text-json/source-generation
- Документация k6: https://grafana.com/docs/k6/latest/
- Исполнители k6 (executors): https://grafana.com/docs/k6/latest/using-k6/scenarios/executors/
Мои видео
Boosty.to | YouTube | Yandex.Дзен | RuTube | VK Video
Больше видео на boosty Calabonga, а если хотите тоже получать донаты, тогда заходите и регистрируйте свою страницу на boosty. Я использую хостинг reg.ru, Подключайся с промокодом 9A17-953A-8591-CF98 чтобы получить скидку 5%
