Skip to content

Even distribution clients between threads #236

@artful88533

Description

@artful88533

Hello!
We have 3 separate redis instances. Now in top cpu used 80% and raising every month. So we decided to migrate to keydb 2 nodes with active-replica and multiple threads.
I've configured keydb with 8 threads, but the client's distribution not evenly. Also, we are using 3 haproxy load-balancing nodes on the front.

Is it normal that one thread load to 99.9%?
image

Run parameters

      --port 7000
      --bind 0.0.0.0
      --server-threads 8
      --server-thread-affinity true
      --active-replica yes
      --replicaof 10.64.128.52
      --client-output-buffer-limit slave 0 0 0
      --save 3600 1
      --save 1800 10
      --save 300 10000

INFO

# Server
redis_version:6.0.13
redis_git_sha1:a6782a3c
redis_git_dirty:1
redis_build_id:4c36a0f29d258da9
redis_mode:standalone
os:Linux 4.4.0-130-generic x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:7.5.0
process_id:1
run_id:2b33ff722ed116b61bdb82d4deeb4eff35091aa5
tcp_port:7000
uptime_in_seconds:22569
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:7209256
executable:/data/keydb-server
config_file:

# Clients
connected_clients:114
client_recent_max_input_buffer:10
client_recent_max_output_buffer:3776
blocked_clients:0
tracking_clients:0
clients_in_timeout_table:0
current_client_thread:2
thread_0_clients:47
thread_1_clients:50
thread_2_clients:17
thread_3_clients:1
thread_4_clients:0
thread_5_clients:0
thread_6_clients:0
thread_7_clients:0

# Memory
used_memory:254998400
used_memory_human:243.19M
used_memory_rss:435576832
used_memory_rss_human:415.40M
used_memory_peak:470049472
used_memory_peak_human:448.27M
used_memory_peak_perc:54.25%
used_memory_overhead:12247260
used_memory_startup:9233520
used_memory_dataset:242751140
used_memory_dataset_perc:98.77%
allocator_allocated:255528568
allocator_active:419897344
allocator_resident:432103424
total_system_memory:135180136448
total_system_memory_human:125.90G
used_memory_lua:37888
used_memory_lua_human:37.00K
used_memory_scripts:0
used_memory_scripts_human:0B
number_of_cached_scripts:0
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
allocator_frag_ratio:1.64
allocator_frag_bytes:164368776
allocator_rss_ratio:1.03
allocator_rss_bytes:12206080
rss_overhead_ratio:1.01
rss_overhead_bytes:3473408
mem_fragmentation_ratio:1.71
mem_fragmentation_bytes:180655200
mem_not_counted_for_evict:6136
mem_replication_backlog:1048576
mem_clients_slaves:20962
mem_clients_normal:1942018
mem_aof_buffer:0
mem_allocator:jemalloc-5.1.0
active_defrag_running:0
lazyfree_pending_objects:0

# Persistence
loading:0
rdb_changes_since_last_save:3903991
rdb_bgsave_in_progress:0
rdb_last_save_time:1601044675
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:6
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:31645696
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
aof_last_cow_size:0
module_fork_in_progress:0
module_fork_last_cow_size:0

# Stats
total_connections_received:69163
total_commands_processed:1008373790
instantaneous_ops_per_sec:50002
total_net_input_bytes:225514588370
total_net_output_bytes:152321011451
instantaneous_input_kbps:10988.76
instantaneous_output_kbps:7643.44
rejected_connections:0
sync_full:3
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
expired_stale_perc:0.00
expired_time_cap_reached_count:0
expire_cycle_cpu_milliseconds:0
evicted_keys:0
keyspace_hits:272135
keyspace_misses:1
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:15960
migrate_cached_sockets:0
slave_expires_tracked_keys:0
active_defrag_hits:0
active_defrag_misses:0
active_defrag_key_hits:0
active_defrag_key_misses:0
tracking_total_keys:0
tracking_total_items:0
tracking_total_prefixes:0
unexpected_error_replies:0

# Replication
role:active-replica
master_global_link_status:up
Master 0:
master_host:10.64.128.52
master_port:7000
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:115738676320
slave_priority:100
slave_read_only:0
connected_slaves:1
slave0:ip=10.64.128.52,port=7000,state=online,offset=296224675393,lag=1
master_replid:6245a3de3ff281e0373712e37c58f029f322388b
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:296231698469
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:296230649894
repl_backlog_histlen:1048576

# CPU
used_cpu_sys:15476.256000
used_cpu_user:40963.700000
used_cpu_sys_children:27.788000
used_cpu_user_children:186.476000
server_threads:8
long_lock_waits:35726

# Modules

# Cluster
cluster_enabled:0

# Keyspace
db0:keys=2,expires=0,avg_ttl=0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions