负载下的Azure Redis超时

问题描述

我已经按照自述文件中所述完全实现了EF Core this二级缓存。今晚,我在具有约500个虚拟用户的系统上进行了负载测试,并且出现了如下所示的大量超时:

Azure Redis Premium 6 GB

Message: Timeout performing GET (5000ms),next: GET 8664A5E9,inst: 51,qu: 0,qs: 101,aw: False,rs: ReadAsync,ws: Idle,in: 65536,serverEndpoint: xxxxx.redis.cache.windows.net:6380,mc: 1/1/0,mgr: 10 of 10 available,clientName: RD2818785C3C7F,IOCP: (Busy=6,Free=994,Min=4,Max=1000),WORKER: (Busy=63,Free=8128,Max=8191),v: 2.1.58.34321 (Please take a look at this article for some common client-side issues that can cause timeouts: https://stackexchange.github.io/StackExchange.Redis/Timeouts)

相关的启动代码

        const string providerName1 = "Redis1";
        services.AddEFSecondLevelCache(options =>
                options.UseEasyCachingCoreProvider(providerName1,CacheExpirationMode.Absolute,TimeSpan.FromMinutes(5)).DisableLogging(true)
        );

        ConnectionMultiplexer.SetFeatureFlag("preventthreadtheft",true);

        services.AddEasyCaching(option => {
            option.UseRedis(config => {
                config.DBConfig.Configuration = AppConfig.RedisConnectionString;
                config.DBConfig.AllowAdmin = true;                    
            },providerName1);
        });

    private DbContextOptionsBuilder<DBContext[![enter image description here][2]][2]> GetDBConfig(IContext context) {
        var optionsBuilder = new DbContextOptionsBuilder<DBContext>();
        optionsBuilder.UseSqlServer(AppConfig.DatabaseConnection)
        .AddInterceptors(context.GetInstance<SecondLevelCacheInterceptor>())
        //.UseLoggerFactory()
        .EnableSensitiveDataLogging(true);
        return optionsBuilder;
    }

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...