Skip to content

Instantly share code, notes, and snippets.

@kellabyte
Last active August 29, 2015 14:08
Show Gist options
  • Select an option

  • Save kellabyte/db163d97cff860ac4485 to your computer and use it in GitHub Desktop.

Select an option

Save kellabyte/db163d97cff860ac4485 to your computer and use it in GitHub Desktop.

Revisions

  1. kellabyte revised this gist Nov 5, 2014. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -4,7 +4,9 @@ Client and servers are run on independent machines. Each one has the following.
    OS: Ubuntu
    Kernel: 3.14.5-031405
    RAM: 24GB
    CPU: 2 sockets, each socket has a quad core 2.5ghz processor with the following topology.
    CPU: 2 sockets, each socket has a quad core 2.5ghz processor.

    Processor topology:
    https://gist.github.com/kellabyte/8546939

    # HTTP Response
  2. kellabyte revised this gist Nov 5, 2014. 1 changed file with 6 additions and 1 deletion.
    7 changes: 6 additions & 1 deletion h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,10 @@
    # Hardware setup
    Client and servers are run on independent machines. Each one has 24GB of RAM with 2 CPU sockets each with a quad core 2.5ghz processor with the following CPU topology.
    Client and servers are run on independent machines. Each one has the following.

    OS: Ubuntu
    Kernel: 3.14.5-031405
    RAM: 24GB
    CPU: 2 sockets, each socket has a quad core 2.5ghz processor with the following topology.
    https://gist.github.com/kellabyte/8546939

    # HTTP Response
  3. kellabyte revised this gist Nov 5, 2014. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -73,9 +73,9 @@ The HTTP response is identical on both servers so that constructing the response
    Server threads: 8
    Client threads: 8

    -------------------------------------------------------------------------------------------------
    -------------------------------------------------------------------------------------------
    Server | Client conns | pipelined | req/sec | 50% | 75% | 90% | 99% |
    -------------------------------------------------------------------------------------------------
    -------------------------------------------------------------------------------------------
    h2o | 32 | 16 | 164,958 | 3.38ms | 3.65ms | 3.82ms | 5.67ms |
    haywire | 32 | 16 | 157,165 | 727us | 40.67ms | 42.84ms | 42.84ms |
    h2o | 32 | 32 | 173,653 | 1.95ms | 6.96ms | 9.78ms | 40.42ms |
  4. kellabyte revised this gist Nov 5, 2014. 1 changed file with 38 additions and 38 deletions.
    76 changes: 38 additions & 38 deletions h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -55,48 +55,48 @@ The HTTP response is identical on both servers so that constructing the response
    Server threads: 8
    Client threads: 8

    ---------------------------------------------------------------------------------------------
    Server | Client connections | pipelined | req/sec | 50% | 75% | 90% | 99% |
    ---------------------------------------------------------------------------------------------
    h2o | 16 | 0 | 48,653 | 215us | 295us | 383us | 527us |
    haywire | 16 | 0 | 39,298 | 162us | 269us | 1.50ms | 2.90ms |
    h2o | 32 | 0 | 79,309 | 260us | 453us | 681us | 2.41ms |
    haywire | 32 | 0 | 55,075 | 201us | 3.19ms | 3.19ms | 3.61ms |
    h2o | 64 | 0 | 82,358 | 880us | 1.19ms | 1.34ms | 6.09ms |
    haywire | 64 | 0 | 78,220 | 324us | 641us | 1.35ms | 9.14ms |
    h2o | 128 | 0 | 77,003 | 1.40ms | 2.28ms | 2.70ms | 3.25ms |
    haywire | 128 | 0 | 75,579 | 990us | 1.25ms | 2.57ms | 3.22ms |
    h2o | 256 | 0 | 77,427 | 3.16ms | 3.47ms | 3.94ms | 6.46ms |
    haywire | 256 | 0 | 75,669 | 3.49ms | 3.69ms | 3.85ms | 4.06ms |
    ---------------------------------------------------------------------------------------
    Server | Client conns | pipelined | req/sec | 50% | 75% | 90% | 99% |
    ---------------------------------------------------------------------------------------
    h2o | 16 | 0 | 48,653 | 215us | 295us | 383us | 527us |
    haywire | 16 | 0 | 39,298 | 162us | 269us | 1.50ms | 2.90ms |
    h2o | 32 | 0 | 79,309 | 260us | 453us | 681us | 2.41ms |
    haywire | 32 | 0 | 55,075 | 201us | 3.19ms | 3.19ms | 3.61ms |
    h2o | 64 | 0 | 82,358 | 880us | 1.19ms | 1.34ms | 6.09ms |
    haywire | 64 | 0 | 78,220 | 324us | 641us | 1.35ms | 9.14ms |
    h2o | 128 | 0 | 77,003 | 1.40ms | 2.28ms | 2.70ms | 3.25ms |
    haywire | 128 | 0 | 75,579 | 990us | 1.25ms | 2.57ms | 3.22ms |
    h2o | 256 | 0 | 77,427 | 3.16ms | 3.47ms | 3.94ms | 6.46ms |
    haywire | 256 | 0 | 75,669 | 3.49ms | 3.69ms | 3.85ms | 4.06ms |

    # Results keep-alive, pipelined
    Server threads: 8
    Client threads: 8

    -------------------------------------------------------------------------------------------------
    Server | Client connections | pipelined | req/sec | 50% | 75% | 90% | 99% |
    Server | Client conns | pipelined | req/sec | 50% | 75% | 90% | 99% |
    -------------------------------------------------------------------------------------------------
    h2o | 32 | 16 | 164,958 | 3.38ms | 3.65ms | 3.82ms | 5.67ms |
    haywire | 32 | 16 | 157,165 | 727us | 40.67ms | 42.84ms | 42.84ms |
    h2o | 32 | 32 | 173,653 | 1.95ms | 6.96ms | 9.78ms | 40.42ms |
    haywire | 32 | 32 | 198,415 | 2.30ms | 41.67ms | 44.80ms | 45.17ms |
    h2o | 32 | 64 | 181,412 | 15.45ms | 16.88ms | 18.79ms | 19.41ms |
    haywire | 32 | 64 | 340,526 | 3.10ms | 40.91ms | 42.18ms | 46.19ms |
    h2o | 32 | 128 | 260,223 | 22.28ms | 24.53ms | 25.21ms | 27.53ms |
    haywire | 32 | 128 | 410,503 | 5.09ms | 10.92ms | 41.56ms | 41.79ms |
    h2o | 32 | 256 | 251,687 | 28.44ms | 53.99ms | 74.39ms | 75.34ms |
    haywire | 32 | 256 | 443,995 | 10.85ms | 12.72ms | 14.74ms | 17.76ms |
    h2o | 32 | 512 | 329,333 | 43.64ms | 78.43ms | 100.38ms | 165.28ms |
    haywire | 32 | 512 | 376,934 | 26.15ms | 28.94ms | 31.95ms | 41.67ms |
    h2o | 64 | 16 | 155,646 | 6.18ms | 8.65ms | 9.54ms | 10.02ms |
    haywire | 64 | 16 | 196,189 | 1.86ms | 42.56ms | 43.25ms | 43.38ms |
    h2o | 64 | 32 | 284,971 | 8.40ms | 10.07ms | 11.19ms | 16.32ms |
    haywire | 64 | 32 | 276,116 | 2.65ms | 43.16ms | 44.72ms | 45.28ms |
    h2o | 64 | 64 | 243,008 | 18.21ms | 18.88ms | 20.46ms | 22.80ms |
    haywire | 64 | 64 | 466,975 | 4.72ms | 6.40ms | 7.50ms | 41.63ms |
    h2o | 64 | 128 | 258,228 | 32.38ms | 35.69ms | 56.98ms | 62.69ms |
    haywire | 64 | 128 | 467,545 | 9.94ms | 13.13ms | 14.25ms | 16.08ms |
    h2o | 64 | 256 | 282,101 | 72.19ms | 75.03ms | 77.65ms | 78.46ms |
    haywire | 64 | 256 | 439,584 | 26.60ms | 29.73ms | 32.81ms | 35.82ms |
    h2o | 64 | 512 | 340,518 | 115.21ms | 177.32ms | 184.43ms | 226.76ms |
    haywire | 64 | 512 | 332,847 | 40.73ms | 66.06ms | 95.12ms | 274.79ms |
    h2o | 32 | 16 | 164,958 | 3.38ms | 3.65ms | 3.82ms | 5.67ms |
    haywire | 32 | 16 | 157,165 | 727us | 40.67ms | 42.84ms | 42.84ms |
    h2o | 32 | 32 | 173,653 | 1.95ms | 6.96ms | 9.78ms | 40.42ms |
    haywire | 32 | 32 | 198,415 | 2.30ms | 41.67ms | 44.80ms | 45.17ms |
    h2o | 32 | 64 | 181,412 | 15.45ms | 16.88ms | 18.79ms | 19.41ms |
    haywire | 32 | 64 | 340,526 | 3.10ms | 40.91ms | 42.18ms | 46.19ms |
    h2o | 32 | 128 | 260,223 | 22.28ms | 24.53ms | 25.21ms | 27.53ms |
    haywire | 32 | 128 | 410,503 | 5.09ms | 10.92ms | 41.56ms | 41.79ms |
    h2o | 32 | 256 | 251,687 | 28.44ms | 53.99ms | 74.39ms | 75.34ms |
    haywire | 32 | 256 | 443,995 | 10.85ms | 12.72ms | 14.74ms | 17.76ms |
    h2o | 32 | 512 | 329,333 | 43.64ms | 78.43ms | 100.38ms | 165.28ms |
    haywire | 32 | 512 | 376,934 | 26.15ms | 28.94ms | 31.95ms | 41.67ms |
    h2o | 64 | 16 | 155,646 | 6.18ms | 8.65ms | 9.54ms | 10.02ms |
    haywire | 64 | 16 | 196,189 | 1.86ms | 42.56ms | 43.25ms | 43.38ms |
    h2o | 64 | 32 | 284,971 | 8.40ms | 10.07ms | 11.19ms | 16.32ms |
    haywire | 64 | 32 | 276,116 | 2.65ms | 43.16ms | 44.72ms | 45.28ms |
    h2o | 64 | 64 | 243,008 | 18.21ms | 18.88ms | 20.46ms | 22.80ms |
    haywire | 64 | 64 | 466,975 | 4.72ms | 6.40ms | 7.50ms | 41.63ms |
    h2o | 64 | 128 | 258,228 | 32.38ms | 35.69ms | 56.98ms | 62.69ms |
    haywire | 64 | 128 | 467,545 | 9.94ms | 13.13ms | 14.25ms | 16.08ms |
    h2o | 64 | 256 | 282,101 | 72.19ms | 75.03ms | 77.65ms | 78.46ms |
    haywire | 64 | 256 | 439,584 | 26.60ms | 29.73ms | 32.81ms | 35.82ms |
    h2o | 64 | 512 | 340,518 | 115.21ms | 177.32ms | 184.43ms | 226.76ms |
    haywire | 64 | 512 | 332,847 | 40.73ms | 66.06ms | 95.12ms | 274.79ms |
  5. kellabyte revised this gist Nov 5, 2014. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -73,9 +73,9 @@ The HTTP response is identical on both servers so that constructing the response
    Server threads: 8
    Client threads: 8

    ---------------------------------------------------------------------------------------------------------------------------------
    -------------------------------------------------------------------------------------------------
    Server | Client connections | pipelined | req/sec | 50% | 75% | 90% | 99% |
    ---------------------------------------------------------------------------------------------------------------------------------
    -------------------------------------------------------------------------------------------------
    h2o | 32 | 16 | 164,958 | 3.38ms | 3.65ms | 3.82ms | 5.67ms |
    haywire | 32 | 16 | 157,165 | 727us | 40.67ms | 42.84ms | 42.84ms |
    h2o | 32 | 32 | 173,653 | 1.95ms | 6.96ms | 9.78ms | 40.42ms |
  6. kellabyte revised this gist Nov 5, 2014. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -88,7 +88,6 @@ The HTTP response is identical on both servers so that constructing the response
    haywire | 32 | 256 | 443,995 | 10.85ms | 12.72ms | 14.74ms | 17.76ms |
    h2o | 32 | 512 | 329,333 | 43.64ms | 78.43ms | 100.38ms | 165.28ms |
    haywire | 32 | 512 | 376,934 | 26.15ms | 28.94ms | 31.95ms | 41.67ms |

    h2o | 64 | 16 | 155,646 | 6.18ms | 8.65ms | 9.54ms | 10.02ms |
    haywire | 64 | 16 | 196,189 | 1.86ms | 42.56ms | 43.25ms | 43.38ms |
    h2o | 64 | 32 | 284,971 | 8.40ms | 10.07ms | 11.19ms | 16.32ms |
  7. kellabyte revised this gist Nov 5, 2014. 1 changed file with 25 additions and 13 deletions.
    38 changes: 25 additions & 13 deletions h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -74,18 +74,30 @@ The HTTP response is identical on both servers so that constructing the response
    Client threads: 8

    ---------------------------------------------------------------------------------------------------------------------------------
    Server | Client connections | pipelined | req/sec | 50% | 75% | 90% | 99% |
    Server | Client connections | pipelined | req/sec | 50% | 75% | 90% | 99% |
    ---------------------------------------------------------------------------------------------------------------------------------
    h2o | 32 | 16 | 164,958 | 3.38ms | 3.65ms | 3.82ms | 5.67ms |
    haywire | 32 | 16 | 157,165 | 727us | 40.67ms | 42.84ms | 42.84ms |
    h2o | 32 | 32 | 173,653 | 1.95ms | 6.96ms | 9.78ms | 40.42ms |
    haywire | 32 | 32 | 198,415 | 2.30ms | 41.67ms | 44.80ms | 45.17ms |
    h2o | 32 | 64 | 181,412 | 15.45ms | 16.88ms | 18.79ms | 19.41ms |
    haywire | 32 | 64 | 340,526 | 3.10ms | 40.91ms | 42.18ms | 46.19ms |
    h2o | 32 | 128 | 260,223 | 22.28ms | 24.53ms | 25.21ms | 27.53ms |
    haywire | 32 | 128 | 410,503 | 5.09ms | 10.92ms | 41.56ms | 41.79ms |
    h2o | 32 | 256 | 251,687 | 28.44ms | 53.99ms | 74.39ms | 75.34ms |
    haywire | 32 | 256 | 443,995 | 10.85ms | 12.72ms | 14.74ms | 17.76ms |
    h2o | 32 | 512 | 329,333 | 43.64ms | 78.43ms | 100.38ms | 165.28ms |
    haywire | 32 | 512 | 376,934 | 26.15ms | 28.94ms | 31.95ms | 41.67ms |
    h2o | 32 | 16 | 164,958 | 3.38ms | 3.65ms | 3.82ms | 5.67ms |
    haywire | 32 | 16 | 157,165 | 727us | 40.67ms | 42.84ms | 42.84ms |
    h2o | 32 | 32 | 173,653 | 1.95ms | 6.96ms | 9.78ms | 40.42ms |
    haywire | 32 | 32 | 198,415 | 2.30ms | 41.67ms | 44.80ms | 45.17ms |
    h2o | 32 | 64 | 181,412 | 15.45ms | 16.88ms | 18.79ms | 19.41ms |
    haywire | 32 | 64 | 340,526 | 3.10ms | 40.91ms | 42.18ms | 46.19ms |
    h2o | 32 | 128 | 260,223 | 22.28ms | 24.53ms | 25.21ms | 27.53ms |
    haywire | 32 | 128 | 410,503 | 5.09ms | 10.92ms | 41.56ms | 41.79ms |
    h2o | 32 | 256 | 251,687 | 28.44ms | 53.99ms | 74.39ms | 75.34ms |
    haywire | 32 | 256 | 443,995 | 10.85ms | 12.72ms | 14.74ms | 17.76ms |
    h2o | 32 | 512 | 329,333 | 43.64ms | 78.43ms | 100.38ms | 165.28ms |
    haywire | 32 | 512 | 376,934 | 26.15ms | 28.94ms | 31.95ms | 41.67ms |

    h2o | 64 | 16 | 155,646 | 6.18ms | 8.65ms | 9.54ms | 10.02ms |
    haywire | 64 | 16 | 196,189 | 1.86ms | 42.56ms | 43.25ms | 43.38ms |
    h2o | 64 | 32 | 284,971 | 8.40ms | 10.07ms | 11.19ms | 16.32ms |
    haywire | 64 | 32 | 276,116 | 2.65ms | 43.16ms | 44.72ms | 45.28ms |
    h2o | 64 | 64 | 243,008 | 18.21ms | 18.88ms | 20.46ms | 22.80ms |
    haywire | 64 | 64 | 466,975 | 4.72ms | 6.40ms | 7.50ms | 41.63ms |
    h2o | 64 | 128 | 258,228 | 32.38ms | 35.69ms | 56.98ms | 62.69ms |
    haywire | 64 | 128 | 467,545 | 9.94ms | 13.13ms | 14.25ms | 16.08ms |
    h2o | 64 | 256 | 282,101 | 72.19ms | 75.03ms | 77.65ms | 78.46ms |
    haywire | 64 | 256 | 439,584 | 26.60ms | 29.73ms | 32.81ms | 35.82ms |
    h2o | 64 | 512 | 340,518 | 115.21ms | 177.32ms | 184.43ms | 226.76ms |
    haywire | 64 | 512 | 332,847 | 40.73ms | 66.06ms | 95.12ms | 274.79ms |
  8. kellabyte revised this gist Nov 5, 2014. 1 changed file with 16 additions and 13 deletions.
    29 changes: 16 additions & 13 deletions h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -70,19 +70,22 @@ The HTTP response is identical on both servers so that constructing the response
    haywire | 256 | 0 | 75,669 | 3.49ms | 3.69ms | 3.85ms | 4.06ms |

    # Results keep-alive, pipelined
    Server threads: 8
    Client threads: 8

    ---------------------------------------------------------------------------------------------------------------------------------
    Server | Server threads | Client threads | Client connections | pipelined | req/sec | 50% | 75% | 90% | 99% |
    Server | Client connections | pipelined | req/sec | 50% | 75% | 90% | 99% |
    ---------------------------------------------------------------------------------------------------------------------------------
    h2o | 8 | 8 | 32 | 16 | 164,958 | 3.38ms | 3.65ms | 3.82ms | 5.67ms |
    haywire | 8 | 8 | 32 | 16 | 157,165 | 727us | 40.67ms | 42.84ms | 42.84ms |
    h2o | 8 | 8 | 32 | 32 | 173,653 | 1.95ms | 6.96ms | 9.78ms | 40.42ms |
    haywire | 8 | 8 | 32 | 32 | 198,415 | 2.30ms | 41.67ms | 44.80ms | 45.17ms |
    h2o | 8 | 8 | 32 | 64 | 181,412 | 15.45ms | 16.88ms | 18.79ms | 19.41ms |
    haywire | 8 | 8 | 32 | 64 | 340,526 | 3.10ms | 40.91ms | 42.18ms | 46.19ms |
    h2o | 8 | 8 | 32 | 128 | 260,223 | 22.28ms | 24.53ms | 25.21ms | 27.53ms |
    haywire | 8 | 8 | 32 | 128 | 410,503 | 5.09ms | 10.92ms | 41.56ms | 41.79ms |
    h2o | 8 | 8 | 32 | 256 | 251,687 | 28.44ms | 53.99ms | 74.39ms | 75.34ms |
    haywire | 8 | 8 | 32 | 256 | 443,995 | 10.85ms | 12.72ms | 14.74ms | 17.76ms |
    h2o | 8 | 8 | 32 | 512 | 329,333 | 43.64ms | 78.43ms | 100.38ms | 165.28ms |
    haywire | 8 | 8 | 32 | 512 | 376,934 | 26.15ms | 28.94ms | 31.95ms | 41.67ms |
    h2o | 32 | 16 | 164,958 | 3.38ms | 3.65ms | 3.82ms | 5.67ms |
    haywire | 32 | 16 | 157,165 | 727us | 40.67ms | 42.84ms | 42.84ms |
    h2o | 32 | 32 | 173,653 | 1.95ms | 6.96ms | 9.78ms | 40.42ms |
    haywire | 32 | 32 | 198,415 | 2.30ms | 41.67ms | 44.80ms | 45.17ms |
    h2o | 32 | 64 | 181,412 | 15.45ms | 16.88ms | 18.79ms | 19.41ms |
    haywire | 32 | 64 | 340,526 | 3.10ms | 40.91ms | 42.18ms | 46.19ms |
    h2o | 32 | 128 | 260,223 | 22.28ms | 24.53ms | 25.21ms | 27.53ms |
    haywire | 32 | 128 | 410,503 | 5.09ms | 10.92ms | 41.56ms | 41.79ms |
    h2o | 32 | 256 | 251,687 | 28.44ms | 53.99ms | 74.39ms | 75.34ms |
    haywire | 32 | 256 | 443,995 | 10.85ms | 12.72ms | 14.74ms | 17.76ms |
    h2o | 32 | 512 | 329,333 | 43.64ms | 78.43ms | 100.38ms | 165.28ms |
    haywire | 32 | 512 | 376,934 | 26.15ms | 28.94ms | 31.95ms | 41.67ms |

  9. kellabyte revised this gist Nov 5, 2014. 1 changed file with 16 additions and 13 deletions.
    29 changes: 16 additions & 13 deletions h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -52,19 +52,22 @@ The HTTP response is identical on both servers so that constructing the response
    * Connection #0 to host server left intact

    # Results keep-alive, not pipelined
    -------------------------------------------------------------------------------------------------------------------------------
    Server | Server threads | Client threads | Client connections | pipelined | req/sec | 50% | 75% | 90% | 99% |
    -------------------------------------------------------------------------------------------------------------------------------
    h2o | 8 | 8 | 16 | 0 | 48,653 | 215us | 295us | 383us | 527us |
    haywire | 8 | 8 | 16 | 0 | 39,298 | 162us | 269us | 1.50ms | 2.90ms |
    h2o | 8 | 8 | 32 | 0 | 79,309 | 260us | 453us | 681us | 2.41ms |
    haywire | 8 | 8 | 32 | 0 | 55,075 | 201us | 3.19ms | 3.19ms | 3.61ms |
    h2o | 8 | 8 | 64 | 0 | 82,358 | 880us | 1.19ms | 1.34ms | 6.09ms |
    haywire | 8 | 8 | 64 | 0 | 78,220 | 324us | 641us | 1.35ms | 9.14ms |
    h2o | 8 | 8 | 128 | 0 | 77,003 | 1.40ms | 2.28ms | 2.70ms | 3.25ms |
    haywire | 8 | 8 | 128 | 0 | 75,579 | 990us | 1.25ms | 2.57ms | 3.22ms |
    h2o | 8 | 8 | 256 | 0 | 77,427 | 3.16ms | 3.47ms | 3.94ms | 6.46ms |
    haywire | 8 | 8 | 256 | 0 | 75,669 | 3.49ms | 3.69ms | 3.85ms | 4.06ms |
    Server threads: 8
    Client threads: 8

    ---------------------------------------------------------------------------------------------
    Server | Client connections | pipelined | req/sec | 50% | 75% | 90% | 99% |
    ---------------------------------------------------------------------------------------------
    h2o | 16 | 0 | 48,653 | 215us | 295us | 383us | 527us |
    haywire | 16 | 0 | 39,298 | 162us | 269us | 1.50ms | 2.90ms |
    h2o | 32 | 0 | 79,309 | 260us | 453us | 681us | 2.41ms |
    haywire | 32 | 0 | 55,075 | 201us | 3.19ms | 3.19ms | 3.61ms |
    h2o | 64 | 0 | 82,358 | 880us | 1.19ms | 1.34ms | 6.09ms |
    haywire | 64 | 0 | 78,220 | 324us | 641us | 1.35ms | 9.14ms |
    h2o | 128 | 0 | 77,003 | 1.40ms | 2.28ms | 2.70ms | 3.25ms |
    haywire | 128 | 0 | 75,579 | 990us | 1.25ms | 2.57ms | 3.22ms |
    h2o | 256 | 0 | 77,427 | 3.16ms | 3.47ms | 3.94ms | 6.46ms |
    haywire | 256 | 0 | 75,669 | 3.49ms | 3.69ms | 3.85ms | 4.06ms |

    # Results keep-alive, pipelined
    ---------------------------------------------------------------------------------------------------------------------------------
  10. kellabyte revised this gist Nov 5, 2014. 1 changed file with 32 additions and 2 deletions.
    34 changes: 32 additions & 2 deletions h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -51,5 +51,35 @@ The HTTP response is identical on both servers so that constructing the response
    It works!
    * Connection #0 to host server left intact

    # Results
    HTTP Server threads
    # Results keep-alive, not pipelined
    -------------------------------------------------------------------------------------------------------------------------------
    Server | Server threads | Client threads | Client connections | pipelined | req/sec | 50% | 75% | 90% | 99% |
    -------------------------------------------------------------------------------------------------------------------------------
    h2o | 8 | 8 | 16 | 0 | 48,653 | 215us | 295us | 383us | 527us |
    haywire | 8 | 8 | 16 | 0 | 39,298 | 162us | 269us | 1.50ms | 2.90ms |
    h2o | 8 | 8 | 32 | 0 | 79,309 | 260us | 453us | 681us | 2.41ms |
    haywire | 8 | 8 | 32 | 0 | 55,075 | 201us | 3.19ms | 3.19ms | 3.61ms |
    h2o | 8 | 8 | 64 | 0 | 82,358 | 880us | 1.19ms | 1.34ms | 6.09ms |
    haywire | 8 | 8 | 64 | 0 | 78,220 | 324us | 641us | 1.35ms | 9.14ms |
    h2o | 8 | 8 | 128 | 0 | 77,003 | 1.40ms | 2.28ms | 2.70ms | 3.25ms |
    haywire | 8 | 8 | 128 | 0 | 75,579 | 990us | 1.25ms | 2.57ms | 3.22ms |
    h2o | 8 | 8 | 256 | 0 | 77,427 | 3.16ms | 3.47ms | 3.94ms | 6.46ms |
    haywire | 8 | 8 | 256 | 0 | 75,669 | 3.49ms | 3.69ms | 3.85ms | 4.06ms |

    # Results keep-alive, pipelined
    ---------------------------------------------------------------------------------------------------------------------------------
    Server | Server threads | Client threads | Client connections | pipelined | req/sec | 50% | 75% | 90% | 99% |
    ---------------------------------------------------------------------------------------------------------------------------------
    h2o | 8 | 8 | 32 | 16 | 164,958 | 3.38ms | 3.65ms | 3.82ms | 5.67ms |
    haywire | 8 | 8 | 32 | 16 | 157,165 | 727us | 40.67ms | 42.84ms | 42.84ms |
    h2o | 8 | 8 | 32 | 32 | 173,653 | 1.95ms | 6.96ms | 9.78ms | 40.42ms |
    haywire | 8 | 8 | 32 | 32 | 198,415 | 2.30ms | 41.67ms | 44.80ms | 45.17ms |
    h2o | 8 | 8 | 32 | 64 | 181,412 | 15.45ms | 16.88ms | 18.79ms | 19.41ms |
    haywire | 8 | 8 | 32 | 64 | 340,526 | 3.10ms | 40.91ms | 42.18ms | 46.19ms |
    h2o | 8 | 8 | 32 | 128 | 260,223 | 22.28ms | 24.53ms | 25.21ms | 27.53ms |
    haywire | 8 | 8 | 32 | 128 | 410,503 | 5.09ms | 10.92ms | 41.56ms | 41.79ms |
    h2o | 8 | 8 | 32 | 256 | 251,687 | 28.44ms | 53.99ms | 74.39ms | 75.34ms |
    haywire | 8 | 8 | 32 | 256 | 443,995 | 10.85ms | 12.72ms | 14.74ms | 17.76ms |
    h2o | 8 | 8 | 32 | 512 | 329,333 | 43.64ms | 78.43ms | 100.38ms | 165.28ms |
    haywire | 8 | 8 | 32 | 512 | 376,934 | 26.15ms | 28.94ms | 31.95ms | 41.67ms |

  11. kellabyte revised this gist Nov 5, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    # Hardware setup
    Client and servers are run on independent machines. Each one has the following hardware.
    Client and servers are run on independent machines. Each one has 24GB of RAM with 2 CPU sockets each with a quad core 2.5ghz processor with the following CPU topology.
    https://gist.github.com/kellabyte/8546939

    # HTTP Response
  12. kellabyte revised this gist Nov 5, 2014. 1 changed file with 8 additions and 1 deletion.
    9 changes: 8 additions & 1 deletion h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,7 @@
    # Hardware setup
    Client and servers are run on independent machines. Each one has the following hardware.
    https://gist.github.com/kellabyte/8546939

    # HTTP Response
    The HTTP response is identical on both servers so that constructing the response is equal on both.

    @@ -45,4 +49,7 @@ The HTTP response is identical on both servers so that constructing the response
    < Content-Length: 12
    <
    It works!
    * Connection #0 to host server left intact
    * Connection #0 to host server left intact

    # Results
    HTTP Server threads
  13. kellabyte revised this gist Nov 5, 2014. 1 changed file with 8 additions and 8 deletions.
    16 changes: 8 additions & 8 deletions h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -4,11 +4,11 @@ The HTTP response is identical on both servers so that constructing the response
    ### h2o
    curl -v http://server:8080/
    * Hostname was NOT found in DNS cache
    * Trying 192.168.0.14...
    * Connected to 192.168.0.14 (192.168.0.14) port 8080 (#0)
    * Trying server...
    * Connected to server (server) port 8080 (#0)
    > GET / HTTP/1.1
    > User-Agent: curl/7.35.0
    > Host: 192.168.0.14:8080
    > Host: server:8080
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    @@ -22,16 +22,16 @@ The HTTP response is identical on both servers so that constructing the response
    < etag: "545922f2-a"
    <
    It works!
    * Connection #0 to host 192.168.0.14 left intact
    * Connection #0 to host server left intact

    ### Haywire
    curl -v http://server:8000/
    * Hostname was NOT found in DNS cache
    * Trying 192.168.0.14...
    * Connected to 192.168.0.14 (192.168.0.14) port 8000 (#0)
    * Trying server...
    * Connected to server (server) port 8000 (#0)
    > GET / HTTP/1.1
    > User-Agent: curl/7.35.0
    > Host: 192.168.0.14:8000
    > Host: server:8000
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    @@ -45,4 +45,4 @@ The HTTP response is identical on both servers so that constructing the response
    < Content-Length: 12
    <
    It works!
    * Connection #0 to host 192.168.0.14 left intact
    * Connection #0 to host server left intact
  14. kellabyte revised this gist Nov 5, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -25,7 +25,7 @@ The HTTP response is identical on both servers so that constructing the response
    * Connection #0 to host 192.168.0.14 left intact

    ### Haywire
    curl -v http://192.168.0.14:8000/
    curl -v http://server:8000/
    * Hostname was NOT found in DNS cache
    * Trying 192.168.0.14...
    * Connected to 192.168.0.14 (192.168.0.14) port 8000 (#0)
  15. kellabyte revised this gist Nov 5, 2014. 1 changed file with 24 additions and 1 deletion.
    25 changes: 24 additions & 1 deletion h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    # HTTP Response
    The HTTP response is identical on both servers so that constructing the response is equal on both.


    ### h2o
    curl -v http://server:8080/
    * Hostname was NOT found in DNS cache
    * Trying 192.168.0.14...
    @@ -23,3 +23,26 @@ The HTTP response is identical on both servers so that constructing the response
    <
    It works!
    * Connection #0 to host 192.168.0.14 left intact

    ### Haywire
    curl -v http://192.168.0.14:8000/
    * Hostname was NOT found in DNS cache
    * Trying 192.168.0.14...
    * Connected to 192.168.0.14 (192.168.0.14) port 8000 (#0)
    > GET / HTTP/1.1
    > User-Agent: curl/7.35.0
    > Host: 192.168.0.14:8000
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    * Server Haywire/master is not blacklisted
    < Server: Haywire/master
    < Date: Fri, 31 Aug 2011 00:31:53 GMT
    < Content-Type: text/html
    < Connection: Keep-Alive
    < Last-Modified: Tue, 04 Nov 2014 19:03:14 GMT
    < etag: 545922f2-a
    < Content-Length: 12
    <
    It works!
    * Connection #0 to host 192.168.0.14 left intact
  16. kellabyte revised this gist Nov 5, 2014. 1 changed file with 22 additions and 23 deletions.
    45 changes: 22 additions & 23 deletions h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -1,26 +1,25 @@
    # HTTP Response
    The HTTP response is identical on both servers so that constructing the response is equal on both.

    ``
    curl -v http://192.168.0.14:8080/
    * Hostname was NOT found in DNS cache
    * Trying 192.168.0.14...
    * Connected to 192.168.0.14 (192.168.0.14) port 8080 (#0)
    > GET / HTTP/1.1
    > User-Agent: curl/7.35.0
    > Host: 192.168.0.14:8080
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    < date: Wed, 05 Nov 2014 14:36:11 GMT
    * Server h2o/0.1 is not blacklisted
    < server: h2o/0.1
    < connection: keep-alive
    < content-length: 10
    < content-type: text/html
    < last-modified: Tue, 04 Nov 2014 19:03:14 GMT
    < etag: "545922f2-a"
    <
    It works!
    * Connection #0 to host 192.168.0.14 left intact
    ``

    curl -v http://server:8080/
    * Hostname was NOT found in DNS cache
    * Trying 192.168.0.14...
    * Connected to 192.168.0.14 (192.168.0.14) port 8080 (#0)
    > GET / HTTP/1.1
    > User-Agent: curl/7.35.0
    > Host: 192.168.0.14:8080
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    < date: Wed, 05 Nov 2014 14:36:11 GMT
    * Server h2o/0.1 is not blacklisted
    < server: h2o/0.1
    < connection: keep-alive
    < content-length: 10
    < content-type: text/html
    < last-modified: Tue, 04 Nov 2014 19:03:14 GMT
    < etag: "545922f2-a"
    <
    It works!
    * Connection #0 to host 192.168.0.14 left intact
  17. kellabyte created this gist Nov 5, 2014.
    26 changes: 26 additions & 0 deletions h2o_vs_haywire.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,26 @@
    # HTTP Response
    The HTTP response is identical on both servers so that constructing the response is equal on both.

    ``
    curl -v http://192.168.0.14:8080/
    * Hostname was NOT found in DNS cache
    * Trying 192.168.0.14...
    * Connected to 192.168.0.14 (192.168.0.14) port 8080 (#0)
    > GET / HTTP/1.1
    > User-Agent: curl/7.35.0
    > Host: 192.168.0.14:8080
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    < date: Wed, 05 Nov 2014 14:36:11 GMT
    * Server h2o/0.1 is not blacklisted
    < server: h2o/0.1
    < connection: keep-alive
    < content-length: 10
    < content-type: text/html
    < last-modified: Tue, 04 Nov 2014 19:03:14 GMT
    < etag: "545922f2-a"
    <
    It works!
    * Connection #0 to host 192.168.0.14 left intact
    ``