Benchmarking Rails server software

March 27, 2015

Apache vs Nginx. Passenger vs Unicorn vs Puma. I’ve personally been running Apache with Passenger as I got a lot more of Apache experience then with Nginx but when setting up the servers for a recent Rails project I was not really happy about the number of requests I could serve.

The test site is running on Digital Ocean $10 servers which yield the following specs

  • 1GB Memory
  • 1 CPU Core
  • SSD Drives

I use one server for the database, one with Apache + Passenger and one with Nginx + Puma. Then I used another server with some more power behind it to run Apache Benchmark with a conccurency level between 10 and 500.

I bashed the servers with 200, 1000, 5000, 10000 requests to measure number of request per seconds it could handle and the mean response time.

Requests per second

request per secod

Mean response time

Mean response time

So it seems when it comes to Passenger vs Puma it seems like Puma is the way to go.

Christoffer Artmann