雑なServerベンチマーク

気になって比較してみた。

https://github.com/ksss/server_benchmark

golangのnet/httpパッケージによるサーバーとunicorn+sinatraサーバーの比較。 並列数4、手元のMBPでabして試してみた。

golangのサーバーのほうが5倍近くのリクエストを捌けているので、単純なリクエスト捌き力では優位性がありそうだ。

ただし重い処理をするサーバーならその処理時間はリクエストを捌く時間に比べて圧倒的に長いので、unicornならヤバイプロセスがあったらそれだけ殺せる運用向きな優位性があるから一概にどちらが良いとは言いにくい気もする。

またgolangだとプロセス管理方法がなれてなかったりもする。あとデプロイ。一応git pullによるアップデートとcircusによるhot deployはできてはいるが、circusはpython製だしruby製のServer::Starterとかも気になる。うーむ。