Get the most out of your Centmin Mod LEMP stack
Become a Member

Redis Redis 6.x will have multi-threaded I/O thread for better performance

Discussion in 'Other Centmin Mod Installed software' started by eva2000, Mar 28, 2019.

Tags:
  1. eva2000

    eva2000 Administrator Staff Member

    39,800
    8,778
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +13,511
    Local Time:
    7:58 PM
    Nginx 1.15.x
    MariaDB 5.5/10.x
    Redis author posted on twitter that next version of Redis 6.x will have multi threaded I/O thread support for better performance https://twitter.com/antirez/status/1110973404226772995 ! Edit: looks like it's in Redis thread-io branch.

     
    • Informative Informative x 3
    • Like Like x 1
  2. eva2000

    eva2000 Administrator Staff Member

    39,800
    8,778
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +13,511
    Local Time:
    7:58 PM
    Nginx 1.15.x
    MariaDB 5.5/10.x
    Starting to test redis remi port 6379 vs redis 5.0.3 port 6479/6480 and source installed with GCC 7.3.1 thread-io ranch redis 5.0.4 port 6481/6482

    redis remi port 6379
    Code (Text):
    redis-cli -h 127.0.0.1 -p 6379 info server
    # Server
    redis_version:5.0.4
    redis_git_sha1:00000000
    redis_git_dirty:0
    redis_build_id:ca295adcd8964025
    redis_mode:standalone
    os:Linux 3.10.0-957.10.1.el7.x86_64 x86_64
    arch_bits:64
    multiplexing_api:epoll
    atomicvar_api:atomic-builtin
    gcc_version:4.8.5
    process_id:17330
    run_id:68f6898b53b375fbef0447ce8915597c04f6741c
    tcp_port:6379
    uptime_in_seconds:123677
    uptime_in_days:1
    hz:10
    configured_hz:10
    lru_clock:10224399
    executable:/usr/bin/redis-server
    config_file:/etc/redis.conf
    

    redis 5.0.3 port 6479/6480
    Code (Text):
    redis-cli -h 127.0.0.1 -p 6479 info server
    # Server
    redis_version:5.0.3
    redis_git_sha1:00000000
    redis_git_dirty:0
    redis_build_id:5194991bde1f5722
    redis_mode:standalone
    os:Linux 3.10.0-957.10.1.el7.x86_64 x86_64
    arch_bits:64
    multiplexing_api:epoll
    atomicvar_api:atomic-builtin
    gcc_version:4.8.5
    process_id:3154
    run_id:33b0ea035e475b24f8763c559ad31d36725c3c2a
    tcp_port:6479
    uptime_in_seconds:239458
    uptime_in_days:2
    hz:10
    configured_hz:10
    lru_clock:10224448
    executable:/etc/redis6479/redis-server
    config_file:/etc/redis6479/redis6479.conf
    
    redis-cli -h 127.0.0.1 -p 6480 info server
    # Server
    redis_version:5.0.3
    redis_git_sha1:00000000
    redis_git_dirty:0
    redis_build_id:5194991bde1f5722
    redis_mode:standalone
    os:Linux 3.10.0-957.10.1.el7.x86_64 x86_64
    arch_bits:64
    multiplexing_api:epoll
    atomicvar_api:atomic-builtin
    gcc_version:4.8.5
    process_id:3156
    run_id:09bfb6a223a1e625a28298bf2379edbd7df38739
    tcp_port:6480
    uptime_in_seconds:239224
    uptime_in_days:2
    hz:10
    configured_hz:10
    lru_clock:10224214
    executable:/etc/redis6480/redis-server
    config_file:/etc/redis6480/redis6480.conf
    

    source installed with GCC 7.3.1 thread-io branch redis 5.0.4 port 6481/6482 but version number reported as redis_version:999.999.999
    Code (Text):
    redis-cli -h 127.0.0.1 -p 6481 info server
    # Server
    redis_version:999.999.999
    redis_git_sha1:d3e44c01
    redis_git_dirty:0
    redis_build_id:63ce5d592dafb125
    redis_mode:standalone
    os:Linux 3.10.0-957.10.1.el7.x86_64 x86_64
    arch_bits:64
    multiplexing_api:epoll
    atomicvar_api:atomic-builtin
    gcc_version:7.3.1
    process_id:20312
    run_id:cb7f7ad2f6d6ca909b6ee73aa46c697c3629dbd4
    tcp_port:6481
    uptime_in_seconds:53
    uptime_in_days:0
    hz:10
    configured_hz:10
    lru_clock:10224219
    executable:/etc/redis6481/redis-server
    config_file:/etc/redis6481/redis6481.conf
    
    redis-cli -h 127.0.0.1 -p 6482 info server
    # Server
    redis_version:999.999.999
    redis_git_sha1:d3e44c01
    redis_git_dirty:0
    redis_build_id:63ce5d592dafb125
    redis_mode:standalone
    os:Linux 3.10.0-957.10.1.el7.x86_64 x86_64
    arch_bits:64
    multiplexing_api:epoll
    atomicvar_api:atomic-builtin
    gcc_version:7.3.1
    process_id:20392
    run_id:8e3a99c58274d431f7d13713b421cc1c2b0fd08b
    tcp_port:6482
    uptime_in_seconds:77
    uptime_in_days:0
    hz:10
    configured_hz:10
    lru_clock:10224243
    executable:/etc/redis6482/redis-server
    config_file:/etc/redis6482/redis6482.conf
    


    redis-benchmarks non-thread-io
    Code (Text):
    PORT=6379
    TESTS='get set mset lpush lpop'
    for test in $TESTS; do echo "/usr/local/bin/redis-benchmark -h 127.0.0.1 -p $PORT -n 1000 -r 1000 -t $test -P 1000 -c 100"; /usr/local/bin/redis-benchmark -h 127.0.0.1 -p $PORT -n 1000 -r 1000 -t $test -P 1000 -c 100;
    done
    

    Code (Text):
    PORT=6479
    TESTS='get set mset lpush lpop'
    for test in $TESTS; do echo "/usr/local/bin/redis-benchmark -h 127.0.0.1 -p $PORT -n 1000 -r 1000 -t $test -P 1000 -c 100"; /usr/local/bin/redis-benchmark -h 127.0.0.1 -p $PORT -n 1000 -r 1000 -t $test -P 1000 -c 100;
    done
    

    Code (Text):
    PORT=6481
    TESTS='get set mset lpush lpop'
    for test in $TESTS; do echo "/usr/local/bin/redis-benchmark -h 127.0.0.1 -p $PORT -n 1000 -r 1000 -t $test -P 1000 -c 100"; /usr/local/bin/redis-benchmark -h 127.0.0.1 -p $PORT -n 1000 -r 1000 -t $test -P 1000 -c 100;
    done
    


    results for redis-benchmarks non-thread-io

    port 6379
    Code (Text):
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6379 -n 1000 -r 1000 -t get -P 1000 -c 100
    ====== get -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 900 1 300 10 60 10000
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.4 milliseconds
    0.20% <= 0.5 milliseconds
    6.30% <= 0.6 milliseconds
    29.80% <= 0.7 milliseconds
    52.50% <= 0.8 milliseconds
    64.50% <= 0.9 milliseconds
    78.00% <= 1.0 milliseconds
    85.50% <= 1.1 milliseconds
    92.30% <= 1.2 milliseconds
    96.00% <= 1.3 milliseconds
    98.40% <= 1.4 milliseconds
    98.70% <= 1.5 milliseconds
    99.00% <= 1.6 milliseconds
    99.20% <= 1.7 milliseconds
    99.40% <= 1.8 milliseconds
    99.70% <= 1.9 milliseconds
    99.90% <= 2 milliseconds
    100.00% <= 2 milliseconds
    31250.00 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6379 -n 1000 -r 1000 -t set -P 1000 -c 100
    ====== set -P 1000 -c 100 ======
      1000 requests completed in 0.02 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 900 1 300 10 60 10000
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.3 milliseconds
    0.20% <= 0.4 milliseconds
    10.50% <= 0.5 milliseconds
    49.90% <= 0.6 milliseconds
    77.60% <= 0.7 milliseconds
    86.40% <= 0.8 milliseconds
    91.30% <= 0.9 milliseconds
    94.90% <= 1.0 milliseconds
    97.60% <= 1.1 milliseconds
    99.00% <= 1.2 milliseconds
    100.00% <= 1.3 milliseconds
    43478.26 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6379 -n 1000 -r 1000 -t mset -P 1000 -c 100
    ====== mset -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 900 1 300 10 60 10000
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.4 milliseconds
    0.90% <= 0.5 milliseconds
    3.70% <= 0.6 milliseconds
    13.80% <= 0.7 milliseconds
    53.70% <= 0.8 milliseconds
    82.30% <= 0.9 milliseconds
    90.30% <= 1.0 milliseconds
    91.50% <= 1.1 milliseconds
    93.30% <= 1.2 milliseconds
    96.30% <= 1.3 milliseconds
    97.00% <= 1.4 milliseconds
    97.50% <= 1.5 milliseconds
    97.90% <= 1.6 milliseconds
    98.10% <= 1.7 milliseconds
    98.30% <= 1.8 milliseconds
    98.50% <= 1.9 milliseconds
    98.60% <= 2 milliseconds
    100.00% <= 2 milliseconds
    31250.00 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6379 -n 1000 -r 1000 -t lpush -P 1000 -c 100
    ====== lpush -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 900 1 300 10 60 10000
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.3 milliseconds
    0.20% <= 0.4 milliseconds
    4.30% <= 0.5 milliseconds
    39.30% <= 0.6 milliseconds
    70.40% <= 0.7 milliseconds
    85.40% <= 0.8 milliseconds
    90.70% <= 0.9 milliseconds
    93.20% <= 1.0 milliseconds
    94.80% <= 1.1 milliseconds
    95.80% <= 1.2 milliseconds
    96.40% <= 1.3 milliseconds
    96.80% <= 1.4 milliseconds
    97.30% <= 6 milliseconds
    100.00% <= 6 milliseconds
    33333.34 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6379 -n 1000 -r 1000 -t lpop -P 1000 -c 100
    ====== lpop -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 900 1 300 10 60 10000
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.4 milliseconds
    1.10% <= 0.5 milliseconds
    36.30% <= 0.6 milliseconds
    74.80% <= 0.7 milliseconds
    87.80% <= 0.8 milliseconds
    95.30% <= 0.9 milliseconds
    97.30% <= 1.0 milliseconds
    97.80% <= 1.8 milliseconds
    99.40% <= 1.9 milliseconds
    100.00% <= 1.9 milliseconds
    38461.54 requests per second
    

    port 6479
    Code (Text):
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6479 -n 1000 -r 1000 -t get -P 1000 -c 100
    ====== get -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.4 milliseconds
    2.80% <= 0.5 milliseconds
    33.30% <= 0.6 milliseconds
    72.90% <= 0.7 milliseconds
    80.80% <= 0.8 milliseconds
    89.10% <= 0.9 milliseconds
    93.40% <= 1.0 milliseconds
    95.80% <= 1.1 milliseconds
    98.60% <= 1.2 milliseconds
    99.50% <= 1.3 milliseconds
    99.90% <= 1.4 milliseconds
    100.00% <= 1.4 milliseconds
    38461.54 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6479 -n 1000 -r 1000 -t set -P 1000 -c 100
    ====== set -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.4 milliseconds
    11.10% <= 0.5 milliseconds
    55.80% <= 0.6 milliseconds
    70.40% <= 0.7 milliseconds
    85.30% <= 0.8 milliseconds
    93.50% <= 0.9 milliseconds
    94.80% <= 1.0 milliseconds
    95.40% <= 1.1 milliseconds
    95.80% <= 1.2 milliseconds
    96.10% <= 1.3 milliseconds
    96.30% <= 1.4 milliseconds
    96.60% <= 1.5 milliseconds
    97.00% <= 1.6 milliseconds
    97.30% <= 1.7 milliseconds
    97.50% <= 1.8 milliseconds
    97.90% <= 1.9 milliseconds
    98.30% <= 2 milliseconds
    100.00% <= 2 milliseconds
    38461.54 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6479 -n 1000 -r 1000 -t mset -P 1000 -c 100
    ====== mset -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.4 milliseconds
    0.20% <= 0.5 milliseconds
    7.70% <= 0.6 milliseconds
    43.40% <= 0.7 milliseconds
    70.20% <= 0.8 milliseconds
    85.30% <= 0.9 milliseconds
    90.00% <= 1.0 milliseconds
    93.80% <= 1.1 milliseconds
    96.50% <= 1.2 milliseconds
    98.50% <= 1.3 milliseconds
    99.40% <= 1.4 milliseconds
    99.60% <= 1.5 milliseconds
    100.00% <= 1.5 milliseconds
    33333.34 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6479 -n 1000 -r 1000 -t lpush -P 1000 -c 100
    ====== lpush -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.3 milliseconds
    0.40% <= 0.4 milliseconds
    0.90% <= 0.5 milliseconds
    13.80% <= 0.6 milliseconds
    44.80% <= 0.7 milliseconds
    60.00% <= 0.8 milliseconds
    68.60% <= 0.9 milliseconds
    75.50% <= 1.0 milliseconds
    81.20% <= 1.1 milliseconds
    83.90% <= 1.2 milliseconds
    86.80% <= 1.3 milliseconds
    90.30% <= 1.4 milliseconds
    91.50% <= 1.5 milliseconds
    92.50% <= 1.6 milliseconds
    93.40% <= 1.7 milliseconds
    94.00% <= 1.8 milliseconds
    94.50% <= 1.9 milliseconds
    95.00% <= 2 milliseconds
    99.40% <= 3 milliseconds
    100.00% <= 3 milliseconds
    31250.00 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6479 -n 1000 -r 1000 -t lpop -P 1000 -c 100
    ====== lpop -P 1000 -c 100 ======
      1000 requests completed in 0.02 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.3 milliseconds
    0.40% <= 0.4 milliseconds
    10.70% <= 0.5 milliseconds
    48.40% <= 0.6 milliseconds
    59.90% <= 0.7 milliseconds
    69.20% <= 0.8 milliseconds
    74.20% <= 0.9 milliseconds
    80.60% <= 1.0 milliseconds
    84.70% <= 1.1 milliseconds
    88.30% <= 1.2 milliseconds
    91.30% <= 1.3 milliseconds
    93.20% <= 1.4 milliseconds
    95.20% <= 1.5 milliseconds
    98.40% <= 1.6 milliseconds
    99.50% <= 1.7 milliseconds
    99.80% <= 1.8 milliseconds
    100.00% <= 1.9 milliseconds
    41666.67 requests per second
    

    port 6481
    Code (Text):
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t get -P 1000 -c 100
    ====== get -P 1000 -c 100 ======
      1000 requests completed in 0.02 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.3 milliseconds
    0.40% <= 0.4 milliseconds
    13.10% <= 0.5 milliseconds
    59.80% <= 0.6 milliseconds
    77.20% <= 0.7 milliseconds
    83.90% <= 0.8 milliseconds
    89.40% <= 0.9 milliseconds
    93.00% <= 1.0 milliseconds
    94.80% <= 1.1 milliseconds
    95.10% <= 1.4 milliseconds
    95.40% <= 1.5 milliseconds
    95.60% <= 1.6 milliseconds
    95.90% <= 1.7 milliseconds
    96.20% <= 1.8 milliseconds
    96.50% <= 1.9 milliseconds
    96.80% <= 2 milliseconds
    99.60% <= 3 milliseconds
    100.00% <= 3 milliseconds
    43478.26 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t set -P 1000 -c 100
    ====== set -P 1000 -c 100 ======
      1000 requests completed in 0.02 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.3 milliseconds
    1.10% <= 0.4 milliseconds
    6.50% <= 0.5 milliseconds
    53.50% <= 0.6 milliseconds
    77.30% <= 0.7 milliseconds
    84.10% <= 0.8 milliseconds
    89.50% <= 0.9 milliseconds
    93.00% <= 1.0 milliseconds
    95.30% <= 1.1 milliseconds
    96.20% <= 1.2 milliseconds
    96.70% <= 1.3 milliseconds
    97.00% <= 1.4 milliseconds
    97.30% <= 1.5 milliseconds
    97.40% <= 1.6 milliseconds
    97.60% <= 1.7 milliseconds
    97.90% <= 1.8 milliseconds
    98.10% <= 1.9 milliseconds
    98.30% <= 2 milliseconds
    100.00% <= 2 milliseconds
    43478.26 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t mset -P 1000 -c 100
    ====== mset -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.3 milliseconds
    0.70% <= 0.4 milliseconds
    11.60% <= 0.5 milliseconds
    36.70% <= 0.6 milliseconds
    56.80% <= 0.7 milliseconds
    66.70% <= 0.8 milliseconds
    77.90% <= 0.9 milliseconds
    87.60% <= 1.0 milliseconds
    92.20% <= 1.1 milliseconds
    95.50% <= 1.2 milliseconds
    96.30% <= 1.3 milliseconds
    96.50% <= 1.4 milliseconds
    96.80% <= 1.5 milliseconds
    96.90% <= 1.6 milliseconds
    97.20% <= 1.7 milliseconds
    97.50% <= 1.8 milliseconds
    97.70% <= 1.9 milliseconds
    97.90% <= 2 milliseconds
    100.00% <= 2 milliseconds
    40000.00 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t lpush -P 1000 -c 100
    ====== lpush -P 1000 -c 100 ======
      1000 requests completed in 0.02 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.3 milliseconds
    0.30% <= 0.4 milliseconds
    5.60% <= 0.5 milliseconds
    47.40% <= 0.6 milliseconds
    73.50% <= 0.7 milliseconds
    84.70% <= 0.8 milliseconds
    89.90% <= 0.9 milliseconds
    93.40% <= 1.0 milliseconds
    94.90% <= 1.1 milliseconds
    95.10% <= 1.5 milliseconds
    95.30% <= 1.6 milliseconds
    95.80% <= 1.7 milliseconds
    96.10% <= 1.8 milliseconds
    96.20% <= 1.9 milliseconds
    96.50% <= 2 milliseconds
    98.90% <= 3 milliseconds
    100.00% <= 3 milliseconds
    41666.67 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t lpop -P 1000 -c 100
    ====== lpop -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: no
    
    0.10% <= 0.2 milliseconds
    0.30% <= 0.3 milliseconds
    0.50% <= 0.4 milliseconds
    2.80% <= 0.5 milliseconds
    34.30% <= 0.6 milliseconds
    64.00% <= 0.7 milliseconds
    73.70% <= 0.8 milliseconds
    79.80% <= 0.9 milliseconds
    84.50% <= 1.0 milliseconds
    87.40% <= 1.1 milliseconds
    90.00% <= 1.2 milliseconds
    92.60% <= 1.3 milliseconds
    94.90% <= 1.4 milliseconds
    97.00% <= 1.5 milliseconds
    98.60% <= 1.6 milliseconds
    99.10% <= 1.7 milliseconds
    99.40% <= 1.8 milliseconds
    99.80% <= 1.9 milliseconds
    100.00% <= 1.9 milliseconds
    37037.04 requests per second
    


    redis 5.0.4 thread-io branch source installed via GCC 7.3.1 threaded benchmarks with --threads 2 for port 6481 redis server
    Code (Text):
    PORT=6481
    TESTS='get set mset lpush lpop'
    THREADS=2
    for test in $TESTS; do echo "/usr/local/bin/redis-benchmark --threads $THREADS -h 127.0.0.1 -p $PORT -n 1000 -r 1000 -t $test -P 1000 -c 100"; /usr/local/bin/redis-benchmark --threads $THREADS -h 127.0.0.1 -p $PORT -n 1000 -r 1000 -t $test -P 1000 -c 100;
    done
    

    need to edit redis server port 6481's config file at /etc/redis6481/redis6481.conf add
    Code (Text):
    io-threads 2

    Code (Text):
    systemctl restart redis6481
    

    Then test results below
    • not seeing performance boost in terms of redis request/sec throughput & latency distribution but only testing on VPS with 2 cpu threads (1 physical and 1 virtual) so not exactly the best server to test multi-threaded redis thread-io branch
    Code (Text):
    /usr/local/bin/redis-benchmark --threads 2 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t get -P 1000 -c 100
    ====== get -P 1000 -c 100 ======
      1000 requests completed in 0.26 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: yes
      threads: 2
    
    0.10% <= 0.1 milliseconds
    0.40% <= 0.2 milliseconds
    2.50% <= 0.3 milliseconds
    19.90% <= 0.4 milliseconds
    36.50% <= 0.5 milliseconds
    46.30% <= 0.6 milliseconds
    54.40% <= 0.7 milliseconds
    58.50% <= 0.8 milliseconds
    61.60% <= 0.9 milliseconds
    64.10% <= 1.0 milliseconds
    66.40% <= 1.1 milliseconds
    68.30% <= 1.2 milliseconds
    70.30% <= 1.3 milliseconds
    71.70% <= 1.4 milliseconds
    74.00% <= 1.5 milliseconds
    75.70% <= 1.6 milliseconds
    77.10% <= 1.7 milliseconds
    79.30% <= 1.8 milliseconds
    81.70% <= 1.9 milliseconds
    84.30% <= 2 milliseconds
    100.00% <= 2 milliseconds
    3875.97 requests per second
    
    /usr/local/bin/redis-benchmark --threads 2 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t set -P 1000 -c 100
    ====== set -P 1000 -c 100 ======
      1000 requests completed in 0.25 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: yes
      threads: 2
    
    0.10% <= 0.2 milliseconds
    8.10% <= 0.3 milliseconds
    25.40% <= 0.4 milliseconds
    32.40% <= 0.5 milliseconds
    39.40% <= 0.6 milliseconds
    44.20% <= 0.7 milliseconds
    49.80% <= 0.8 milliseconds
    54.00% <= 0.9 milliseconds
    58.10% <= 1.0 milliseconds
    61.00% <= 1.1 milliseconds
    63.00% <= 1.2 milliseconds
    64.60% <= 1.3 milliseconds
    66.90% <= 1.4 milliseconds
    69.60% <= 1.5 milliseconds
    71.90% <= 1.6 milliseconds
    75.50% <= 1.7 milliseconds
    78.90% <= 1.8 milliseconds
    82.00% <= 1.9 milliseconds
    85.00% <= 2 milliseconds
    97.20% <= 3 milliseconds
    97.60% <= 4 milliseconds
    100.00% <= 4 milliseconds
    3984.06 requests per second
    
    /usr/local/bin/redis-benchmark --threads 2 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t mset -P 1000 -c 100
    ====== mset -P 1000 -c 100 ======
      1000 requests completed in 0.25 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: yes
      threads: 2
    
    0.10% <= 0.1 milliseconds
    1.10% <= 0.2 milliseconds
    35.70% <= 0.3 milliseconds
    66.50% <= 0.4 milliseconds
    75.10% <= 0.5 milliseconds
    76.90% <= 0.6 milliseconds
    77.90% <= 0.7 milliseconds
    79.90% <= 0.8 milliseconds
    82.20% <= 0.9 milliseconds
    83.90% <= 1.0 milliseconds
    85.10% <= 1.1 milliseconds
    85.80% <= 1.2 milliseconds
    86.70% <= 1.3 milliseconds
    87.20% <= 1.4 milliseconds
    87.70% <= 1.5 milliseconds
    88.20% <= 1.6 milliseconds
    88.40% <= 1.7 milliseconds
    89.00% <= 1.8 milliseconds
    90.00% <= 1.9 milliseconds
    90.90% <= 2 milliseconds
    95.10% <= 7 milliseconds
    97.30% <= 8 milliseconds
    97.60% <= 10 milliseconds
    98.00% <= 11 milliseconds
    100.00% <= 11 milliseconds
    3984.06 requests per second
    
    /usr/local/bin/redis-benchmark --threads 2 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t lpush -P 1000 -c 100
    ====== lpush -P 1000 -c 100 ======
      1000 requests completed in 0.25 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: yes
      threads: 2
    
    0.10% <= 0.1 milliseconds
    0.90% <= 0.2 milliseconds
    4.50% <= 0.3 milliseconds
    15.50% <= 0.4 milliseconds
    26.40% <= 0.5 milliseconds
    33.50% <= 0.6 milliseconds
    39.20% <= 0.7 milliseconds
    42.40% <= 0.8 milliseconds
    44.70% <= 0.9 milliseconds
    47.20% <= 1.0 milliseconds
    50.40% <= 1.1 milliseconds
    53.10% <= 1.2 milliseconds
    55.90% <= 1.3 milliseconds
    59.10% <= 1.4 milliseconds
    62.80% <= 1.5 milliseconds
    66.40% <= 1.6 milliseconds
    70.30% <= 1.7 milliseconds
    73.70% <= 1.8 milliseconds
    78.20% <= 1.9 milliseconds
    81.30% <= 2 milliseconds
    95.00% <= 3 milliseconds
    95.10% <= 7 milliseconds
    96.50% <= 8 milliseconds
    99.30% <= 9 milliseconds
    100.00% <= 9 milliseconds
    3968.25 requests per second
    
    /usr/local/bin/redis-benchmark --threads 2 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t lpop -P 1000 -c 100
    ====== lpop -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save":
      host configuration "appendonly": no
      multi-thread: yes
      threads: 2
    
    0.10% <= 0.1 milliseconds
    0.70% <= 0.2 milliseconds
    28.60% <= 0.3 milliseconds
    50.20% <= 0.4 milliseconds
    61.50% <= 0.5 milliseconds
    66.40% <= 0.6 milliseconds
    68.20% <= 0.7 milliseconds
    69.90% <= 0.8 milliseconds
    70.60% <= 0.9 milliseconds
    71.50% <= 1.0 milliseconds
    72.80% <= 1.1 milliseconds
    74.00% <= 1.2 milliseconds
    75.50% <= 1.3 milliseconds
    77.00% <= 1.4 milliseconds
    78.80% <= 1.5 milliseconds
    81.90% <= 1.6 milliseconds
    84.00% <= 1.7 milliseconds
    85.90% <= 1.8 milliseconds
    87.90% <= 1.9 milliseconds
    89.40% <= 2 milliseconds
    93.70% <= 3 milliseconds
    97.60% <= 4 milliseconds
    100.00% <= 4 milliseconds
    37037.04 requests per second
    

    sdiff side by side (left no threads vs right 2 threads)
    Code (Text):
    sdiff -w 100 redis-no-threads.txt redis-2-threads.txt
    PORT=6481                                       PORT=6481
    TESTS='get set mset lpush lpop'                 TESTS='get set mset lpush lpop'
    for test in $TESTS; do echo "/usr/local/bin/r | THREADS=2
                                                  > for test in $TESTS; do echo "/usr/local/bin/r
    done                                            done
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 - | /usr/local/bin/redis-benchmark --threads 2 -h
    ====== get -P 1000 -c 100 ======                ====== get -P 1000 -c 100 ======
      1000 requests completed in 0.02 seconds     |   1000 requests completed in 0.26 seconds
      50 parallel clients                             50 parallel clients
      3 bytes payload                                 3 bytes payload
      keep alive: 1                                   keep alive: 1
      host configuration "save":                      host configuration "save":
      host configuration "appendonly": no             host configuration "appendonly": no
      multi-thread: no                            |   multi-thread: yes
                                                  >   threads: 2
    
    0.10% <= 0.3 milliseconds                     | 0.10% <= 0.1 milliseconds
    0.40% <= 0.4 milliseconds                     | 0.40% <= 0.2 milliseconds
    13.10% <= 0.5 milliseconds                    | 2.50% <= 0.3 milliseconds
    59.80% <= 0.6 milliseconds                    | 19.90% <= 0.4 milliseconds
    77.20% <= 0.7 milliseconds                    | 36.50% <= 0.5 milliseconds
    83.90% <= 0.8 milliseconds                    | 46.30% <= 0.6 milliseconds
    89.40% <= 0.9 milliseconds                    | 54.40% <= 0.7 milliseconds
    93.00% <= 1.0 milliseconds                    | 58.50% <= 0.8 milliseconds
    94.80% <= 1.1 milliseconds                    | 61.60% <= 0.9 milliseconds
    95.10% <= 1.4 milliseconds                    | 64.10% <= 1.0 milliseconds
    95.40% <= 1.5 milliseconds                    | 66.40% <= 1.1 milliseconds
    95.60% <= 1.6 milliseconds                    | 68.30% <= 1.2 milliseconds
    95.90% <= 1.7 milliseconds                    | 70.30% <= 1.3 milliseconds
    96.20% <= 1.8 milliseconds                    | 71.70% <= 1.4 milliseconds
    96.50% <= 1.9 milliseconds                    | 74.00% <= 1.5 milliseconds
    96.80% <= 2 milliseconds                      | 75.70% <= 1.6 milliseconds
    99.60% <= 3 milliseconds                      | 77.10% <= 1.7 milliseconds
    100.00% <= 3 milliseconds                     | 79.30% <= 1.8 milliseconds
    43478.26 requests per second                  | 81.70% <= 1.9 milliseconds
                                                  > 84.30% <= 2 milliseconds
                                                  > 100.00% <= 2 milliseconds
                                                  > 3875.97 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 - | /usr/local/bin/redis-benchmark --threads 2 -h
    ====== set -P 1000 -c 100 ======                ====== set -P 1000 -c 100 ======
      1000 requests completed in 0.02 seconds     |   1000 requests completed in 0.25 seconds
      50 parallel clients                             50 parallel clients
      3 bytes payload                                 3 bytes payload
      keep alive: 1                                   keep alive: 1
      host configuration "save":                      host configuration "save":
      host configuration "appendonly": no             host configuration "appendonly": no
      multi-thread: no                            |   multi-thread: yes
                                                  >   threads: 2
    
    0.10% <= 0.3 milliseconds                     | 0.10% <= 0.2 milliseconds
    1.10% <= 0.4 milliseconds                     | 8.10% <= 0.3 milliseconds
    6.50% <= 0.5 milliseconds                     | 25.40% <= 0.4 milliseconds
    53.50% <= 0.6 milliseconds                    | 32.40% <= 0.5 milliseconds
    77.30% <= 0.7 milliseconds                    | 39.40% <= 0.6 milliseconds
    84.10% <= 0.8 milliseconds                    | 44.20% <= 0.7 milliseconds
    89.50% <= 0.9 milliseconds                    | 49.80% <= 0.8 milliseconds
    93.00% <= 1.0 milliseconds                    | 54.00% <= 0.9 milliseconds
    95.30% <= 1.1 milliseconds                    | 58.10% <= 1.0 milliseconds
    96.20% <= 1.2 milliseconds                    | 61.00% <= 1.1 milliseconds
    96.70% <= 1.3 milliseconds                    | 63.00% <= 1.2 milliseconds
    97.00% <= 1.4 milliseconds                    | 64.60% <= 1.3 milliseconds
    97.30% <= 1.5 milliseconds                    | 66.90% <= 1.4 milliseconds
    97.40% <= 1.6 milliseconds                    | 69.60% <= 1.5 milliseconds
    97.60% <= 1.7 milliseconds                    | 71.90% <= 1.6 milliseconds
    97.90% <= 1.8 milliseconds                    | 75.50% <= 1.7 milliseconds
    98.10% <= 1.9 milliseconds                    | 78.90% <= 1.8 milliseconds
    98.30% <= 2 milliseconds                      | 82.00% <= 1.9 milliseconds
    100.00% <= 2 milliseconds                     | 85.00% <= 2 milliseconds
    43478.26 requests per second                  | 97.20% <= 3 milliseconds
                                                  > 97.60% <= 4 milliseconds
                                                  > 100.00% <= 4 milliseconds
                                                  > 3984.06 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 - | /usr/local/bin/redis-benchmark --threads 2 -h
    ====== mset -P 1000 -c 100 ======               ====== mset -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds     |   1000 requests completed in 0.25 seconds
      50 parallel clients                             50 parallel clients
      3 bytes payload                                 3 bytes payload
      keep alive: 1                                   keep alive: 1
      host configuration "save":                      host configuration "save":
      host configuration "appendonly": no             host configuration "appendonly": no
      multi-thread: no                            |   multi-thread: yes
                                                  >   threads: 2
    
    0.10% <= 0.3 milliseconds                     | 0.10% <= 0.1 milliseconds
    0.70% <= 0.4 milliseconds                     | 1.10% <= 0.2 milliseconds
    11.60% <= 0.5 milliseconds                    | 35.70% <= 0.3 milliseconds
    36.70% <= 0.6 milliseconds                    | 66.50% <= 0.4 milliseconds
    56.80% <= 0.7 milliseconds                    | 75.10% <= 0.5 milliseconds
    66.70% <= 0.8 milliseconds                    | 76.90% <= 0.6 milliseconds
    77.90% <= 0.9 milliseconds                    | 77.90% <= 0.7 milliseconds
    87.60% <= 1.0 milliseconds                    | 79.90% <= 0.8 milliseconds
    92.20% <= 1.1 milliseconds                    | 82.20% <= 0.9 milliseconds
    95.50% <= 1.2 milliseconds                    | 83.90% <= 1.0 milliseconds
    96.30% <= 1.3 milliseconds                    | 85.10% <= 1.1 milliseconds
    96.50% <= 1.4 milliseconds                    | 85.80% <= 1.2 milliseconds
    96.80% <= 1.5 milliseconds                    | 86.70% <= 1.3 milliseconds
    96.90% <= 1.6 milliseconds                    | 87.20% <= 1.4 milliseconds
    97.20% <= 1.7 milliseconds                    | 87.70% <= 1.5 milliseconds
    97.50% <= 1.8 milliseconds                    | 88.20% <= 1.6 milliseconds
    97.70% <= 1.9 milliseconds                    | 88.40% <= 1.7 milliseconds
    97.90% <= 2 milliseconds                      | 89.00% <= 1.8 milliseconds
    100.00% <= 2 milliseconds                     | 90.00% <= 1.9 milliseconds
    40000.00 requests per second                  | 90.90% <= 2 milliseconds
                                                  > 95.10% <= 7 milliseconds
                                                  > 97.30% <= 8 milliseconds
                                                  > 97.60% <= 10 milliseconds
                                                  > 98.00% <= 11 milliseconds
                                                  > 100.00% <= 11 milliseconds
                                                  > 3984.06 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 - | /usr/local/bin/redis-benchmark --threads 2 -h
    ====== lpush -P 1000 -c 100 ======              ====== lpush -P 1000 -c 100 ======
      1000 requests completed in 0.02 seconds     |   1000 requests completed in 0.25 seconds
      50 parallel clients                             50 parallel clients
      3 bytes payload                                 3 bytes payload
      keep alive: 1                                   keep alive: 1
      host configuration "save":                      host configuration "save":
      host configuration "appendonly": no             host configuration "appendonly": no
      multi-thread: no                            |   multi-thread: yes
                                                  >   threads: 2
    
    0.10% <= 0.3 milliseconds                     | 0.10% <= 0.1 milliseconds
    0.30% <= 0.4 milliseconds                     | 0.90% <= 0.2 milliseconds
    5.60% <= 0.5 milliseconds                     | 4.50% <= 0.3 milliseconds
    47.40% <= 0.6 milliseconds                    | 15.50% <= 0.4 milliseconds
    73.50% <= 0.7 milliseconds                    | 26.40% <= 0.5 milliseconds
    84.70% <= 0.8 milliseconds                    | 33.50% <= 0.6 milliseconds
    89.90% <= 0.9 milliseconds                    | 39.20% <= 0.7 milliseconds
    93.40% <= 1.0 milliseconds                    | 42.40% <= 0.8 milliseconds
    94.90% <= 1.1 milliseconds                    | 44.70% <= 0.9 milliseconds
    95.10% <= 1.5 milliseconds                    | 47.20% <= 1.0 milliseconds
    95.30% <= 1.6 milliseconds                    | 50.40% <= 1.1 milliseconds
    95.80% <= 1.7 milliseconds                    | 53.10% <= 1.2 milliseconds
    96.10% <= 1.8 milliseconds                    | 55.90% <= 1.3 milliseconds
    96.20% <= 1.9 milliseconds                    | 59.10% <= 1.4 milliseconds
    96.50% <= 2 milliseconds                      | 62.80% <= 1.5 milliseconds
    98.90% <= 3 milliseconds                      | 66.40% <= 1.6 milliseconds
    100.00% <= 3 milliseconds                     | 70.30% <= 1.7 milliseconds
    41666.67 requests per second                  | 73.70% <= 1.8 milliseconds
                                                  > 78.20% <= 1.9 milliseconds
                                                  > 81.30% <= 2 milliseconds
                                                  > 95.00% <= 3 milliseconds
                                                  > 95.10% <= 7 milliseconds
                                                  > 96.50% <= 8 milliseconds
                                                  > 99.30% <= 9 milliseconds
                                                  > 100.00% <= 9 milliseconds
                                                  > 3968.25 requests per second
    
    /usr/local/bin/redis-benchmark -h 127.0.0.1 - | /usr/local/bin/redis-benchmark --threads 2 -h
    ====== lpop -P 1000 -c 100 ======               ====== lpop -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds         1000 requests completed in 0.03 seconds
      50 parallel clients                             50 parallel clients
      3 bytes payload                                 3 bytes payload
      keep alive: 1                                   keep alive: 1
      host configuration "save":                      host configuration "save":
      host configuration "appendonly": no             host configuration "appendonly": no
      multi-thread: no                            |   multi-thread: yes
                                                  >   threads: 2
    
    0.10% <= 0.2 milliseconds                     | 0.10% <= 0.1 milliseconds
    0.30% <= 0.3 milliseconds                     | 0.70% <= 0.2 milliseconds
    0.50% <= 0.4 milliseconds                     | 28.60% <= 0.3 milliseconds
    2.80% <= 0.5 milliseconds                     | 50.20% <= 0.4 milliseconds
    34.30% <= 0.6 milliseconds                    | 61.50% <= 0.5 milliseconds
    64.00% <= 0.7 milliseconds                    | 66.40% <= 0.6 milliseconds
    73.70% <= 0.8 milliseconds                    | 68.20% <= 0.7 milliseconds
    79.80% <= 0.9 milliseconds                    | 69.90% <= 0.8 milliseconds
    84.50% <= 1.0 milliseconds                    | 70.60% <= 0.9 milliseconds
    87.40% <= 1.1 milliseconds                    | 71.50% <= 1.0 milliseconds
    90.00% <= 1.2 milliseconds                    | 72.80% <= 1.1 milliseconds
    92.60% <= 1.3 milliseconds                    | 74.00% <= 1.2 milliseconds
    94.90% <= 1.4 milliseconds                    | 75.50% <= 1.3 milliseconds
    97.00% <= 1.5 milliseconds                    | 77.00% <= 1.4 milliseconds
    98.60% <= 1.6 milliseconds                    | 78.80% <= 1.5 milliseconds
    99.10% <= 1.7 milliseconds                    | 81.90% <= 1.6 milliseconds
    99.40% <= 1.8 milliseconds                    | 84.00% <= 1.7 milliseconds
    99.80% <= 1.9 milliseconds                    | 85.90% <= 1.8 milliseconds
    100.00% <= 1.9 milliseconds                   | 87.90% <= 1.9 milliseconds
                                                  > 89.40% <= 2 milliseconds
                                                  > 93.70% <= 3 milliseconds
                                                  > 97.60% <= 4 milliseconds
                                                  > 100.00% <= 4 milliseconds
    37037.04 requests per second                    37037.04 requests per second
    
     
    Last edited: Mar 28, 2019
    • Like Like x 1
  3. eva2000

    eva2000 Administrator Staff Member

    39,800
    8,778
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +13,511
    Local Time:
    7:58 PM
    Nginx 1.15.x
    MariaDB 5.5/10.x
    Also try redis 5.0.4 source install for thread-io branch with GCC 8.2.1 compiler
    Code (Text):
    redis-cli -h 127.0.0.1 -p 6481 info server
    # Server
    redis_version:999.999.999
    redis_git_sha1:d3e44c01
    redis_git_dirty:0
    redis_build_id:281ab013e53a6315
    redis_mode:standalone
    os:Linux 3.10.0-957.10.1.el7.x86_64 x86_64
    arch_bits:64
    multiplexing_api:epoll
    atomicvar_api:atomic-builtin
    gcc_version:8.2.1
    process_id:9570
    run_id:a63330c342a74bbc338576df2d546d86741d1b24
    tcp_port:6481
    uptime_in_seconds:2
    uptime_in_days:0
    hz:10
    configured_hz:10
    lru_clock:10232168
    executable:/etc/redis6481/redis-server
    config_file:/etc/redis6481/redis6481.conf
    

    1 thread
    Code (Text):
    PORT=6481
    TESTS='get set mset lpush lpop'
    THREADS=1
    for test in $TESTS; do echo "/usr/local/bin/redis-benchmark --threads $THREADS -h 127.0.0.1 -p $PORT -n 1000 -r 1000 -t $test -P 1000 -c 100"; /usr/local/bin/redis-benchmark --threads $THREADS -h 127.0.0.1 -p $PORT -n 1000 -r 1000 -t $test -P 1000 -c 100;
    done
    

    2 threads
    Code (Text):
    PORT=6481
    TESTS='get set mset lpush lpop'
    THREADS=2
    for test in $TESTS; do echo "/usr/local/bin/redis-benchmark --threads $THREADS -h 127.0.0.1 -p $PORT -n 1000 -r 1000 -t $test -P 1000 -c 100"; /usr/local/bin/redis-benchmark --threads $THREADS -h 127.0.0.1 -p $PORT -n 1000 -r 1000 -t $test -P 1000 -c 100;
    done
    


    1 thread
    Code (Text):
    /usr/local/bin/redis-benchmark --threads 1 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t get -P 1000 -c 100
    ====== get -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 
      host configuration "appendonly": no
      multi-thread: yes
      threads: 1
    
    0.10% <= 0.2 milliseconds
    0.20% <= 0.3 milliseconds
    1.10% <= 0.4 milliseconds
    15.60% <= 0.5 milliseconds
    40.90% <= 0.6 milliseconds
    53.70% <= 0.7 milliseconds
    62.90% <= 0.8 milliseconds
    74.50% <= 0.9 milliseconds
    81.20% <= 1.0 milliseconds
    85.90% <= 1.1 milliseconds
    90.20% <= 1.2 milliseconds
    92.60% <= 1.3 milliseconds
    94.40% <= 1.4 milliseconds
    96.10% <= 1.5 milliseconds
    97.40% <= 1.6 milliseconds
    98.30% <= 1.7 milliseconds
    99.10% <= 1.8 milliseconds
    99.90% <= 1.9 milliseconds
    100.00% <= 1.9 milliseconds
    40000.00 requests per second
    
    /usr/local/bin/redis-benchmark --threads 1 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t set -P 1000 -c 100
    ====== set -P 1000 -c 100 ======
      1000 requests completed in 0.04 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 
      host configuration "appendonly": no
      multi-thread: yes
      threads: 1
    
    0.10% <= 0.3 milliseconds
    0.30% <= 0.4 milliseconds
    0.70% <= 0.5 milliseconds
    3.30% <= 0.6 milliseconds
    11.80% <= 0.7 milliseconds
    20.70% <= 0.8 milliseconds
    30.80% <= 0.9 milliseconds
    53.60% <= 1.0 milliseconds
    79.90% <= 1.1 milliseconds
    93.00% <= 1.2 milliseconds
    97.00% <= 1.3 milliseconds
    99.30% <= 1.4 milliseconds
    99.50% <= 1.5 milliseconds
    99.60% <= 1.6 milliseconds
    99.80% <= 1.7 milliseconds
    99.90% <= 1.8 milliseconds
    100.00% <= 1.8 milliseconds
    26315.79 requests per second
    
    /usr/local/bin/redis-benchmark --threads 1 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t mset -P 1000 -c 100
    ====== mset -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 
      host configuration "appendonly": no
      multi-thread: yes
      threads: 1
    
    0.10% <= 0.3 milliseconds
    0.20% <= 0.4 milliseconds
    0.90% <= 0.5 milliseconds
    4.00% <= 0.6 milliseconds
    8.90% <= 0.7 milliseconds
    13.50% <= 0.8 milliseconds
    19.50% <= 0.9 milliseconds
    28.10% <= 1.0 milliseconds
    42.90% <= 1.1 milliseconds
    57.20% <= 1.2 milliseconds
    72.20% <= 1.3 milliseconds
    79.80% <= 1.4 milliseconds
    85.10% <= 1.5 milliseconds
    89.40% <= 1.6 milliseconds
    92.30% <= 1.7 milliseconds
    93.40% <= 1.8 milliseconds
    93.90% <= 1.9 milliseconds
    94.30% <= 2 milliseconds
    100.00% <= 3 milliseconds
    30303.03 requests per second
    
    /usr/local/bin/redis-benchmark --threads 1 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t lpush -P 1000 -c 100
    ====== lpush -P 1000 -c 100 ======
      1000 requests completed in 0.02 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 
      host configuration "appendonly": no
      multi-thread: yes
      threads: 1
    
    0.10% <= 0.4 milliseconds
    10.80% <= 0.5 milliseconds
    78.30% <= 0.6 milliseconds
    91.50% <= 0.7 milliseconds
    92.40% <= 0.8 milliseconds
    92.80% <= 0.9 milliseconds
    93.50% <= 1.0 milliseconds
    94.00% <= 1.1 milliseconds
    94.70% <= 1.2 milliseconds
    95.20% <= 1.3 milliseconds
    95.60% <= 1.4 milliseconds
    96.00% <= 1.5 milliseconds
    96.40% <= 1.6 milliseconds
    96.80% <= 1.7 milliseconds
    97.10% <= 1.8 milliseconds
    97.50% <= 1.9 milliseconds
    97.60% <= 2 milliseconds
    100.00% <= 3 milliseconds
    41666.67 requests per second
    
    /usr/local/bin/redis-benchmark --threads 1 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t lpop -P 1000 -c 100
    ====== lpop -P 1000 -c 100 ======
      1000 requests completed in 0.03 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 
      host configuration "appendonly": no
      multi-thread: yes
      threads: 1
    
    0.10% <= 0.3 milliseconds
    0.20% <= 0.4 milliseconds
    3.10% <= 0.5 milliseconds
    60.20% <= 0.6 milliseconds
    86.90% <= 0.7 milliseconds
    94.40% <= 0.8 milliseconds
    95.60% <= 0.9 milliseconds
    96.50% <= 1.0 milliseconds
    96.80% <= 1.1 milliseconds
    97.10% <= 1.2 milliseconds
    97.30% <= 1.3 milliseconds
    97.80% <= 1.4 milliseconds
    98.30% <= 1.5 milliseconds
    98.50% <= 1.6 milliseconds
    98.80% <= 1.7 milliseconds
    99.10% <= 1.8 milliseconds
    99.40% <= 1.9 milliseconds
    99.60% <= 2 milliseconds
    100.00% <= 2 milliseconds
    40000.00 requests per second
    

    2 threads
    Code (Text):
    /usr/local/bin/redis-benchmark --threads 2 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t get -P 1000 -c 100
    ====== get -P 1000 -c 100 ======
      1000 requests completed in 0.25 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 
      host configuration "appendonly": no
      multi-thread: yes
      threads: 2
    
    0.10% <= 0.1 milliseconds
    0.20% <= 0.2 milliseconds
    4.10% <= 0.3 milliseconds
    15.10% <= 0.4 milliseconds
    25.70% <= 0.5 milliseconds
    35.30% <= 0.6 milliseconds
    41.40% <= 0.7 milliseconds
    48.00% <= 0.8 milliseconds
    52.10% <= 0.9 milliseconds
    57.30% <= 1.0 milliseconds
    62.30% <= 1.1 milliseconds
    67.40% <= 1.2 milliseconds
    72.90% <= 1.3 milliseconds
    77.00% <= 1.4 milliseconds
    79.90% <= 1.5 milliseconds
    82.20% <= 1.6 milliseconds
    83.90% <= 1.7 milliseconds
    85.40% <= 1.8 milliseconds
    87.70% <= 1.9 milliseconds
    89.70% <= 2 milliseconds
    100.00% <= 2 milliseconds
    3984.06 requests per second
    
    /usr/local/bin/redis-benchmark --threads 2 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t set -P 1000 -c 100
    ====== set -P 1000 -c 100 ======
      1000 requests completed in 0.25 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 
      host configuration "appendonly": no
      multi-thread: yes
      threads: 2
    
    0.10% <= 0.1 milliseconds
    1.60% <= 0.2 milliseconds
    46.20% <= 0.3 milliseconds
    77.70% <= 0.4 milliseconds
    89.00% <= 0.5 milliseconds
    95.40% <= 0.6 milliseconds
    96.70% <= 0.7 milliseconds
    96.80% <= 1.0 milliseconds
    97.40% <= 1.1 milliseconds
    98.10% <= 1.2 milliseconds
    98.40% <= 10 milliseconds
    100.00% <= 10 milliseconds
    3984.06 requests per second
    
    /usr/local/bin/redis-benchmark --threads 2 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t mset -P 1000 -c 100
    ====== mset -P 1000 -c 100 ======
      1000 requests completed in 0.25 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 
      host configuration "appendonly": no
      multi-thread: yes
      threads: 2
    
    0.10% <= 0.1 milliseconds
    0.20% <= 0.2 milliseconds
    4.60% <= 0.3 milliseconds
    17.60% <= 0.4 milliseconds
    29.70% <= 0.5 milliseconds
    38.40% <= 0.6 milliseconds
    47.10% <= 0.7 milliseconds
    54.20% <= 0.8 milliseconds
    60.50% <= 0.9 milliseconds
    65.40% <= 1.0 milliseconds
    67.90% <= 1.1 milliseconds
    70.00% <= 1.2 milliseconds
    71.30% <= 1.3 milliseconds
    73.20% <= 1.4 milliseconds
    75.20% <= 1.5 milliseconds
    77.60% <= 1.6 milliseconds
    79.70% <= 1.7 milliseconds
    81.90% <= 1.8 milliseconds
    84.20% <= 1.9 milliseconds
    86.60% <= 2 milliseconds
    94.90% <= 3 milliseconds
    100.00% <= 4 milliseconds
    3968.25 requests per second
    
    /usr/local/bin/redis-benchmark --threads 2 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t lpush -P 1000 -c 100
    ====== lpush -P 1000 -c 100 ======
      1000 requests completed in 0.25 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 
      host configuration "appendonly": no
      multi-thread: yes
      threads: 2
    
    0.10% <= 0.1 milliseconds
    0.80% <= 0.2 milliseconds
    53.50% <= 0.3 milliseconds
    83.90% <= 0.4 milliseconds
    85.60% <= 0.9 milliseconds
    86.10% <= 1.0 milliseconds
    87.00% <= 1.1 milliseconds
    87.70% <= 1.2 milliseconds
    88.20% <= 1.3 milliseconds
    88.80% <= 1.4 milliseconds
    89.30% <= 1.5 milliseconds
    89.80% <= 1.6 milliseconds
    90.70% <= 1.7 milliseconds
    91.60% <= 1.8 milliseconds
    91.70% <= 1.9 milliseconds
    91.80% <= 2 milliseconds
    93.20% <= 3 milliseconds
    95.70% <= 4 milliseconds
    100.00% <= 4 milliseconds
    3968.25 requests per second
    
    /usr/local/bin/redis-benchmark --threads 2 -h 127.0.0.1 -p 6481 -n 1000 -r 1000 -t lpop -P 1000 -c 100
    ====== lpop -P 1000 -c 100 ======
      1000 requests completed in 0.25 seconds
      50 parallel clients
      3 bytes payload
      keep alive: 1
      host configuration "save": 
      host configuration "appendonly": no
      multi-thread: yes
      threads: 2
    
    0.10% <= 0.1 milliseconds
    0.40% <= 0.2 milliseconds
    10.50% <= 0.3 milliseconds
    29.20% <= 0.4 milliseconds
    42.50% <= 0.5 milliseconds
    48.60% <= 0.6 milliseconds
    55.40% <= 0.7 milliseconds
    58.90% <= 0.8 milliseconds
    62.70% <= 0.9 milliseconds
    67.00% <= 1.0 milliseconds
    72.60% <= 1.1 milliseconds
    77.00% <= 1.2 milliseconds
    80.20% <= 1.3 milliseconds
    83.40% <= 1.4 milliseconds
    86.40% <= 1.5 milliseconds
    88.50% <= 1.6 milliseconds
    90.10% <= 1.7 milliseconds
    91.30% <= 1.8 milliseconds
    92.40% <= 1.9 milliseconds
    92.50% <= 2 milliseconds
    97.60% <= 3 milliseconds
    100.00% <= 3 milliseconds
    3921.57 requests per second
    
     
    • Like Like x 1
  4. eva2000

    eva2000 Administrator Staff Member

    39,800
    8,778
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +13,511
    Local Time:
    7:58 PM
    Nginx 1.15.x
    MariaDB 5.5/10.x
    Redis author/developer ANTIREZ replied to my tweet to explain where the multi-threaded I/O thread branch of redis will shine ANTIREZ on Twitter
     
  5. pamamolf

    pamamolf Premium Member Premium Member

    3,267
    307
    83
    May 31, 2014
    Ratings:
    +566
    Local Time:
    12:58 PM
    Nginx-1.13.x
    MariaDB 10.1.x
    Is there any ETA for this ?
     
  6. eva2000

    eva2000 Administrator Staff Member

    39,800
    8,778
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +13,511
    Local Time:
    7:58 PM
    Nginx 1.15.x
    MariaDB 5.5/10.x
    no idea depends on redis developer and when he decides to release it
     
    • Like Like x 1
..