github.com/marwan-at-work/consul@v1.4.5/bench/results-0.2.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 Booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo! 100.00 %
    29  
    30      Summary:
    31        Total:	19.4302 secs.
    32        Slowest:	0.1715 secs.
    33        Fastest:	0.0157 secs.
    34        Average:	0.0606 secs.
    35        Requests/sec:	1054.0313
    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.016 [1]	|
    44        0.031 [233]	|∎
    45        0.047 [4120]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
    46        0.062 [8079]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
    47        0.078 [5082]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
    48        0.094 [2045]	|∎∎∎∎∎∎∎∎∎∎
    49        0.109 [656]	|∎∎∎
    50        0.125 [200]	|
    51        0.140 [12]	|
    52        0.156 [31]	|
    53        0.172 [21]	|
    54  
    55      Latency distribution:
    56        10% in 0.0416 secs.
    57        25% in 0.0484 secs.
    58        50% in 0.0579 secs.
    59        75% in 0.0697 secs.
    60        90% in 0.0835 secs.
    61        95% in 0.0919 secs.
    62        99% in 0.1113 secs.
    63  
    64      ===== GET default test =====
    65      GOMAXPROCS=4 boom -n 20480 -c 64 http://localhost:8500/v1/kv/bench
    66      20480 / 20480 Booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo! 100.00 %
    67  
    68      Summary:
    69        Total:	9.6804 secs.
    70        Slowest:	0.0830 secs.
    71        Fastest:	0.0023 secs.
    72        Average:	0.0302 secs.
    73        Requests/sec:	2115.6096
    74        Total Data Received:	2560000 bytes.
    75        Response Size per Request:	125 bytes.
    76  
    77      Status code distribution:
    78        [200]	20480 responses
    79  
    80      Response time histogram:
    81        0.002 [1]	|
    82        0.010 [143]	|
    83        0.018 [1666]	|∎∎∎∎∎∎∎∎∎
    84        0.026 [6009]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
    85        0.035 [6732]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
    86        0.043 [3857]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
    87        0.051 [1389]	|∎∎∎∎∎∎∎∎
    88        0.059 [459]	|∎∎
    89        0.067 [154]	|
    90        0.075 [53]	|
    91        0.083 [17]	|
    92  
    93      Latency distribution:
    94        10% in 0.0189 secs.
    95        25% in 0.0233 secs.
    96        50% in 0.0291 secs.
    97        75% in 0.0358 secs.
    98        90% in 0.0427 secs.
    99        95% in 0.0476 secs.
   100        99% in 0.0597 secs.
   101  
   102      ===== GET stale test =====
   103      GOMAXPROCS=4 boom -n 20480 -c 64 http://localhost:8500/v1/kv/bench?stale
   104      20480 / 20480 Booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo! 100.00 %
   105  
   106      Summary:
   107        Total:	10.3082 secs.
   108        Slowest:	0.0972 secs.
   109        Fastest:	0.0015 secs.
   110        Average:	0.0322 secs.
   111        Requests/sec:	1986.7714
   112        Total Data Received:	2560000 bytes.
   113        Response Size per Request:	125 bytes.
   114  
   115      Status code distribution:
   116        [200]	20480 responses
   117  
   118      Response time histogram:
   119        0.002 [1]	|
   120        0.011 [320]	|∎
   121        0.021 [2558]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎
   122        0.030 [6247]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
   123        0.040 [6895]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
   124        0.049 [3174]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
   125        0.059 [971]	|∎∎∎∎∎
   126        0.068 [249]	|∎
   127        0.078 [52]	|
   128        0.088 [11]	|
   129        0.097 [2]	|
   130  
   131      Latency distribution:
   132        10% in 0.0187 secs.
   133        25% in 0.0246 secs.
   134        50% in 0.0317 secs.
   135        75% in 0.0387 secs.
   136        90% in 0.0461 secs.
   137        95% in 0.0511 secs.
   138        99% in 0.0618 secs.
   139  
   140      ===== GET consistent test =====
   141      GOMAXPROCS=4 boom -n 20480 -c 64 http://localhost:8500/v1/kv/bench?consistent
   142      20480 / 20480 Booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo! 100.00 %
   143  
   144      Summary:
   145        Total:	10.4835 secs.
   146        Slowest:	0.0991 secs.
   147        Fastest:	0.0024 secs.
   148        Average:	0.0327 secs.
   149        Requests/sec:	1953.5549
   150        Total Data Received:	2560000 bytes.
   151        Response Size per Request:	125 bytes.
   152  
   153      Status code distribution:
   154        [200]	20480 responses
   155  
   156      Response time histogram:
   157        0.002 [1]	|
   158        0.012 [137]	|
   159        0.022 [2405]	|∎∎∎∎∎∎∎∎∎∎∎∎
   160        0.031 [7754]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
   161        0.041 [6382]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
   162        0.051 [2629]	|∎∎∎∎∎∎∎∎∎∎∎∎∎
   163        0.060 [826]	|∎∎∎∎
   164        0.070 [245]	|∎
   165        0.080 [81]	|
   166        0.089 [17]	|
   167        0.099 [3]	|
   168  
   169      Latency distribution:
   170        10% in 0.0208 secs.
   171        25% in 0.0254 secs.
   172        50% in 0.0314 secs.
   173        75% in 0.0384 secs.
   174        90% in 0.0463 secs.
   175        95% in 0.0518 secs.
   176        99% in 0.0645 secs.
   177