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

24 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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)
- [Кэширование в приложении](Кэширование%20в%20приложении.md)
![](Pasted%20image%2020240414134708.png)