Например, в системе есть суперсложный запрос. В норме он возникает раз в минуту, и база данных легко справляется с ним.
Трафик на сайт вырос, и теперь запрос-тяжеловес генерируется раз в секунду. База данных в шоке и скрипит от нагрузки. Уже даже простые запросы ждут, пока она обработает тяжеловеса. Клиенты тем временем продолжают гулять по сайту, раздражаясь, что он подтормаживает, а корзина десятки секунд считает суммарную цену. Очередь запросов растёт, растёт, растёт и в самый неподходящий момент… сайт вообще перестаёт отвечать!
При профилировании кода мы разбиваем запрос на отдельные операции и выявляем самые долгие из них. К примеру, запрос занимает 2,5 секунды. Профилирование помогает обнаружить операцию, которая выполняется 900 мс — это ⅓ всего запроса.
Соединение и обмен данными между устройством и веб-сервером происходит через TCP-протокол. У него есть лимит по количеству сетевых портов, то есть по количеству одновременных подключений.