{"id":16366691,"url":"https://github.com/centminmod/centminmod-redis-ha","last_synced_at":"2026-02-17T08:30:18.698Z","repository":{"id":212189173,"uuid":"730906334","full_name":"centminmod/centminmod-redis-ha","owner":"centminmod","description":null,"archived":false,"fork":false,"pushed_at":"2023-12-17T15:54:47.000Z","size":167,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-31T01:41:44.896Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/centminmod.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-12-12T23:53:39.000Z","updated_at":"2023-12-13T23:57:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"654db495-e1a3-48db-b746-1a3c11e07169","html_url":"https://github.com/centminmod/centminmod-redis-ha","commit_stats":null,"previous_names":["centminmod/centminmod-redis-ha"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centminmod%2Fcentminmod-redis-ha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centminmod%2Fcentminmod-redis-ha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centminmod%2Fcentminmod-redis-ha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centminmod%2Fcentminmod-redis-ha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/centminmod","download_url":"https://codeload.github.com/centminmod/centminmod-redis-ha/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239828322,"owners_count":19703840,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T02:47:16.138Z","updated_at":"2026-02-17T08:30:18.635Z","avatar_url":"https://github.com/centminmod.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Contents\n\n* [Usage](#usage)\n* [Redis Master](#redis-master)\n* [Redis Slave](#redis-slave)\n* [Redis Sentinel](#redis-sentinel)\n* [Test Redis master/slave replication](#test-redis-masterslave-replication)\n* [Benchmarks](#benchmarks)\n  * [Replicated Redis Master/Slave/Sentinel](#replicated-redis-masterslavesentinel)\n    * [1 Threads - Replicated Redis Master/Slave/Sentinel](#1-threads---replicated-redis-masterslavesentinel)\n    * [2 Threads - Replicated Redis Master/Slave/Sentinel](#2-threads---replicated-redis-masterslavesentinel)\n    * [3 Threads - Replicated Redis Master/Slave/Sentinel](#3-threads---replicated-redis-masterslavesentinel)\n  * [Non-Replication Standalone Redis](#non-replication-standalone-redis)\n    * [1 Threads - Non-Replication Standalone Redis](#1-threads---non-replication-standalone-redis)\n    * [2 Threads - Non-Replication Standalone Redis](#2-threads---non-replication-standalone-redis)\n    * [3 Threads - Non-Replication Standalone Redis](#3-threads---non-replication-standalone-redis)\n\n# Usage\n\n```\n./redis-ha.sh                \n\nUsage:\n\n     On Master:\n       ./redis-ha.sh master [master_ip] [master_port] [config_file_path] [master_password]\n       ./redis-ha.sh master 192.168.1.100 6379 /etc/redis/redis.conf myRedisPass123\n       ./redis-ha.sh master 192.168.1.100 6479 /etc/redis6479/redis6479.conf myRedisPass123\n\n     On Slave:\n       ./redis-ha.sh slave [master_ip] [master_port] [slave_port] [config_file_path] [master_password]\n       ./redis-ha.sh slave 192.168.1.101 6379 6380 /etc/redis/redis.conf myRedisPass123\n       ./redis-ha.sh slave 192.168.1.101 6479 6480 /etc/redis6480/redis6480.conf myRedisPass123\n\n     For Sentinel:\n       ./redis-ha.sh sentinel [master_ip] [master_port] [master_password] [sentinel_config_file_path]\n       ./redis-ha.sh sentinel 192.168.1.100 6379 myRedisPass123 /etc/redis/sentinel.conf\n       ./redis-ha.sh sentinel 192.168.1.100 6479 myRedisPass123 /etc/redis6479/sentinel-redis6479.conf\n```\n\nExample same server Redis master/slave replication with single Redis Sentinel setup for 2x Redis server instances on port `6479` and `6480` created via https://github.com/centminmod/centminmod-redis\n\n```\n./redis-ha.sh master 127.0.0.1 6479 /etc/redis6479/redis6479.conf myRedisPass123\n\n./redis-ha.sh slave 127.0.0.1 6479 6480 /etc/redis6480/redis6480.conf myRedisPass123\n\n./redis-ha.sh sentinel 127.0.0.1 6479 myRedisPass123 /etc/redis6479/sentinel-redis6479.conf\n```\n\n# Redis Master\n\n```\n./redis-ha.sh master 127.0.0.1 6479 /etc/redis6479/redis6479.conf myRedisPass123\nsystemctl start redis6479\n\nsystemctl status redis6479\n● redis6479.service - Redis persistent key-value database\n   Loaded: loaded (/usr/lib/systemd/system/redis6479.service; enabled; vendor preset: disabled)\n  Drop-In: /etc/systemd/system/redis6479.service.d\n           └─limit.conf, user.conf\n   Active: active (running) since Tue 2023-12-12 06:31:42 UTC; 16h ago\n Main PID: 4110001 (redis-server)\n   Status: \"Ready to accept connections\"\n    Tasks: 5 (limit: 23903)\n   Memory: 2.6M\n   CGroup: /system.slice/redis6479.service\n           └─4110001 /etc/redis6479/redis-server 127.0.0.1:6479\n\nDec 12 06:31:42 hostname systemd[1]: Starting Redis persistent key…...\nDec 12 06:31:42 hostname systemd[1]: Started Redis persistent key-…se.\nHint: Some lines were ellipsized, use -l to show in full.\nRedis master 127.0.0.1 6479 /etc/redis6479/redis6479.conf setup complete.\n```\n\n```\nexport REDIS_PASSWORD='myRedisPass123'\nredis-cli -a $REDIS_PASSWORD -h 127.0.0.1 -p 6479 info\nWarning: Using a password with '-a' or '-u' option on the command line interface may not be safe.\n# Server\nredis_version:7.2.3\nredis_git_sha1:00000000\nredis_git_dirty:0\nredis_build_id:533c8a7f18e07f43\nredis_mode:standalone\nos:Linux 4.18.0-477.27.2.el8_8.x86_64 x86_64\narch_bits:64\nmonotonic_clock:POSIX clock_gettime\nmultiplexing_api:epoll\natomicvar_api:c11-builtin\ngcc_version:8.5.0\nprocess_id:4147401\nprocess_supervised:systemd\nrun_id:f9f0b03e00451f392f303ec7f3eb23f7f50ef6b8\ntcp_port:6479\nserver_time_usec:1702424843493795\nuptime_in_seconds:479\nuptime_in_days:0\nhz:10\nconfigured_hz:10\nlru_clock:7926027\nexecutable:/etc/redis6479/redis-server\nconfig_file:/etc/redis6479/redis6479.conf\nio_threads_active:0\nlistener0:name=tcp,bind=127.0.0.1,bind=-::1,port=6479\n\n# Clients\nconnected_clients:3\ncluster_connections:0\nmaxclients:10000\nclient_recent_max_input_buffer:20480\nclient_recent_max_output_buffer:20504\nblocked_clients:0\ntracking_clients:0\nclients_in_timeout_table:0\ntotal_blocking_keys:0\ntotal_blocking_keys_on_nokey:0\n\n# Memory\nused_memory:1194320\nused_memory_human:1.14M\nused_memory_rss:11329536\nused_memory_rss_human:10.80M\nused_memory_peak:1194320\nused_memory_peak_human:1.14M\nused_memory_peak_perc:100.15%\nused_memory_overhead:931748\nused_memory_startup:866168\nused_memory_dataset:262572\nused_memory_dataset_perc:80.02%\nallocator_allocated:1442152\nallocator_active:1761280\nallocator_resident:6934528\ntotal_system_memory:3998314496\ntotal_system_memory_human:3.72G\nused_memory_lua:31744\nused_memory_vm_eval:31744\nused_memory_lua_human:31.00K\nused_memory_scripts_eval:0\nnumber_of_cached_scripts:0\nnumber_of_functions:0\nnumber_of_libraries:0\nused_memory_vm_functions:32768\nused_memory_vm_total:64512\nused_memory_vm_total_human:63.00K\nused_memory_functions:184\nused_memory_scripts:184\nused_memory_scripts_human:184B\nmaxmemory:0\nmaxmemory_human:0B\nmaxmemory_policy:noeviction\nallocator_frag_ratio:1.22\nallocator_frag_bytes:319128\nallocator_rss_ratio:3.94\nallocator_rss_bytes:5173248\nrss_overhead_ratio:1.63\nrss_overhead_bytes:4395008\nmem_fragmentation_ratio:9.82\nmem_fragmentation_bytes:10175232\nmem_not_counted_for_evict:0\nmem_replication_backlog:41012\nmem_total_replication_buffers:41008\nmem_clients_slaves:0\nmem_clients_normal:24384\nmem_cluster_links:0\nmem_aof_buffer:0\nmem_allocator:jemalloc-5.3.0\nactive_defrag_running:0\nlazyfree_pending_objects:0\nlazyfreed_objects:0\n\n# Persistence\nloading:0\nasync_loading:0\ncurrent_cow_peak:0\ncurrent_cow_size:0\ncurrent_cow_size_age:0\ncurrent_fork_perc:0.00\ncurrent_save_keys_processed:0\ncurrent_save_keys_total:0\nrdb_changes_since_last_save:0\nrdb_bgsave_in_progress:0\nrdb_last_save_time:1702424364\nrdb_last_bgsave_status:ok\nrdb_last_bgsave_time_sec:-1\nrdb_current_bgsave_time_sec:-1\nrdb_saves:0\nrdb_last_cow_size:0\nrdb_last_load_keys_expired:0\nrdb_last_load_keys_loaded:0\naof_enabled:0\naof_rewrite_in_progress:0\naof_rewrite_scheduled:0\naof_last_rewrite_time_sec:-1\naof_current_rewrite_time_sec:-1\naof_last_bgrewrite_status:ok\naof_rewrites:0\naof_rewrites_consecutive_failures:0\naof_last_write_status:ok\naof_last_cow_size:0\nmodule_fork_in_progress:0\nmodule_fork_last_cow_size:0\n\n# Stats\ntotal_connections_received:8\ntotal_commands_processed:1229\ninstantaneous_ops_per_sec:2\ntotal_net_input_bytes:57170\ntotal_net_output_bytes:324578\ntotal_net_repl_input_bytes:0\ntotal_net_repl_output_bytes:31936\ninstantaneous_input_kbps:0.14\ninstantaneous_output_kbps:0.17\ninstantaneous_input_repl_kbps:0.00\ninstantaneous_output_repl_kbps:0.08\nrejected_connections:0\nsync_full:0\nsync_partial_ok:1\nsync_partial_err:0\nexpired_keys:0\nexpired_stale_perc:0.00\nexpired_time_cap_reached_count:0\nexpire_cycle_cpu_milliseconds:5\nevicted_keys:0\nevicted_clients:0\ntotal_eviction_exceeded_time:0\ncurrent_eviction_exceeded_time:0\nkeyspace_hits:0\nkeyspace_misses:0\npubsub_channels:1\npubsub_patterns:0\npubsubshard_channels:0\nlatest_fork_usec:0\ntotal_forks:0\nmigrate_cached_sockets:0\nslave_expires_tracked_keys:0\nactive_defrag_hits:0\nactive_defrag_misses:0\nactive_defrag_key_hits:0\nactive_defrag_key_misses:0\ntotal_active_defrag_time:0\ncurrent_active_defrag_time:0\ntracking_total_keys:0\ntracking_total_items:0\ntracking_total_prefixes:0\nunexpected_error_replies:0\ntotal_error_replies:5\ndump_payload_sanitizations:0\ntotal_reads_processed:1209\ntotal_writes_processed:1243\nio_threaded_reads_processed:0\nio_threaded_writes_processed:0\nreply_buffer_shrinks:50\nreply_buffer_expands:47\neventloop_cycles:5986\neventloop_duration_sum:558492\neventloop_duration_cmd_sum:6093\ninstantaneous_eventloop_cycles_per_sec:11\ninstantaneous_eventloop_duration_usec:108\nacl_access_denied_auth:0\nacl_access_denied_cmd:0\nacl_access_denied_key:0\nacl_access_denied_channel:0\n\n# Replication\nrole:master\nconnected_slaves:1\nslave0:ip=127.0.0.1,port=6480,state=online,offset=104452,lag=1\nmaster_failover_state:no-failover\nmaster_replid:704d8088fa70fd521224803398b1234479327f1f\nmaster_replid2:585c0fa684a567dfa287ddca377357c3cbc0d695\nmaster_repl_offset:104585\nsecond_repl_offset:72650\nrepl_backlog_active:1\nrepl_backlog_size:1048576\nrepl_backlog_first_byte_offset:72650\nrepl_backlog_histlen:31936\n\n# CPU\nused_cpu_sys:0.299968\nused_cpu_user:0.408163\nused_cpu_sys_children:0.000000\nused_cpu_user_children:0.000000\nused_cpu_sys_main_thread:0.298900\nused_cpu_user_main_thread:0.408168\n\n# Modules\n\n# Errorstats\nerrorstat_NOAUTH:count=5\n\n# Cluster\ncluster_enabled:0\n\n# Keyspace\n```\n\n```\ntail -100 /var/log/redis/redis6479.log \n```\n\n# Redis Slave\n\n```\n./redis-ha.sh slave 127.0.0.1 6479 6480 /etc/redis6480/redis6480.conf myRedisPass123\nsystemctl start redis6480\n\nsystemctl status redis6480\n● redis6480.service - Redis persistent key-value database\n   Loaded: loaded (/usr/lib/systemd/system/redis6480.service; enabled; vendor preset: disabled)\n  Drop-In: /etc/systemd/system/redis6480.service.d\n           └─limit.conf, user.conf\n   Active: active (running) since Tue 2023-12-12 06:31:42 UTC; 16h ago\n Main PID: 4110113 (redis-server)\n   Status: \"Ready to accept connections\"\n    Tasks: 5 (limit: 23903)\n   Memory: 2.6M\n   CGroup: /system.slice/redis6480.service\n           └─4110113 /etc/redis6480/redis-server 127.0.0.1:6480\n\nDec 12 06:31:42 hostname systemd[1]: Starting Redis persistent key…...\nDec 12 06:31:42 hostname systemd[1]: Started Redis persistent key-…se.\nHint: Some lines were ellipsized, use -l to show in full.\nRedis slave 127.0.0.1 6480 /etc/redis6480/redis6480.conf setup complete.\n```\n\n```\nexport REDIS_PASSWORD='myRedisPass123'\nredis-cli -a $REDIS_PASSWORD -h 127.0.0.1 -p 6480 info\nWarning: Using a password with '-a' or '-u' option on the command line interface may not be safe.\n# Server\nredis_version:7.2.3\nredis_git_sha1:00000000\nredis_git_dirty:0\nredis_build_id:533c8a7f18e07f43\nredis_mode:standalone\nos:Linux 4.18.0-477.27.2.el8_8.x86_64 x86_64\narch_bits:64\nmonotonic_clock:POSIX clock_gettime\nmultiplexing_api:epoll\natomicvar_api:c11-builtin\ngcc_version:8.5.0\nprocess_id:4147410\nprocess_supervised:systemd\nrun_id:75f6dc28164a731c26cd5ce8714dbe0f10c3860a\ntcp_port:6480\nserver_time_usec:1702424907600405\nuptime_in_seconds:543\nuptime_in_days:0\nhz:10\nconfigured_hz:10\nlru_clock:7926091\nexecutable:/etc/redis6480/redis-server\nconfig_file:/etc/redis6480/redis6480.conf\nio_threads_active:0\nlistener0:name=tcp,bind=127.0.0.1,bind=-::1,port=6480\n\n# Clients\nconnected_clients:4\ncluster_connections:0\nmaxclients:10000\nclient_recent_max_input_buffer:20480\nclient_recent_max_output_buffer:0\nblocked_clients:0\ntracking_clients:0\nclients_in_timeout_table:0\ntotal_blocking_keys:0\ntotal_blocking_keys_on_nokey:0\n\n# Memory\nused_memory:1149888\nused_memory_human:1.10M\nused_memory_rss:11296768\nused_memory_rss_human:10.77M\nused_memory_peak:1170152\nused_memory_peak_human:1.12M\nused_memory_peak_perc:98.27%\nused_memory_overhead:934852\nused_memory_startup:866168\nused_memory_dataset:215036\nused_memory_dataset_perc:75.79%\nallocator_allocated:1223360\nallocator_active:1568768\nallocator_resident:4681728\ntotal_system_memory:3998314496\ntotal_system_memory_human:3.72G\nused_memory_lua:31744\nused_memory_vm_eval:31744\nused_memory_lua_human:31.00K\nused_memory_scripts_eval:0\nnumber_of_cached_scripts:0\nnumber_of_functions:0\nnumber_of_libraries:0\nused_memory_vm_functions:32768\nused_memory_vm_total:64512\nused_memory_vm_total_human:63.00K\nused_memory_functions:184\nused_memory_scripts:184\nused_memory_scripts_human:184B\nmaxmemory:0\nmaxmemory_human:0B\nmaxmemory_policy:noeviction\nallocator_frag_ratio:1.28\nallocator_frag_bytes:345408\nallocator_rss_ratio:2.98\nallocator_rss_bytes:3112960\nrss_overhead_ratio:2.41\nrss_overhead_bytes:6615040\nmem_fragmentation_ratio:10.18\nmem_fragmentation_bytes:10186896\nmem_not_counted_for_evict:0\nmem_replication_backlog:41012\nmem_total_replication_buffers:41008\nmem_clients_slaves:0\nmem_clients_normal:27488\nmem_cluster_links:0\nmem_aof_buffer:0\nmem_allocator:jemalloc-5.3.0\nactive_defrag_running:0\nlazyfree_pending_objects:0\nlazyfreed_objects:0\n\n# Persistence\nloading:0\nasync_loading:0\ncurrent_cow_peak:0\ncurrent_cow_size:0\ncurrent_cow_size_age:0\ncurrent_fork_perc:0.00\ncurrent_save_keys_processed:0\ncurrent_save_keys_total:0\nrdb_changes_since_last_save:0\nrdb_bgsave_in_progress:0\nrdb_last_save_time:1702424364\nrdb_last_bgsave_status:ok\nrdb_last_bgsave_time_sec:-1\nrdb_current_bgsave_time_sec:-1\nrdb_saves:0\nrdb_last_cow_size:0\nrdb_last_load_keys_expired:0\nrdb_last_load_keys_loaded:0\naof_enabled:0\naof_rewrite_in_progress:0\naof_rewrite_scheduled:0\naof_last_rewrite_time_sec:-1\naof_current_rewrite_time_sec:-1\naof_last_bgrewrite_status:ok\naof_rewrites:0\naof_rewrites_consecutive_failures:0\naof_last_write_status:ok\naof_last_cow_size:0\nmodule_fork_in_progress:0\nmodule_fork_last_cow_size:0\n\n# Stats\ntotal_connections_received:3\ntotal_commands_processed:1171\ninstantaneous_ops_per_sec:2\ntotal_net_input_bytes:79907\ntotal_net_output_bytes:404748\ntotal_net_repl_input_bytes:36157\ntotal_net_repl_output_bytes:0\ninstantaneous_input_kbps:0.19\ninstantaneous_output_kbps:3.63\ninstantaneous_input_repl_kbps:0.09\ninstantaneous_output_repl_kbps:0.00\nrejected_connections:0\nsync_full:0\nsync_partial_ok:0\nsync_partial_err:0\nexpired_keys:0\nexpired_stale_perc:0.00\nexpired_time_cap_reached_count:0\nexpire_cycle_cpu_milliseconds:0\nevicted_keys:0\nevicted_clients:0\ntotal_eviction_exceeded_time:0\ncurrent_eviction_exceeded_time:0\nkeyspace_hits:0\nkeyspace_misses:0\npubsub_channels:1\npubsub_patterns:0\npubsubshard_channels:0\nlatest_fork_usec:0\ntotal_forks:0\nmigrate_cached_sockets:0\nslave_expires_tracked_keys:0\nactive_defrag_hits:0\nactive_defrag_misses:0\nactive_defrag_key_hits:0\nactive_defrag_key_misses:0\ntotal_active_defrag_time:0\ncurrent_active_defrag_time:0\ntracking_total_keys:0\ntracking_total_items:0\ntracking_total_prefixes:0\nunexpected_error_replies:0\ntotal_error_replies:0\ndump_payload_sanitizations:0\ntotal_reads_processed:1138\ntotal_writes_processed:1877\nio_threaded_reads_processed:0\nio_threaded_writes_processed:0\nreply_buffer_shrinks:56\nreply_buffer_expands:54\neventloop_cycles:6544\neventloop_duration_sum:628763\neventloop_duration_cmd_sum:5708\ninstantaneous_eventloop_cycles_per_sec:12\ninstantaneous_eventloop_duration_usec:113\nacl_access_denied_auth:0\nacl_access_denied_cmd:0\nacl_access_denied_key:0\nacl_access_denied_channel:0\n\n# Replication\nrole:slave\nmaster_host:127.0.0.1\nmaster_port:6479\nmaster_link_status:up\nmaster_last_io_seconds_ago:1\nmaster_sync_in_progress:0\nslave_read_repl_offset:108806\nslave_repl_offset:108806\nslave_priority:100\nslave_read_only:1\nreplica_announced:1\nconnected_slaves:0\nmaster_failover_state:no-failover\nmaster_replid:704d8088fa70fd521224803398b1234479327f1f\nmaster_replid2:585c0fa684a567dfa287ddca377357c3cbc0d695\nmaster_repl_offset:108806\nsecond_repl_offset:72650\nrepl_backlog_active:1\nrepl_backlog_size:1048576\nrepl_backlog_first_byte_offset:72650\nrepl_backlog_histlen:36157\n\n# CPU\nused_cpu_sys:0.364900\nused_cpu_user:0.432059\nused_cpu_sys_children:0.000000\nused_cpu_user_children:0.000000\nused_cpu_sys_main_thread:0.361379\nused_cpu_user_main_thread:0.432084\n\n# Modules\n\n# Errorstats\n\n# Cluster\ncluster_enabled:0\n\n# Keyspace\n```\n\n```\ntail -100 /var/log/redis/redis6480.log \n```\n\n# Redis Sentinel\n\n* https://redis.io/docs/management/sentinel/\n\n```\n./redis-ha.sh sentinel 127.0.0.1 6479 myRedisPass123 /etc/redis6479/sentinel-redis6479.conf\nsystemctl enable redis-sentinel-6479\nCreated symlink /etc/systemd/system/multi-user.target.wants/redis-sentinel-6479.service → /usr/lib/systemd/system/redis-sentinel-6479.service.\n\nsystemctl start redis-sentinel-6479\n\nsystemctl status redis-sentinel-6479\n● redis-sentinel-6479.service - Redis Sentinel\n   Loaded: loaded (/usr/lib/systemd/system/redis-sentinel-6479.service; enabled; vendor preset: disabled)\n  Drop-In: /etc/systemd/system/redis-sentinel-6479.service.d\n           └─limit.conf\n   Active: active (running) since Tue 2023-12-12 22:35:44 UTC; 6ms ago\n Main PID: 4144185 (redis-sentinel)\n   Status: \"Ready to accept connections\"\n    Tasks: 5 (limit: 23903)\n   Memory: 2.6M\n   CGroup: /system.slice/redis-sentinel-6479.service\n           └─4144185 /usr/bin/redis-sentinel *:26379 [sentinel]\n\nDec 12 22:35:44 hostname systemd[1]: Starting Redis Sentinel...\nDec 12 22:35:44 hostname systemd[1]: Started Redis Sentinel.\nRedis Sentinel 127.0.0.1 6479 /etc/redis6479/sentinel-redis6479.conf service setup complete.\n```\n\n```\nexport REDIS_PASSWORD='myRedisPass123'\nredis-cli -h 127.0.0.1 -p 26379 info\n# Server\nredis_version:7.2.3\nredis_git_sha1:00000000\nredis_git_dirty:0\nredis_build_id:533c8a7f18e07f43\nredis_mode:sentinel\nos:Linux 4.18.0-477.27.2.el8_8.x86_64 x86_64\narch_bits:64\nmonotonic_clock:POSIX clock_gettime\nmultiplexing_api:epoll\natomicvar_api:c11-builtin\ngcc_version:8.5.0\nprocess_id:4147394\nprocess_supervised:systemd\nrun_id:28a6e181224177308b3490176b3ad394321ecd0b\ntcp_port:26379\nserver_time_usec:1702424519602058\nuptime_in_seconds:155\nuptime_in_days:0\nhz:14\nconfigured_hz:10\nlru_clock:7925703\nexecutable:/usr/bin/redis-sentinel\nconfig_file:/etc/redis6479/sentinel-redis6479.conf\nio_threads_active:0\nlistener0:name=tcp,bind=*,bind=-::*,port=26379\n\n# Clients\nconnected_clients:1\ncluster_connections:0\nmaxclients:10000\nclient_recent_max_input_buffer:0\nclient_recent_max_output_buffer:0\nblocked_clients:0\ntracking_clients:0\nclients_in_timeout_table:0\ntotal_blocking_keys:0\ntotal_blocking_keys_on_nokey:0\n\n# Stats\ntotal_connections_received:1\ntotal_commands_processed:0\ninstantaneous_ops_per_sec:0\ntotal_net_input_bytes:14\ntotal_net_output_bytes:0\ntotal_net_repl_input_bytes:0\ntotal_net_repl_output_bytes:0\ninstantaneous_input_kbps:0.00\ninstantaneous_output_kbps:0.00\ninstantaneous_input_repl_kbps:0.00\ninstantaneous_output_repl_kbps:0.00\nrejected_connections:0\nsync_full:0\nsync_partial_ok:0\nsync_partial_err:0\nexpired_keys:0\nexpired_stale_perc:0.00\nexpired_time_cap_reached_count:0\nexpire_cycle_cpu_milliseconds:3\nevicted_keys:0\nevicted_clients:0\ntotal_eviction_exceeded_time:0\ncurrent_eviction_exceeded_time:0\nkeyspace_hits:0\nkeyspace_misses:0\npubsub_channels:0\npubsub_patterns:0\npubsubshard_channels:0\nlatest_fork_usec:0\ntotal_forks:0\nmigrate_cached_sockets:0\nslave_expires_tracked_keys:0\nactive_defrag_hits:0\nactive_defrag_misses:0\nactive_defrag_key_hits:0\nactive_defrag_key_misses:0\ntotal_active_defrag_time:0\ncurrent_active_defrag_time:0\ntracking_total_keys:0\ntracking_total_items:0\ntracking_total_prefixes:0\nunexpected_error_replies:0\ntotal_error_replies:0\ndump_payload_sanitizations:0\ntotal_reads_processed:1\ntotal_writes_processed:0\nio_threaded_reads_processed:0\nio_threaded_writes_processed:0\nreply_buffer_shrinks:0\nreply_buffer_expands:0\neventloop_cycles:2872\neventloop_duration_sum:237154\neventloop_duration_cmd_sum:0\ninstantaneous_eventloop_cycles_per_sec:23\ninstantaneous_eventloop_duration_usec:96\nacl_access_denied_auth:0\nacl_access_denied_cmd:0\nacl_access_denied_key:0\nacl_access_denied_channel:0\n\n# CPU\nused_cpu_sys:0.160711\nused_cpu_user:0.142234\nused_cpu_sys_children:0.000000\nused_cpu_user_children:0.000000\nused_cpu_sys_main_thread:0.160273\nused_cpu_user_main_thread:0.142101\n\n# Sentinel\nsentinel_masters:1\nsentinel_tilt:0\nsentinel_tilt_since_seconds:-1\nsentinel_running_scripts:0\nsentinel_scripts_queue_length:0\nsentinel_simulate_failure_flags:0\nmaster0:name=mymaster,status=ok,address=127.0.0.1:6479,slaves=1,sentinels=1\n```\n\n```\ntail -100 /var/log/redis/sentinel-6479.log \n```\n\n```\nredis-cli -h 127.0.0.1 -p 26379 sentinel master mymaster\n 1) \"name\"\n 2) \"mymaster\"\n 3) \"ip\"\n 4) \"127.0.0.1\"\n 5) \"port\"\n 6) \"6479\"\n 7) \"runid\"\n 8) \"f9f0b03e00451f392f303ec7f3eb23f7f50ef6b8\"\n 9) \"flags\"\n10) \"master\"\n11) \"link-pending-commands\"\n12) \"0\"\n13) \"link-refcount\"\n14) \"1\"\n15) \"last-ping-sent\"\n16) \"0\"\n17) \"last-ok-ping-reply\"\n18) \"108\"\n19) \"last-ping-reply\"\n20) \"108\"\n21) \"down-after-milliseconds\"\n22) \"5000\"\n23) \"info-refresh\"\n24) \"6611\"\n25) \"role-reported\"\n26) \"master\"\n27) \"role-reported-time\"\n28) \"15356775\"\n29) \"config-epoch\"\n30) \"0\"\n31) \"num-slaves\"\n32) \"1\"\n33) \"num-other-sentinels\"\n34) \"0\"\n35) \"quorum\"\n36) \"2\"\n37) \"failover-timeout\"\n38) \"60000\"\n39) \"parallel-syncs\"\n40) \"1\"\n```\n\n```\nredis-cli -h 127.0.0.1 -p 26379 sentinel replicas mymaster\n1)  1) \"name\"\n    2) \"127.0.0.1:6480\"\n    3) \"ip\"\n    4) \"127.0.0.1\"\n    5) \"port\"\n    6) \"6480\"\n    7) \"runid\"\n    8) \"adfab9c956b1ea421154344b5a423637d0b4f5fd\"\n    9) \"flags\"\n   10) \"slave\"\n   11) \"link-pending-commands\"\n   12) \"0\"\n   13) \"link-refcount\"\n   14) \"1\"\n   15) \"last-ping-sent\"\n   16) \"0\"\n   17) \"last-ok-ping-reply\"\n   18) \"725\"\n   19) \"last-ping-reply\"\n   20) \"725\"\n   21) \"down-after-milliseconds\"\n   22) \"5000\"\n   23) \"info-refresh\"\n   24) \"4440\"\n   25) \"role-reported\"\n   26) \"slave\"\n   27) \"role-reported-time\"\n   28) \"707610\"\n   29) \"master-link-down-time\"\n   30) \"0\"\n   31) \"master-link-status\"\n   32) \"ok\"\n   33) \"master-host\"\n   34) \"127.0.0.1\"\n   35) \"master-port\"\n   36) \"6479\"\n   37) \"slave-priority\"\n   38) \"100\"\n   39) \"slave-repl-offset\"\n   40) \"97211077\"\n   41) \"replica-announced\"\n   42) \"1\"\n```\n\n# Test Redis master/slave replication\n\nWrite to Redis master\n\n```\nexport REDIS_PASSWORD='myRedisPass123'\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6479 -a $REDIS_PASSWORD SET key1 \"value1\"\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6479 -a $REDIS_PASSWORD SET key2 \"value2\"\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6479 -a $REDIS_PASSWORD SET key3 \"value3\"\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6479 -a $REDIS_PASSWORD SET key4 \"value4\"\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6479 -a $REDIS_PASSWORD SET key5 \"value5\"\n```\n\nRead from Redis master\n\n```\nexport REDIS_PASSWORD='myRedisPass123'\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6479 -a $REDIS_PASSWORD GET key1\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6479 -a $REDIS_PASSWORD GET key2\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6479 -a $REDIS_PASSWORD GET key3\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6479 -a $REDIS_PASSWORD GET key4\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6479 -a $REDIS_PASSWORD GET key5\n```\n```\nredis-cli --no-auth-warning -a $REDIS_PASSWORD -h 127.0.0.1 -p 6479 -n 0 KEYS '*'\n1) \"key1\"\n2) \"key2\"\n3) \"key4\"\n4) \"key3\"\n5) \"key5\"\n```\n\nRead from Redis slave\n\n```\nexport REDIS_PASSWORD='myRedisPass123'\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6480 -a $REDIS_PASSWORD GET key1\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6480 -a $REDIS_PASSWORD GET key2\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6480 -a $REDIS_PASSWORD GET key3\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6480 -a $REDIS_PASSWORD GET key4\nredis-cli --no-auth-warning -h 127.0.0.1 -p 6480 -a $REDIS_PASSWORD GET key5\n```\n\n```\nredis-cli --no-auth-warning -a $REDIS_PASSWORD -h 127.0.0.1 -p 6480 -n 0 KEYS '*'\n1) \"key3\"\n2) \"key1\"\n3) \"key2\"\n4) \"key5\"\n5) \"key4\"\n```\n\nCheck Redis master\n\n```\nexport REDIS_PASSWORD='myRedisPass123'\nredis-cli -a $REDIS_PASSWORD -h 127.0.0.1 -p 6479 info\nWarning: Using a password with '-a' or '-u' option on the command line interface may not be safe.\n# Server\nredis_version:7.2.3\nredis_git_sha1:00000000\nredis_git_dirty:0\nredis_build_id:533c8a7f18e07f43\nredis_mode:standalone\nos:Linux 4.18.0-477.27.2.el8_8.x86_64 x86_64\narch_bits:64\nmonotonic_clock:POSIX clock_gettime\nmultiplexing_api:epoll\natomicvar_api:c11-builtin\ngcc_version:8.5.0\nprocess_id:4147401\nprocess_supervised:systemd\nrun_id:f9f0b03e00451f392f303ec7f3eb23f7f50ef6b8\ntcp_port:6479\nserver_time_usec:1702426579854388\nuptime_in_seconds:2215\nuptime_in_days:0\nhz:10\nconfigured_hz:10\nlru_clock:7927763\nexecutable:/etc/redis6479/redis-server\nconfig_file:/etc/redis6479/redis6479.conf\nio_threads_active:0\nlistener0:name=tcp,bind=127.0.0.1,bind=-::1,port=6479\n\n# Clients\nconnected_clients:3\ncluster_connections:0\nmaxclients:10000\nclient_recent_max_input_buffer:20480\nclient_recent_max_output_buffer:20504\nblocked_clients:0\ntracking_clients:0\nclients_in_timeout_table:0\ntotal_blocking_keys:0\ntotal_blocking_keys_on_nokey:0\n\n# Memory\nused_memory:1367104\nused_memory_human:1.30M\nused_memory_rss:11272192\nused_memory_rss_human:10.75M\nused_memory_peak:1367104\nused_memory_peak_human:1.30M\nused_memory_peak_perc:100.13%\nused_memory_overhead:1055036\nused_memory_startup:866168\nused_memory_dataset:312068\nused_memory_dataset_perc:62.30%\nallocator_allocated:1460104\nallocator_active:1802240\nallocator_resident:6975488\ntotal_system_memory:3998314496\ntotal_system_memory_human:3.72G\nused_memory_lua:31744\nused_memory_vm_eval:31744\nused_memory_lua_human:31.00K\nused_memory_scripts_eval:0\nnumber_of_cached_scripts:0\nnumber_of_functions:0\nnumber_of_libraries:0\nused_memory_vm_functions:32768\nused_memory_vm_total:64512\nused_memory_vm_total_human:63.00K\nused_memory_functions:184\nused_memory_scripts:184\nused_memory_scripts_human:184B\nmaxmemory:0\nmaxmemory_human:0B\nmaxmemory_policy:noeviction\nallocator_frag_ratio:1.23\nallocator_frag_bytes:342136\nallocator_rss_ratio:3.87\nallocator_rss_bytes:5173248\nrss_overhead_ratio:1.62\nrss_overhead_bytes:4296704\nmem_fragmentation_ratio:8.49\nmem_fragmentation_bytes:9945104\nmem_not_counted_for_evict:0\nmem_replication_backlog:164036\nmem_total_replication_buffers:164032\nmem_clients_slaves:0\nmem_clients_normal:24384\nmem_cluster_links:0\nmem_aof_buffer:0\nmem_allocator:jemalloc-5.3.0\nactive_defrag_running:0\nlazyfree_pending_objects:0\nlazyfreed_objects:0\n\n# Persistence\nloading:0\nasync_loading:0\ncurrent_cow_peak:0\ncurrent_cow_size:0\ncurrent_cow_size_age:0\ncurrent_fork_perc:0.00\ncurrent_save_keys_processed:0\ncurrent_save_keys_total:0\nrdb_changes_since_last_save:5\nrdb_bgsave_in_progress:0\nrdb_last_save_time:1702424364\nrdb_last_bgsave_status:ok\nrdb_last_bgsave_time_sec:-1\nrdb_current_bgsave_time_sec:-1\nrdb_saves:0\nrdb_last_cow_size:0\nrdb_last_load_keys_expired:0\nrdb_last_load_keys_loaded:0\naof_enabled:0\naof_rewrite_in_progress:0\naof_rewrite_scheduled:0\naof_last_rewrite_time_sec:-1\naof_current_rewrite_time_sec:-1\naof_last_bgrewrite_status:ok\naof_rewrites:0\naof_rewrites_consecutive_failures:0\naof_last_write_status:ok\naof_last_cow_size:0\nmodule_fork_in_progress:0\nmodule_fork_last_cow_size:0\n\n# Stats\ntotal_connections_received:18\ntotal_commands_processed:5677\ninstantaneous_ops_per_sec:2\ntotal_net_input_bytes:264328\ntotal_net_output_bytes:1528896\ntotal_net_repl_input_bytes:0\ntotal_net_repl_output_bytes:147716\ninstantaneous_input_kbps:0.06\ninstantaneous_output_kbps:0.01\ninstantaneous_input_repl_kbps:0.00\ninstantaneous_output_repl_kbps:0.00\nrejected_connections:0\nsync_full:0\nsync_partial_ok:1\nsync_partial_err:0\nexpired_keys:0\nexpired_stale_perc:0.00\nexpired_time_cap_reached_count:0\nexpire_cycle_cpu_milliseconds:26\nevicted_keys:0\nevicted_clients:0\ntotal_eviction_exceeded_time:0\ncurrent_eviction_exceeded_time:0\nkeyspace_hits:3\nkeyspace_misses:0\npubsub_channels:1\npubsub_patterns:0\npubsubshard_channels:0\nlatest_fork_usec:0\ntotal_forks:0\nmigrate_cached_sockets:0\nslave_expires_tracked_keys:0\nactive_defrag_hits:0\nactive_defrag_misses:0\nactive_defrag_key_hits:0\nactive_defrag_key_misses:0\ntotal_active_defrag_time:0\ncurrent_active_defrag_time:0\ntracking_total_keys:0\ntracking_total_items:0\ntracking_total_prefixes:0\nunexpected_error_replies:0\ntotal_error_replies:5\ndump_payload_sanitizations:0\ntotal_reads_processed:5589\ntotal_writes_processed:5762\nio_threaded_reads_processed:0\nio_threaded_writes_processed:0\nreply_buffer_shrinks:223\nreply_buffer_expands:220\neventloop_cycles:27669\neventloop_duration_sum:2631414\neventloop_duration_cmd_sum:29350\ninstantaneous_eventloop_cycles_per_sec:11\ninstantaneous_eventloop_duration_usec:92\nacl_access_denied_auth:0\nacl_access_denied_cmd:0\nacl_access_denied_key:0\nacl_access_denied_channel:0\n\n# Replication\nrole:master\nconnected_slaves:1\nslave0:ip=127.0.0.1,port=6480,state=online,offset=220365,lag=0\nmaster_failover_state:no-failover\nmaster_replid:704d8088fa70fd521224803398b1234479327f1f\nmaster_replid2:585c0fa684a567dfa287ddca377357c3cbc0d695\nmaster_repl_offset:220365\nsecond_repl_offset:72650\nrepl_backlog_active:1\nrepl_backlog_size:1048576\nrepl_backlog_first_byte_offset:72650\nrepl_backlog_histlen:147716\n\n# CPU\nused_cpu_sys:1.453671\nused_cpu_user:1.860297\nused_cpu_sys_children:0.000000\nused_cpu_user_children:0.000000\nused_cpu_sys_main_thread:1.452459\nused_cpu_user_main_thread:1.859887\n\n# Modules\n\n# Errorstats\nerrorstat_NOAUTH:count=5\n\n# Cluster\ncluster_enabled:0\n\n# Keyspace\ndb0:keys=5,expires=0,avg_ttl=0\n```\n\n# Benchmarks\n\n## Replicated Redis Master/Slave/Sentinel\n\n### 1 Threads - Replicated Redis Master/Slave/Sentinel\n\n```\nexport REDIS_PASSWORD='myRedisPass123'\n\nmemtier_benchmark -a $REDIS_PASSWORD -s 127.0.0.1 --ratio=1:15 -p 6479 --protocol=redis -t 1 --distinct-client-seed --hide-histogram --requests=2000 --clients=100 --pipeline=1 --data-size=384\n\nWriting results to stdout\n[RUN #1] Preparing benchmark client...\n[RUN #1] Launching threads now...\n[RUN #1 56%,   0 secs]  1 threads:      111838 ops,  111893 (avg:  111893) o[RUN #1 100%,   1 secs]  0 threads:      200000 ops,  111893 (avg:  106974) ops/sec, 6.94MB/sec (avg: 6.62MB/sec),  0.89 (avg:  0.93) msec latency\n\n1         Threads\n100       Connections per thread\n2000      Requests per client\n\n\nALL STATS\n============================================================================================================================\nType         Ops/sec     Hits/sec   Misses/sec    Avg. Latency     p50 Latency     p99 Latency   p99.9 Latency       KB/sec \n----------------------------------------------------------------------------------------------------------------------------\nSets         6685.78          ---          ---         0.95677         0.91100         1.90300         3.58300      2819.84 \nGets       100286.74       127.83    100158.91         0.93284         0.89500         1.68700         3.61500      3954.89 \nWaits           0.00          ---          ---             ---             ---             ---             ---          --- \nTotals     106972.52       127.83    100158.91         0.93433         0.89500         1.69500         3.59900      6774.74 \n```\n\n### 2 Threads - Replicated Redis Master/Slave/Sentinel\n\n```\nmemtier_benchmark -a $REDIS_PASSWORD -s 127.0.0.1 --ratio=1:15 -p 6479 --protocol=redis -t 2 --distinct-client-seed --hide-histogram --requests=2000 --clients=100 --pipeline=1 --data-size=384\n\nWriting results to stdout\n[RUN #1] Preparing benchmark client...\n[RUN #1] Launching threads now...\n[RUN #1 33%,   0 secs]  2 threads:      131601 ops,  131688 (avg:  131688) o[RUN #1 72%,   1 secs]  2 threads:      288291 ops,  156630 (avg:  144165) o[RUN #1 100%,   2 secs]  0 threads:      400000 ops,  156630 (avg:  145101) ops/sec, 9.76MB/sec (avg: 9.04MB/sec),  1.28 (avg:  1.37) msec latency\n\n2         Threads\n100       Connections per thread\n2000      Requests per client\n\n\nALL STATS\n============================================================================================================================\nType         Ops/sec     Hits/sec   Misses/sec    Avg. Latency     p50 Latency     p99 Latency   p99.9 Latency       KB/sec \n----------------------------------------------------------------------------------------------------------------------------\nSets         9086.08          ---          ---         1.40044         1.33500         2.60700         5.15100      3832.22 \nGets       136291.13       341.27    135949.86         1.37331         1.30300         2.35100         4.44700      5438.08 \nWaits           0.00          ---          ---             ---             ---             ---             ---          --- \nTotals     145377.20       341.27    135949.86         1.37501         1.31100         2.36700         4.47900      9270.30 \n```\n\n### 3 Threads - Replicated Redis Master/Slave/Sentinel\n\n```\nmemtier_benchmark -a $REDIS_PASSWORD -s 127.0.0.1 --ratio=1:15 -p 6479 --protocol=redis -t 3 --distinct-client-seed --hide-histogram --requests=2000 --clients=100 --pipeline=1 --data-size=384\n\nWriting results to stdout\n[RUN #1] Preparing benchmark client...\n[RUN #1] Launching threads now...\n[RUN #1 24%,   0 secs]  3 threads:      143503 ops,  143595 (avg:  143595) o[RUN #1 47%,   1 secs]  3 threads:      279640 ops,  136121 (avg:  139857) o[RUN #1 73%,   3 secs]  3 threads:      437524 ops,  156259 (avg:  145363) o[RUN #1 98%,   4 secs]  3 threads:      587041 ops,  149497 (avg:  146394) o[RUN #1 100%,   4 secs]  0 threads:      600000 ops,  149497 (avg:  146743) ops/sec, 9.35MB/sec (avg: 9.20MB/sec),  2.01 (avg:  2.04) msec latency\n\n3         Threads\n100       Connections per thread\n2000      Requests per client\n\n\nALL STATS\n============================================================================================================================\nType         Ops/sec     Hits/sec   Misses/sec    Avg. Latency     p50 Latency     p99 Latency   p99.9 Latency       KB/sec \n----------------------------------------------------------------------------------------------------------------------------\nSets         9194.03          ---          ---         2.10368         1.95900         3.31100         9.79100      3877.76 \nGets       137910.41       502.36    137408.04         2.03708         1.92700         3.18300         6.78300      5562.03 \nWaits           0.00          ---          ---             ---             ---             ---             ---          --- \nTotals     147104.43       502.36    137408.04         2.04124         1.92700         3.19900         7.26300      9439.78 \n```\n\n## Non-Replication Standalone Redis\n\n### 1 Threads - Non-Replication Standalone Redis\n\n```\nmemtier_benchmark -s 127.0.0.1 --ratio=1:15 -p 6379 --protocol=redis -t 1 --distinct-client-seed --hide-histogram --requests=2000 --clients=100 --pipeline=1 --data-size=384\n\nWriting results to stdout\n[RUN #1] Preparing benchmark client...\n[RUN #1] Launching threads now...\n[RUN #1 58%,   0 secs]  1 threads:      115855 ops,  115936 (avg:  115936) o[RUN #1 100%,   1 secs]  0 threads:      200000 ops,  115936 (avg:  112020) ops/sec, 7.19MB/sec (avg: 6.93MB/sec),  0.86 (avg:  0.89) msec latency\n\n1         Threads\n100       Connections per thread\n2000      Requests per client\n\n\nALL STATS\n============================================================================================================================\nType         Ops/sec     Hits/sec   Misses/sec    Avg. Latency     p50 Latency     p99 Latency   p99.9 Latency       KB/sec \n----------------------------------------------------------------------------------------------------------------------------\nSets         7001.22          ---          ---         0.89534         0.81500         1.58300         3.80700      2952.88 \nGets       105018.31       133.86    104884.44         0.89247         0.80700         1.55100         4.03100      4141.49 \nWaits           0.00          ---          ---             ---             ---             ---             ---          --- \nTotals     112019.53       133.86    104884.44         0.89265         0.80700         1.55100         4.01500      7094.37 \n```\n\n### 2 Threads - Non-Replication Standalone Redis\n\n```\nmemtier_benchmark -s 127.0.0.1 --ratio=1:15 -p 6379 --protocol=redis -t 2 --distinct-client-seed --hide-histogram --requests=2000 --clients=100 --pipeline=1 --data-size=384\n\nWriting results to stdout\n[RUN #1] Preparing benchmark client...\n[RUN #1] Launching threads now...\n[RUN #1 41%,   1 secs]  2 threads:      163650 ops,  163506 (avg:  163506) o[RUN #1 83%,   2 secs]  2 threads:      332996 ops,  169328 (avg:  166416) o[RUN #1 100%,   2 secs]  0 threads:      400000 ops,  169328 (avg:  163734) ops/sec, 10.54MB/sec (avg: 10.20MB/sec),  1.18 (avg:  1.22) msec latency\n\n2         Threads\n100       Connections per thread\n2000      Requests per client\n\n\nALL STATS\n============================================================================================================================\nType         Ops/sec     Hits/sec   Misses/sec    Avg. Latency     p50 Latency     p99 Latency   p99.9 Latency       KB/sec \n----------------------------------------------------------------------------------------------------------------------------\nSets        10240.68          ---          ---         1.23610         1.13500         2.28700         4.22300      4319.20 \nGets       153610.21       384.64    153225.57         1.22034         1.12700         2.09500         4.19100      6129.12 \nWaits           0.00          ---          ---             ---             ---             ---             ---          --- \nTotals     163850.89       384.64    153225.57         1.22133         1.12700         2.09500         4.19100     10448.32 \n```\n\n### 3 Threads - Non-Replication Standalone Redis\n\n```\nmemtier_benchmark -s 127.0.0.1 --ratio=1:15 -p 6379 --protocol=redis -t 3 --distinct-client-seed --hide-histogram --requests=2000 --clients=100 --pipeline=1 --data-size=384\n\nWriting results to stdout\n[RUN #1] Preparing benchmark client...\n[RUN #1] Launching threads now...\n[RUN #1 23%,   0 secs]  3 threads:      138048 ops,  138155 (avg:  138155) o[RUN #1 51%,   2 secs]  3 threads:      307457 ops,  168925 (avg:  153568) o[RUN #1 78%,   3 secs]  3 threads:      465453 ops,  157979 (avg:  155038) o[RUN #1 100%,   3 secs]  0 threads:      600000 ops,  157979 (avg:  157875) ops/sec, 9.91MB/sec (avg: 9.89MB/sec),  1.90 (avg:  1.90) msec latency\n\n3         Threads\n100       Connections per thread\n2000      Requests per client\n\n\nALL STATS\n============================================================================================================================\nType         Ops/sec     Hits/sec   Misses/sec    Avg. Latency     p50 Latency     p99 Latency   p99.9 Latency       KB/sec \n----------------------------------------------------------------------------------------------------------------------------\nSets         9879.18          ---          ---         1.96858         1.75100         3.58300        11.51900      4166.73 \nGets       148187.76       539.80    147647.96         1.89535         1.71900         3.32700         5.53500      5976.52 \nWaits           0.00          ---          ---             ---             ---             ---             ---          --- \nTotals     158066.95       539.80    147647.96         1.89993         1.71900         3.34300         6.11100     10143.25 \n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcentminmod%2Fcentminmod-redis-ha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcentminmod%2Fcentminmod-redis-ha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcentminmod%2Fcentminmod-redis-ha/lists"}