Micro services are fun and easy to set up, and an important part in a micro service architecture.

One consideration in choosing which language to use for a given micro service/REST API is the speed of the servers that are readily available for that language.

Given this, I have decided to test out a variety of minimal web servers, that would serve as a solid base for a REST API / micro service.

All tests are performed on an (obviously weak) machine with the following stats:

Single Core Intel(R) Pentium(R) M processor 1.60GHz

1.5G RAM

HDD (no SSD)

To start with testing, we will serve a simple "Hello, World" response from each server and run the following benchmark test against them:

ab -c10 -n1000 'http://127.0.0.1:<port>/'

This is Apache Bench, with 10 concurrent users performing 1000 total requests (so, in the output, you will see batches of 100 requests performed).

<port> is going to be the port the server is running on.

It should go without saying, but for all these benchmarking tests, please disable any special debugging options that may have dramatic performance hits in each given language (such as xdebug in PHP).