Compute
Elastic Cloud Server
Huawei Cloud Flexus
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Management & Governance
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
OneAccess
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
IAM Identity Center
Cloud Operations Center
Resource Governance Center
Migration
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Analytics
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
Data Lake Factory
DataArts Lake Formation
IoT
IoT Device Access
Others
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Security & Compliance
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Edge Security
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Web3 Node Engine Service
Media Services
Media Processing Center
Video On Demand
Live
SparkRTC
MetaStudio
Storage
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service Turbo
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
Multi-Site High Availability Service
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Business Applications
Workspace
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Video Intelligent Analysis Service
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Content Delivery & Edge Computing
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Intelligent EdgeCloud
Solutions
SAP Cloud
High Performance Computing
Developer Services
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
CodeArts Repo
Cloud Application Engine
MacroVerse aPaaS
KooMessage
KooPhone
KooDrive

Modifying Configuration Parameters

Updated on 2024-07-29 GMT+08:00

You can modify the configuration parameters of your DCS instance to optimize DCS performance based on your requirements.

For example, if you do not need data persistence, set appendonly to no.

NOTE:

After the instance configuration parameters are modified, the modification takes effect immediately without the need to manually restart the instance. For a cluster instance, the modification takes effect on all shards.

Procedure

  1. Log in to the DCS console.
  2. Click in the upper left corner and select a region and a project.
  3. In the navigation pane, choose Cache Manager.
  4. On the Cache Manager page, click the name of the DCS instance you want to configure.
  5. Choose Instance Configuration > Parameters.
  6. On the Parameters page, click Modify.
  7. Modify parameters based on your requirements.

    Table 1 and Table 2 describe the parameters. In most cases, retain the default values.

    Table 1 DCS Redis instance configuration parameters

    Parameter

    Description

    Value Range

    Default Value

    active-expire-num

    Number of expired keys that can be deleted in regular scans.

    Redis 3.0 instances do not have this parameter.

    1–1000

    20

    timeout

    The maximum amount of time (in seconds) a connection between a client and the DCS instance can be allowed to remain idle before the connection is terminated. A setting of 0 means that this function is disabled.

    Proxy Cluster instances do not have this parameter.

    0–7200 seconds

    0

    appendfsync

    Controls how often fsync() transfers cached data to the disk. Note that some OSs will perform a complete data transfer but some others only make a "best-effort" attempt.

    There are three settings:

    no: fsync() is never called. The OS will flush data when it is ready. This mode offers the highest performance.

    always: fsync() is called after every write to the AOF. This mode is very slow, but also very safe.

    everysec: fsync() is called once per second. This mode provides a compromise between safety and performance.

    Single-node instances do not have this parameter.

    • no
    • always
    • everysec

    no

    appendonly

    Indicates whether to log each modification of the instance (that is, data persistence). By default, data is written to disks asynchronously in Redis. If this function is disabled, recently-generated data might be lost in the event of a power failure. Options:

    yes: enabled

    no: disabled

    Single-node instances do not have this parameter.

    • yes
    • no

    yes

    client-output-buffer-limit-slave-soft-seconds

    Number of seconds that the output buffer remains above client-output-buffer-slave-soft-limit before the client is disconnected.

    Single-node instances do not have this parameter.

    0–60

    60

    client-output-buffer-slave-hard-limit

    Hard limit (in bytes) on the output buffer of replica clients. Once the output buffer exceeds the hard limit, the client is immediately disconnected.

    Single-node instances do not have this parameter.

    Depends on the instance type and specifications.

    Depends on the instance type and specifications.

    client-output-buffer-slave-soft-limit

    Soft limit (in bytes) on the output buffer of replica clients. Once the output buffer exceeds the soft limit and continuously remains above the limit for the time specified by the client-output-buffer-limit-slave-soft-seconds parameter, the client is disconnected.

    Single-node instances do not have this parameter.

    Depends on the instance type and specifications.

    Depends on the instance type and specifications.

    maxmemory-policy

    The deletion policy to apply when the maxmemory limit is reached. Options:

    volatile-lru: Evict keys by trying to remove the less recently used (LRU) keys first, but only among keys that have an expire set. (Recommended)

    allkeys-lru: Evict keys by trying to remove the LRU keys first.

    volatile-random: evict keys randomly, but only evict keys with an expire set.

    allkeys-random: Evict keys randomly.

    volatile-ttl: Evict keys with an expire set, and try to evict keys with a shorter time to live (TTL) first.

    noeviction: Do not delete any keys and only return errors when the memory limit was reached.

    volatile-lfu: Evict keys by trying to remove the less frequently used (LFU) keys first, but only among keys that have an expire set.

    allkeys-lfu: Evict keys by trying to remove the LFU keys first.

    Depends on the instance version.

    Depends on the instance version and type.

    lua-time-limit

    Maximum time allowed for executing a Lua script (in milliseconds).

    100–5000

    5,000

    master-read-only

    Sets the instance to be read-only. All write operations will fail.

    Proxy Cluster instances do not have this parameter.

    • yes
    • no

    no

    maxclients

    The maximum number of clients allowed to be concurrently connected to a DCS instance.

    Proxy Cluster instances do not have this parameter.

    Depends on the instance type and specifications.

    Depends on the instance type and specifications.

    proto-max-bulk-len

    Maximum size of a single element request (in bytes).

    1,048,576–536,870,912

    536,870,912

    repl-backlog-size

    The replication backlog size (bytes). The backlog is a buffer that accumulates replica data when replicas are disconnected from the master. When a replica reconnects, a partial synchronization is performed to synchronize the data that was missed while replicas were disconnected.

    Single-node instances do not have this parameter.

    16,384–1,073,741,824

    1,048,576

    repl-backlog-ttl

    The amount of time, in seconds, before the backlog buffer is released, starting from the last a replica was disconnected. The value 0 indicates that the backlog is never released.

    Single-node instances do not have this parameter.

    0–604,800

    3,600

    repl-timeout

    Replication timeout (in seconds).

    Single-node instances do not have this parameter.

    30–3,600

    60

    hash-max-ziplist-entries

    Hashes are encoded using a memory efficient data structure when the number of entries in hashes is less than the value of this parameter.

    1–10,000

    512

    hash-max-ziplist-value

    Hashes are encoded using a memory efficient data structure when the biggest entry in hashes does not exceed the length threshold indicated by this parameter.

    1–10,000

    64

    set-max-intset-entries

    When a set is composed of just strings that happen to be integers in radix 10 in the range of 64 bit signed integers, sets are encoded using a memory efficient data structure.

    1–10,000

    512

    zset-max-ziplist-entries

    Sorted sets are encoded using a memory efficient data structure when the number of entries in sorted sets is less than the value of this parameter.

    1–10,000

    128

    zset-max-ziplist-value

    Sorted sets are encoded using a memory efficient data structure when the biggest entry in sorted sets does not exceed the length threshold indicated by this parameter.

    1–10,000

    64

    latency-monitor-threshold

    Threshold time in latency monitoring. Unit: millisecond.

    Set to 0: Latency monitoring is disabled.

    Set to more than 0: All with at least this many milliseconds of latency will be logged.

    By running the LATENCY command, you can perform operations related to latency monitoring, such as obtaining statistical data, and configuring and enabling latency monitoring.

    Proxy Cluster instances do not have this parameter.

    0–86,400,000 ms

    0

    notify-keyspace-events

    Controls which keyspace events notifications are enabled for. If the value is an empty string, this function is disabled. A combination of different values can be used to enable notifications for multiple event types. Possible values:

    K: Keyspace events, published with the __keyspace@__ prefix.

    E: Keyevent events, published with __keyevent@__ prefix

    g: Generic commands (non-type specific) such as DEL, EXPIRE, and RENAME

    $: String commands

    l: List commands

    s: Set commands

    h: Hash commands

    z: Sorted set commands

    x: Expired events (events generated every time a key expires)

    e: Evicted events (events generated when a key is evicted for maxmemory)

    A: an alias for "g$lshzxe"

    The parameter value must contain either K or E. A cannot be used together with any of the characters in "g$lshzxe". For example, the value Kl means that Redis will notify Pub/Sub clients about keyspace events and list commands. The value AKE means Redis will notify Pub/Sub clients about all events.

    Proxy Cluster instances do not have this parameter.

    See the parameter description.

    Ex

    slowlog-log-slower-than

    Redis records queries that exceed a specified execution time.

    slowlog-log-slower-than is the maximum time allowed, in microseconds, for command execution. If this threshold is exceeded, Redis will record the query.

    0–1,000,000

    10,000

    slowlog-max-len

    The maximum allowed number of slow queries that can be logged. Slow query log consumes memory, but you can reclaim this memory by running the SLOWLOG RESET command.

    0–1000

    128

    NOTE:
    1. For more information about the parameters described in Table 1, visit https://redis.io/topics/memory-optimization.
    2. The latency-monitor-threshold parameter is usually used for fault location. After locating faults based on the latency information collected, change the value of latency-monitor-threshold to 0 to avoid unnecessary latency.
    3. More about the notify-keyspace-events parameter:
      • The parameter setting must contain at least a K or E.
      • A is an alias for "g$lshzxe" and cannot be used together with any of the characters in "g$lshzxe".
      • For example, the value Kl means that Redis will notify Pub/Sub clients about keyspace events and list commands. The value AKE means Redis will notify Pub/Sub clients about all events.
    4. Configurable parameters and their values vary depending on the instance type.
    Table 2 DCS Memcached instance configuration parameters

    Parameter

    Description

    Value Range

    Default Value

    timeout

    The maximum amount of time (in seconds) a connection between a client and the DCS instance can be allowed to remain idle before the connection is terminated. A setting of 0 means that this function is disabled.

    0–7200 seconds

    0

    maxclients

    The maximum number of clients allowed to be concurrently connected to a DCS instance.

    1000–10,000

    10,000

    maxmemory-policy

    The policy applied when the maxmemory limit is reached.

    For more information about data eviction, see What Is the Default Data Eviction Policy? or visit the Redis official website.

    volatile-lru

    allkeys-lru

    volatile-random

    allkeys-random

    volatile-ttl

    noeviction

    noeviction

    reserved-memory-percent

    Percentage of the maximum available memory reserved for background processes, such as data persistence and replication.

    0–80

    30

  8. After you have finished setting the parameters, click Save.
  9. Click Yes to confirm the modification.

Typical Scenarios of Configuring Parameters

The following describes how to change the value of the appendonly parameter:

  • If Redis is used as the cache and services are insensitive to Redis data losses, disable instance persistence to improve performance. In this case, change the value of appendonly to no. For details, see Procedure.
  • If Redis is used as the database or services are sensitive to Redis data losses, enable instance persistence. In this case, change the value of appendonly to yes. For details, see Procedure. After instance persistence is enabled, you need to consider the frequency of writing Redis cache data to disks and the impact on the Redis performance. You can use this parameter together with the appendfsync parameter. There are three modes of calling fsync():
    • no: fsync() is never called. The OS will flush data when it is ready. This mode offers the highest performance.
    • always: fsync() is called after every write to the AOF. This mode is very slow, but also very safe.
    • everysec: fsync() is called once per second, ensuring both data security and performance.
NOTE:

Currently, the appendonly and appendfsync parameters can be modified on the console only for master/standby and Redis 4.0 and later Redis Cluster instances.

We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out more

Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback