Ніколи не виконуйте запити без тайм-ауту. Один випадковий запит або стрибок завантаження можуть призвести до затримок або простою додатку без них. Давайте подумаємо чому. Розглянемо випадок, коли довготривалий запит випадково вводиться в наш додаток. База даних зазвичай обробляє лише короткочасні запити (10 мс або менше), і раптом ми отримуємо новий запит, який займає 1000 мс за кожне виконання. Це не лише забирає ресурси, а й різко збільшує кількість одночасних транзакцій. Ми або досягаємо обмежень з'єднання, або обмеження txn, або використовуємо 100% процесора бази даних / iops. Тепер розглянемо той самий сценарій, але ми встановлюємо тайм-аут 250 мс на кожній транзакції (на стороні бази даних), з експоненціальною логікою повторної спроби назад + джитером (на стороні додатка). Тепер ми обмежили радіус вибуху будь-якого окремого запиту. Довготривалі запити будуть знищені, а логіка відступу мінімізує ризик грізного зграю. Відстежуючи ці тайм-аути, ми можемо швидко виявити проблемний запит і відкотити зміни.