golang db.ping () - PullRequest
       9

golang db.ping ()

0 голосов
/ 21 мая 2018

db.ping() функция занимает около 2 с, чтобы вернуть ошибку, если дБ отключился во время выполнения программы.есть ли способ сократить это время

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

я использовал go-sql-driver / mysql library https://github.com/go-sql-driver/mysql

его параметры конфигурации * TimeOut * ReadTimeOut * WriteTimeOut, фактически изменив эти параметры в моем случае TimeOut.Я мог бы уменьшить время до времени, определенного пользователем

0 голосов
/ 21 мая 2018

Действительно нет,

Если вы ожидаете успешного ping, прежде чем выполнять операции с БД, то это цена, которую вы должны заплатить!

Это полностью зависит от того, какойdb, какая библиотека, какая сеть и т. д.

На верхнем уровне вы можете изменить архитектуру так, чтобы проверки работоспособности db не выполнялись во время пользовательских запросов, и тогда действительно не будет иметь значения, что проверка работоспособности медленная!

Или более агрессивный подход - добавить тайм-ауты.Если вы знаете, что пинг успеха занимает 20ms, добавьте к операции тайм-аут 40ms или 50ms и сочтите, что это сбой!Быстро провалиться!

...