- Нет классического алгоритма.
- Проблема еще не возникла (неизвестна), и можно только предположить, где она может быть.
- Нужно найти какие-то потенциально слабые места в системе.
- Попытаться оптимизировать работу запросов в этих местах.
Основные цели проактивной оптимизации
Основные задачи проактивной оптимизации отличаются от задач реактивной оптимизации и состоят в следующем:
- избавление от узких мест в БД;
- уменьшение потребления ресурсов БД.
Последний момент является самым принципиальным. В случае реактивной оптимизации у нас нет задачи уменьшения потребления ресурсов в целом, а только задача привести время отклика работы функциональности в допустимые границы.
Если вы работаете с боевыми серверами, то хорошо представляете, что значат инциденты производительности. Нужно всё бросить и быстро решать проблему. ООО РНКО «Платежный центр» работает с многими агентами, и для них очень важно, чтобы таких проблем было как можно меньше. Александр Макаров на HighLoad++ Siberia рассказал, что было сделано, чтобы значительно уменьшить количество инцидентов производительности. На помощь пришла проактивная оптимизация. А почему и как ее производят на боевом сервере, читайте ниже.