Если вам нужно спросить, сколько времени пройдет до истечения времени ожидания соединения с базой данных, тогда ваши транзакции будут принимать слишком длинные порядки.
Длинные открытые транзакции являются большой проблемой и частыми причинами низкой производительности, неповторимых ошибок или даже тупиковой блокировки всего приложения. Конечно, в веб-приложении вам нужны жесткие быстрые транзакции, чтобы гарантировать, что все блокировки на уровне таблиц и строк будут быстро освобождены.
Я обнаружил, что даже несколько 100 мс могут стать неприятными.
Тогда возникает проблема разделения транзакции по нескольким запросам, которые могут происходить одновременно.
Если вам нужно «эмулировать» длительные транзакции, нарежьте их на более мелкие части, которые можно быстро выполнить, и сохраните журнал, чтобы можно было выполнить откат с использованием журнала, отменив транзакции.
Теперь, если платежный сервис завершается в 98% случаев менее чем за 2 секунды, и у вас нет сотен одновременных запросов, это может быть просто нормально.