Задача. Инфраструктура финансовых данных Мосбиржи: Операционная панель и монитор инструментов на модифицированных графиках TradingView с индивидуальными индикаторами заказчика. Операционную панель держат открытой часами, данные обновляются постоянно. Сервер не справлялся: средняя нагрузка доходила до 7, отдача занимала секунды, картина отставала от рынка.
Решение. Разобрал, откуда берётся нагрузка: каждый запрос заново шёл к источнику, а параллельные обращения дублировали одну и ту же работу. Ввёл общий кэш ответа с коротким временем жизни и блокировку: обновление выполняет один процесс, остальные получают готовый результат. Тяжёлые выборки вынес в фоновое обновление по расписанию.
Результат. Средняя нагрузка упала с 7 до 0,02, отдача данных — 14–34 мс. Операционная панель перестала отставать от рынка, сервер освободился под другие задачи.