Caching Redis高速缓存-“;“服务器已关闭连接”;错误

Caching Redis高速缓存-“;“服务器已关闭连接”;错误,caching,redis,azure-redis-cache,redis-cache,Caching,Redis,Azure Redis Cache,Redis Cache,我正在运行一些测试以了解MaxMemory Reserved&MaxMemory策略,当Redis DB几乎满时,我们遇到了几次“服务器关闭连接”错误。详情如下: 1) 使用标准C1(1 GB)层创建Redis缓存,并选择“allkeys lru”,最大保留内存为50 MB 2) 运行Redis基准工具在Redis DB中添加密钥,以确保Redis DB几乎已满 3) 当DB达到大约960-980MB时,再次运行基准测试工具添加更多密钥,并得到以下错误。在哪些情况下都可能发生此错误? 注意:在遇

我正在运行一些测试以了解MaxMemory Reserved&MaxMemory策略,当Redis DB几乎满时,我们遇到了几次“服务器关闭连接”错误。详情如下:

1) 使用标准C1(1 GB)层创建Redis缓存,并选择“allkeys lru”,最大保留内存为50 MB

2) 运行Redis基准工具在Redis DB中添加密钥,以确保Redis DB几乎已满

3) 当DB达到大约960-980MB时,再次运行基准测试工具添加更多密钥,并得到以下错误。在哪些情况下都可能发生此错误? 注意:在遇到此错误之前运行info命令时,Connected_Clients值为0

4) 同时,在Azure门户控制台上运行info命令,并将输出作为“Error”。 5) 这个错误持续了大约2-3分钟,之后我们可以添加密钥。一旦我们再次运行info命令,我们得到了以下数据。在这里,我们看到已用内存和已用内存之间的差异约为76MB。你认为上述错误可能是因为这个吗

信息

服务器redis_版本:3.2.3 redis_模式:独立

操作系统:Windows

拱形位:64

多路复用api:winsock\u IOCP

赫兹:10

客户 已连接的\u客户端:2个

客户端\u最长\u输出\u列表:0

客户端\u最大\u输入\u buf:0

客户端\u总\u写入\u未完成:0

客户端\u总数\u已发送\u字节\u未完成:0

已阻止的\u客户端:0

记忆 已用内存:968991592

已用内存和人:924.10M

已用内存rss:1049776128

已用内存rss人:1001.14米

已用内存峰值:1070912296

已用内存峰值人:1021.30米

已用内存:37888

最大内存:1100000000

最大记忆容量:1.02G

maxmemory\u策略:所有密钥lru


mem_分配器:jemalloc-3.6.0 35;

最有可能的情况是,您遇到了大量未经身份验证的连接。Redis benchmark首先创建所有客户端连接(在您的例子中为-c 400连接),然后对它们进行身份验证。身份验证延迟会导致来自单个IP的大量未经身份验证的连接,Azure Redis缓存会关闭这些连接以进行DOS保护。因此,出现错误“服务器关闭了连接” 您可以从中尝试redis基准测试,我已对其进行了修改,以便在建立连接后立即对其进行身份验证,应该可以解决此问题。

您是否检查了有关内存压力问题的此项?