我运行了一些测试来理解MaxMemory保留和MaxMemory,当Redis几乎满员时,我们遇到了几次“服务器关闭连接”错误。以下是详细信息:
1)使用标准C1(1GB)层创建Redis缓存,并选择“allkeys lru”和max-内存-保留为50 MB。
2)运行Redis基准测试工具,在Redis DB中添加密钥,以确保Redis DB几乎已满。
3)当DB达到960-980 MB左右时,再次运行基准测试工具添加更多的键,得到以下错误。在哪些情况下可以发生此错误?

注意:当我们在遇到此错误之前运行info命令时,Connected_Clients值为0。
4)同时在Azure Portal控制台上运行info命令,得到输出为“Error”。5)这个错误大约持续了2-3分钟,之后我们可以添加键。一旦我们再次运行info命令,我们就可以跟踪stat。在这里,我们看到used_memory和used_memory_rss之间的差异在76 MB左右。你认为上述错误可能是因为这个原因吗?
信息 服务器redis_version:3.2.3
redis_mode:standalone
操作系统:Windows
arch_bits:64
multiplexing_api:winsock_IOCP
赫兹:10
客户端
connected_clients:2
client_longest_output_list:0
client_biggest_input_buf:0
client_total_writes_outstanding:0
client_total_sent_bytes_outstanding:0
blocked_clients:0
内存
used_memory:968991592
used_memory_human:924.10M
used_memory_rss:1049776128
used_memory_rss_human:1001.14M
used_memory_peak:1070912296
used_memory_peak_human:1021.30M
used_memory_lua:37888
最大内存:1100000000
maxmemory_human:1.02G
maxmemory策略:allkeys lru
mem_分配器:jemalloc-3.6.0#
发布于 2017-02-13 18:18:28
很可能您正在遇到高未经身份验证的连接的场景。Redis-benchmark首先创建所有客户端连接(在您的例子中是-c 400连接),然后对它们进行身份验证。auth中的延迟导致来自单个IP的大量未经身份验证的连接,Azure Redis缓存关闭它们以保护DOS。因此,错误“服务器关闭了连接”您可以尝试来自这里的redis基准测试,我已经对它进行了修改,以便在连接完成后立即进行身份验证,并且应该解决这个问题。
https://stackoverflow.com/questions/42171007
复制相似问题