我在一台机器上进行基本的发布/订阅,我的客户端是 StackExchange-Redis 的 C# 客户端,我在同一台机器上运行基于 Windows 的 Redis 服务器(服务器版本 2.8.4)
当我发布大量数据(略大于 32mb)时,我收到以下错误消息。我不确定错误是源自客户端还是由服务器引发。显然超出了“输出缓冲区限制”。如何提高限制?我需要偶尔发送此类有效负载的数据(尽管这是例外而不是常态)。
我不确定这是否相关,但每次启动服务器时都会打开/生成一个大小约为 32gb 的文件(???),文件名“RedisQFork_3564.dat”。这个文件是做什么用的?这一切都与我的问题有关吗?
服务器上的错误消息
[10144] 23 May 17:37:29.293 # Client addr=127.0.0.1:47943 fd=9 name=DESKTOP-PC a
ge=20 idle=13 flags=N db=0 sub=7 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=88 oll=1
omem=108527608 events=rw cmd=subscribe scheduled to be closed ASAP for overcomi
ng of output buffer limits.
[10144] 23 May 17:37:38.802 # Client addr=127.0.0.1:47948 fd=10 name=DESKTOP-PC
age=9 idle=9 flags=N db=0 sub=7 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=88 oll=1
omem=109314040 events=rw cmd=subscribe scheduled to be closed ASAP for overcomin
g of output buffer limits.
客户端上的错误消息
Message: Connection to Redis Server failed: SocketFailure on 127.0.0.1:6379/
Subscription, input-buffer: 4583028, outstanding: 0, last-read: 0s ago, last-wri
te: 8s ago, keep-alive: 60s, pending: 0, state: ConnectedEstablished, last-heart
beat: 0s ago, last-mbeat: 0s ago, global: 0s ago