Например, один запрос в секунду – это нагрузка явно не highload, любой сервер, вроде бы, справится. Но, например, если он перекодирует видеоролики, то тут может наступить highload.
> Высокая нагрузка это нагрузка, с которой не справляется железо.
Нет языков, технологий или баз данных, которые лучше или хуже подходят для высоконагруженного проекта. Вопрос - на чём лучше писать highload-проект - на Ruby или Python'е лишён смысла и говорит о низкой технической грамотности вопрошающего.
> Высокие нагрузки, [отказоустойчивость](Reliability.md) - это не про технологии, это про АРХИТЕКТУРУ!
Основная логика увеличения производительности:
- Увеличиваем эффективность использования ресурсов
- Увеличиваем количество ресурсов
## Алгоритм проектирования
1. Первым делом необходимо провести [Анализ данных проекта](Анализ%20данных%20проекта.md).
2. Для каждого использования подобрать архитектурный прием, разработать архитектуру.
3. Для каждой архитектуры подобрать инструменты и технологии.
## Алгоритм диагностики существующего решения
Что делать если решение уже разработано и его нужно переделать в highload-решение. Для начала необходимо поставить "диагноз". А именно понять где у системы узкое горлышко. На какие процессы тратится больше всего ресурсов.
[Пропускная способность](../../dev/architecture/Throughput.md) сетевой карты 1 Гбит/с (реальная 800-900 Мбит/с) или 120 000 пакетов в секунду. Bonding позволяет несколько физических интернет соединений объединить в одно логическое, например, 4 интерфейса - 3.5 Гбит/с.