How to configure Azure Cache Redis Output Buffer Limits

Alexandre Pivkine 1 Reputation point
2022-04-01T08:47:25.11+00:00

Hello!

I would like to use pub/sub feature of the Azure Cache Redis (currently using v4) and everything works, however I need to have a good understanding about the limits for this feature.

Redis documentation states that "Pub/Sub clients have a default hard limit of 32 megabytes and a soft limit of 8 megabytes per 60 seconds.".

Azure Cache For Redis documentation lists the default configuration values for client-output-buffer-limit, normalclient-output-buffer-limit and pubsub settings as "0 0 032mb 8 mb 60", which seems to match the Redis documentation. It also states that "Any values that are configurable, such as max-memory-policy, are configurable through the Azure portal or command-line management tools such as Azure CLI or PowerShell". However, I am unable to get any of the current output buffer settings from the cache using the Azure Portal, Azure CLI and even using Microsoft.Azure.Management.Redis.Fluent nuget package, nor do I have any clue how to configure these.

I have tested Basic and Standard tier Azure Cache - perhaps this is a Premium feature?
Redis configuration returned by Azure CLI for a newly-created Basic-tier cache returns the following:

"redisConfiguration": {  
    "additionalProperties": null,  
    "aofStorageConnectionString0": null,  
    "aofStorageConnectionString1": null,  
    "maxclients": "1000",  
    "maxfragmentationmemoryReserved": "50",  
    "maxmemoryDelta": "50",  
    "maxmemoryPolicy": null,  
    "maxmemoryReserved": "50",  
    "preferredDataArchiveAuthMethod": null,  
    "preferredDataPersistenceAuthMethod": null,  
    "rdbBackupEnabled": null,  
    "rdbBackupFrequency": null,  
    "rdbBackupMaxSnapshotCount": null,  
    "rdbStorageConnectionString": null  
  }  

Azure Cache documentation also states that the Redis CONFIG command is not supported, so I can't even change this from the console. Is there any information available how the output buffer limits and other settings relevant to pub/sub feature could be configured?

I guess something equivalent to setting client-output-buffer-limit to "normal 0 0 0 slave 1000000000 1000000000 0 pubsub 33554432 8388608 60"

Thank you!

Azure Cache for Redis
Azure Cache for Redis
An Azure service that provides access to a secure, dedicated Redis cache, managed by Microsoft.
259 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Anurag Sharma 17,606 Reputation points
    2022-04-06T11:16:14.377+00:00

    Hi @Alexandre Pivkine , thanks for your patience.

    We received the response back from product team as below:

    These config setting are restricted to change for end users, reason being if someone incorrectly configures them it would deviate from best practices of Azure Redis Cache.

    For the "client output buffer limit" setting, the value it defaults to today should be sufficient in general. This value is the same default value that is recommended by OSS Redis today (you can find these values here: https://redis.io/topics/clients) If we are exceeding that limit, it’s likely that clients are slow and increasing that limit is just kicking the can down the road and you could eventually hit that other limit. Typically we recommend customers investigate why their clients are reading data slowly or how they can avoid increasing that limit.

    Also, we don’t output the values of these settings via PS/CLI since they are always set to the defaults as mentioned above.

    Please let us know if this helps your query.

    ----------

    If answer is helpful please click on 190583-image.png as it could help other members of the Microsoft Q&A community who have similar questions and are looking for solutions. Thank you for helping to improve Microsoft Q&A!

    1 person found this answer helpful.

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.