digital-garden/_inbox/Улучшение производительности отдельного сервиса.md

23 lines
1.8 KiB
Markdown
Raw Normal View History

2024-06-13 21:01:37 +03:00
---
aliases:
tags:
- зрелость/🌱
date:
- - 2024-04-14
zero-link:
- "[[00 HighLoad]]"
parents:
linked:
---
Если мы говорим о [бэкенде](Бэкенд.md), то у нас может быть 2 цели по его оптимизации:
- [Throughput](Throughput.md). Заставить его переваривать большее количество запросов в секунду, то есть увеличить его производительность.
- [Latency](Latency.md). Уменьшить время отклика, то есть чтобы каждый запрос выполнялся намного быстрее.
Напомню, что [Бэкенд большую часть времени ждет](Бэкенд%20большую%20часть%20времени%20ждет.md). Поэтому, чтобы бэкенд мог выдержать как можно большую нагрузку, мы должны в рамках одного [ядра процессора](Ядро%20процессора.md) обрабатывать не один запрос, а несколько, так как процессорное время тратится совсем небольшое, между ними расположены интервалы ожидания, мы можем обработку нескольких запросов выполнять на одном ядре, переключаясь между ними по мере того, как обработка [блокируется](Блокирующие%20вызовы.md) на ожидание какого-то сетевого ввода вывода.
Подходы:
- [Green thread](Green%20thread.md)
- [Реактивная разработка](Реактивная%20разработка.md)
![](Pasted%20image%2020240414134708.png)