Я использую Azure Redis (используя Stackexchange.Redis) в качестве хранилища кэш-памяти и, как правило, отлично работает. Но время от времени я получаю ошибки в тайм-аутах, и я не могу понять, почему это происходит.Stackexchange.Redis timeouts & socketfailures
Мои настройки соединения Redis:
value="dev.redis.cache.windows.net,ssl=true,password=secret,abortConnect=false,syncTimeout=3000"
Я получаю все эти исключения в той же второй (несколько звонков): [я получаю это на GET операций, а также. Почти все эти исключения находятся на StringSet & StringGet. Я редко получаю исключения на HashSets или HashGets]
Timeout performing SET {key}, inst: 1, mgr: ExecuteSelect, queue: 6, qu=0, qs=6, qc=0, wr=0/0, in=0/0
SocketFailure on SET
SocketFailure on SET
No connection is available to service this operation: SET
Я предполагаю, что установка объект занимает больше времени, чем ожидалось, это может быть связано с объектом является большой, так что я мог бы потенциально увеличить synctimeout, но это будет скрываться какая-то другая проблема?
Я получаю эти исключения только от синхронных вызовов stackexchange.redis, я не видел исключения, когда вызов асинхронный.
StackTrace:
StackExchange.Redis.RedisConnectionException: SocketFailure on SET
at StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T](Message message, ResultProcessor`1 processor, ServerEndPoint server) i
at StackExchange.Redis.RedisBase.ExecuteSync[T](Message message, ResultProcessor`1 processor, ServerEndPoint server)
at StackExchange.Redis.RedisDatabase.StringSet(RedisKey key, RedisValue value, Nullable`1 expiry, When when, CommandFlags flags)
at calling method
Edit: Я использую StackExchange.Redis 1.0.414 пакет, и я использую MessagePack сериализовать мои объекты