github.com/outbrain/consul@v1.4.5/bench/results-0.3.md (about)

     1  # Consul Benchmark Results
     2  
     3  As part of a benchmark, we started a 4 node DigitalOcean cluster to benchmark.
     4  There are 3 servers, meaning writes must commit to at least 2 servers.
     5  The cluster uses the 16GB DigitalOcean droplet which has the following specs:
     6  
     7   * 8 CPU Cores, 2Ghz
     8   * 16GB RAM
     9   * 160GB SSD disk
    10   * 1Gbps NIC
    11  
    12  We used `bonnie++` to benchmark the disk, and the key metrics are:
    13  
    14   * 188MB/s sequential write
    15   * 86MB/s sequential read-write-flush
    16   * 2636 random seeks per second
    17  
    18  # Output
    19  
    20  Below is the output for a test run on a benchmark cluster. We ran the benchmark
    21  several times to warm up the nodes, and this is just a single representative sample.
    22  
    23  Note, that a single worker was running the benchmark. This means the "stale" test is
    24  not representative of total throughput, as the client was only routing to a single server.
    25  
    26      ===== PUT test =====
    27      GOMAXPROCS=4 boom -m PUT -d "74a31e96-1d0f-4fa7-aa14-7212a326986e" -n 20480 -c 64 http://localhost:8500/v1/kv/bench
    28      20480 / 20480 Booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo! 100.00 %
    29  
    30      Summary:
    31        Total:	5.0053 secs.
    32        Slowest:	0.0414 secs.
    33        Fastest:	0.0062 secs.
    34        Average:	0.0156 secs.
    35        Requests/sec:	4091.6699
    36        Total Data Received:	102400 bytes.
    37        Response Size per Request:	5 bytes.
    38  
    39      Status code distribution:
    40        [200]	20480 responses
    41  
    42      Response time histogram:
    43        0.006 [1]	|
    44        0.010 [568]	|∎∎
    45        0.013 [6184]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
    46        0.017 [7594]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
    47        0.020 [3425]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
    48        0.024 [1506]	|∎∎∎∎∎∎∎
    49        0.027 [775]	|∎∎∎∎
    50        0.031 [209]	|∎
    51        0.034 [142]	|
    52        0.038 [44]	|
    53        0.041 [32]	|
    54  
    55      Latency distribution:
    56        10% in 0.0111 secs.
    57        25% in 0.0126 secs.
    58        50% in 0.0148 secs.
    59        75% in 0.0174 secs.
    60        90% in 0.0218 secs.
    61        95% in 0.0243 secs.
    62        99% in 0.0310 secs.
    63  
    64      ===== GET default test =====
    65      GOMAXPROCS=4 boom -n 20480 -c 64 http://localhost:8500/v1/kv/bench
    66      20480 / 20480 Booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo! 100.00 %
    67  
    68      Summary:
    69        Total:	1.9562 secs.
    70        Slowest:	0.0330 secs.
    71        Fastest:	0.0010 secs.
    72        Average:	0.0061 secs.
    73        Requests/sec:	10469.5400
    74        Total Data Received:	2867200 bytes.
    75        Response Size per Request:	140 bytes.
    76  
    77      Status code distribution:
    78        [200]	20480 responses
    79  
    80      Response time histogram:
    81        0.001 [1]	|
    82        0.004 [4866]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
    83        0.007 [10998]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
    84        0.011 [3520]	|∎∎∎∎∎∎∎∎∎∎∎∎
    85        0.014 [610]	|∎∎
    86        0.017 [280]	|∎
    87        0.020 [117]	|
    88        0.023 [52]	|
    89        0.027 [23]	|
    90        0.030 [12]	|
    91        0.033 [1]	|
    92  
    93      Latency distribution:
    94        10% in 0.0033 secs.
    95        25% in 0.0043 secs.
    96        50% in 0.0056 secs.
    97        75% in 0.0072 secs.
    98        90% in 0.0091 secs.
    99        95% in 0.0107 secs.
   100        99% in 0.0170 secs.
   101  
   102      ===== GET stale test =====
   103      GOMAXPROCS=4 boom -n 20480 -c 64 http://localhost:8500/v1/kv/bench?stale
   104      20480 / 20480 Booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo! 100.00 %
   105  
   106      Summary:
   107        Total:	1.8706 secs.
   108        Slowest:	0.0271 secs.
   109        Fastest:	0.0011 secs.
   110        Average:	0.0058 secs.
   111        Requests/sec:	10948.2819
   112        Total Data Received:	2867200 bytes.
   113        Response Size per Request:	140 bytes.
   114  
   115      Status code distribution:
   116        [200]	20480 responses
   117  
   118      Response time histogram:
   119        0.001 [1]	|
   120        0.004 [3383]	|∎∎∎∎∎∎∎∎∎∎∎∎∎
   121        0.006 [10080]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
   122        0.009 [5110]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
   123        0.011 [1227]	|∎∎∎∎
   124        0.014 [427]	|∎
   125        0.017 [141]	|
   126        0.019 [58]	|
   127        0.022 [30]	|
   128        0.025 [14]	|
   129        0.027 [9]	|
   130  
   131      Latency distribution:
   132        10% in 0.0032 secs.
   133        25% in 0.0041 secs.
   134        50% in 0.0054 secs.
   135        75% in 0.0070 secs.
   136        90% in 0.0087 secs.
   137        95% in 0.0103 secs.
   138        99% in 0.0146 secs.
   139  
   140      ===== GET consistent test =====
   141      GOMAXPROCS=4 boom -n 20480 -c 64 http://localhost:8500/v1/kv/bench?consistent
   142      20480 / 20480 Booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo! 100.00 %
   143  
   144      Summary:
   145        Total:	1.9989 secs.
   146        Slowest:	0.0272 secs.
   147        Fastest:	0.0013 secs.
   148        Average:	0.0062 secs.
   149        Requests/sec:	10245.5621
   150        Total Data Received:	2867200 bytes.
   151        Response Size per Request:	140 bytes.
   152  
   153      Status code distribution:
   154        [200]	20480 responses
   155  
   156      Response time histogram:
   157        0.001 [1]	|
   158        0.004 [3176]	|∎∎∎∎∎∎∎∎∎∎∎∎∎
   159        0.006 [9755]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
   160        0.009 [5195]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
   161        0.012 [1505]	|∎∎∎∎∎∎
   162        0.014 [499]	|∎∎
   163        0.017 [186]	|
   164        0.019 [53]	|
   165        0.022 [34]	|
   166        0.025 [36]	|
   167        0.027 [40]	|
   168  
   169      Latency distribution:
   170        10% in 0.0035 secs.
   171        25% in 0.0044 secs.
   172        50% in 0.0057 secs.
   173        75% in 0.0073 secs.
   174        90% in 0.0094 secs.
   175        95% in 0.0111 secs.
   176        99% in 0.0162 secs.
   177