3

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

2 Answers 2

5

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.

Sign up to request clarification or add additional context in comments.

Comments

2

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

7 Comments

I already saw it, but it does not show how to alter the limits. I think I reached pub/sub hard limit of 32mb but I like to know how to increase the buffer limit.
thanks, but would you know where to alter it in the config file? I did not see it. thanks
this only changes the instance it is called against. It is very useful for tweaking run-time settings, but you are responsible for persisting the configuration to disk yourself. See if you can run CONFIG GET * and see what gets returned
Thanks, both worked, through the config file and also setting the value through the client
@MattWolf these are snapshots of Redis heap. See the details.
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.