Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Redis Server failed, Socket failure, output buffer limits exceeded, how can I increase the limits?

I do basic pub/sub on a single machine, with my client being StackExchange-Redis's C# client and I run a Windows based Redis server on the same machine (Server version 2.8.4)

When I publish a larger amount of data (slightly larger than 32mb) I am getting the below error messages. I am not sure whether the error originates on the client side or whether it is raised by the server. Apparently the "output buffer limits" are exceeded. How can I increase the limits? I need to occasional send data of such payload (though that is the exception rather than the norm).

I am not sure this is related but each time I start my server a file is opened/generated that is roughly 32gb in size (???), filename "RedisQFork_3564.dat". What is this file used for? Is it all related to my issue?

Error message on server

[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.

Error message on client

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

like image 872
Matt Avatar asked Dec 17 '25 11:12

Matt


2 Answers

The qfork file is how the MSOpenTech have emulated Linux forks for the Windows port, via a mempry-mapped file. You can control the size by setting the maxheap setting in the conf file.

like image 83
Marc Gravell Avatar answered Dec 19 '25 07:12

Marc Gravell


Check here at the documentation from Redis. Look for header "Output buffers limits", I think this will put you in the right direction

As of 2.6.9 the following can be set using CONFIG SET

client-output-buffer-limit

like image 38
BossRoss Avatar answered Dec 19 '25 05:12

BossRoss



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!