2013-12-04 2 views
3

Я регулярно получаю ServiceStack.Redis: Не удается подключиться: sPort: 0 или ServiceStack.Redis: Не удается подключиться: sПорт: 50071 (или другой номер порта).ServiceStack.Redis: Не удается подключиться: sPort:

Это происходит, когда наш сайт более занят. Redis сам по себе кажется прекрасным, никакого реального увеличения использования ЦП или памяти.

Я использую пул соединений и попытался изменить значения тайм-аута без успеха.

public sealed class RedisConnection 
{ 
    // parameter values are: 
    // Config.Settings.RedisPoolSize = 10000 
    // Config.Settings.RedisPoolTimeoutSeconds = 2 
    // Config.Settings.RemoteCacheServerName = 192.168.10.12 
    private static readonly PooledRedisClientManager instance 
     = new PooledRedisClientManager(Config.Settings.RedisPoolSize, 
             Config.Settings.RedisPoolTimeoutSeconds, 
             new string[] { Config.Settings.RemoteCacheServerName }) 
     { 
      ConnectTimeout = 1500 
     }; 

    static RedisConnection() 
    { 
    } 

    public static PooledRedisClientManager Instance 
    { 
     get 
     { 
      return instance; 
     } 
    } 
} 

Использование, как это:

public sealed class Caching 
{ 
    public static T GetCacheSingle<T>(string key) 
    { 
    using (var redisClient = RedisConnection.Instance.GetReadOnlyClient()) 
    { 
      var value = redisClient.Get<byte[]>(key); 
      .... 
    } 
    } 
} 

ответ

3

Это было вызвано задержкой выпуска из-за Redis, работающих на Ubuntu организовано в качестве виртуальной машины на Hyper-V.

Мы уменьшили задержку на 45%, переместившись на физический Linux-ящик, устранив проблему.

Смежные вопросы