Skip to content
alsonkemp edited this page Sep 13, 2010 · 1 revision

Turbinado is written in Haskell, so has the speed of an application framework written in a compiled language. In order to test the relative performance, Turbinado is compared to Apache and Ruby On Rails.All tests were conducted with the following command against a 1.5GHz Pentium-M ThinkPad T40 running Debian Unstable.
Dynamic Content

Updated

Running on different hardware than below. Test is from here. Eeewwww! Still lots faster than Rails, but slowing down… Static performance ratios look about the same, so something is going on with dynamic processing.

Turbinado

  Concurrency Level:      10
  Time taken for tests:   3.281 seconds
  Complete requests:      1000
  Failed requests:        0
  Write errors:           0
  Non-2xx responses:      1000
  Total transferred:      550000 bytes
  HTML transferred:       162000 bytes
  Requests per second:    304.77 [#/sec] (mean)
  Time per request:       32.812 [ms] (mean)
  Time per request:       3.281 [ms] (mean, across all concurrent requests)
  Transfer rate:          163.69 [Kbytes/sec] received

Rails

  Concurrency Level:      10
  Time taken for tests:   10.768 seconds
  Complete requests:      1000
  Failed requests:        0
  Write errors:           0
  Total transferred:      1333000 bytes
  HTML transferred:       870000 bytes
  Requests per second:    92.87 [#/sec] (mean)
  Time per request:       107.678 [ms] (mean)
  Time per request:       10.768 [ms] (mean, across all concurrent requests)
  Transfer rate:          120.89 [Kbytes/sec] received

The following command was used for the static test:


sudo ab -n 1000 -c 10 http://localhost/welcome/hello (or /Home/Hello)

Turbinado – (Simple) Dynamic Content – LogLevel ERROR

  Concurrency Level:      10
  Time taken for tests:   0.9153653 seconds
  Complete requests:      1000
  Failed requests:        0
  Write errors:           0
  Total transferred:      164000 bytes
  HTML transferred:       11000 bytes
  Requests per second:    1092.46 [#/sec] (mean)
  Time per request:       9.154 [ms] (mean)
  Time per request:       0.915 [ms] (mean, across all concurrent requests)
  Transfer rate:          174.90 [Kbytes/sec] received

Ruby On Rails – Dynamic Content – Mongrel

  Concurrency Level:      10
  Time taken for tests:   5.956132 seconds
  Complete requests:      1000
  Failed requests:        0
  Write errors:           0
  Total transferred:      470000 bytes
  HTML transferred:       12000 bytes
  Requests per second:    167.89 [#/sec] (mean)
  Time per request:       59.561 [ms] (mean)
  Time per request:       5.956 [ms] (mean, across all concurrent requests)
  Transfer rate:          76.90 [Kbytes/sec] received

Static Content

The following command was used for the static test:


sudo ab -n 10000 -c 10 http://localhost/images/1×1.gif

Turbinado – Static Content – LogLevel ERROR

  Concurrency Level:      10
  Time taken for tests:   6.78643 seconds
  Complete requests:      10000
  Failed requests:        0
  Write errors:           0
  Total transferred:      1600000 bytes
  HTML transferred:       350000 bytes
  Requests per second:    1645.10 [#/sec] (mean)
  Time per request:       6.079 [ms] (mean)
  Time per request:       0.608 [ms] (mean, across all concurrent requests)
  Transfer rate:          256.97 [Kbytes/sec] received
  Concurrency Level:      10

Apache – Static Content

  Concurrency Level:      10
  Time taken for tests:   2.756945 seconds
  Complete requests:      10000
  Failed requests:        0
  Write errors:           0
  Total transferred:      2870000 bytes
  HTML transferred:       350000 bytes
  Requests per second:    3627.20 [#/sec] (mean)
  Time per request:       2.757 [ms] (mean)
  Time per request:       0.276 [ms] (mean, across all concurrent requests)
  Transfer rate:          1016.34 [Kbytes/sec] received

Rails/Mongrel – Static Content

  Concurrency Level:      10
  Time taken for tests:   21.980972 seconds
  Complete requests:      10000
  Failed requests:        0
  Write errors:           0
  Total transferred:      2290000 bytes
  HTML transferred:       350000 bytes
  Requests per second:    454.94 [#/sec] (mean)
  Time per request:       21.981 [ms] (mean)
  Time per request:       2.198 [ms] (mean, across all concurrent requests)
  Transfer rate:          101.72 [Kbytes/sec] received