Stressing the Raspberry Pi

Moving 20 big servers (with over 200 virtual machines) from one data center to another is not an easy task, and for our customers this meant a downtime of some hours for all our web services.

To keep our customers informed during the downtime we chose to leave a small server that in the old data center would listen on all our IPs and serve a static maintenance page.

So we did the following:

  • get a Raspberry Pi (fortunately we already had one)
  • install the latest Raspbian
  • add all our IP addresses to its network interface
  • have nginx deliver one simple page (with some CSS and images) at any URL
  • disable all access logging, PHP, etc.
  • connect it to the internet upstream

Raspberry Pi

And it performed very well during the move:

  • uptime: 12 hours
  • HTTP connections: > 9 million (~ 208/sec)
  • HTTP requests: > 20 million (~ 462/sec)
  • avg. packet size: 130 bytes (recv), 260 bytes (sent)
  • avg. concurrent connections: 10,000
  • total traffic: 51.4 GiB (17.5 GiB recv, 33.9 GiB sent)
  • system load avg: 1-2 (2 nginx workers)
  • CPU load: between 70% and 90%

Thanks to Mark for the statistics.