APIの手軽なベンチマークツールを探していたのだけど、node.js製のapi-benchmarkが便利そう

APIのベンチマークを取るのにいちいち手でスクリプト書いて叩いていたりしたのですが、「普通こういうの、ツールあるよな・・・」と思って探してみたら、ありました。node.js製のapi-benchmarkがシンプルで良さそうです。

使い方

var apiBenchmark = require('api-benchmark');

var services = { 
  server1: "http://myserver:myport/mypath/",
  server2: "http://myserver2:myport2/mypath2/",
};

var routes = { 
  route1: {
    method: 'get',
    route: 'getRoute',
    headers: {
      'Cookie': 'cookieName=value',
      'Accept': 'application/json'
    }
  },
  route2: 'getRoute2',
  route3: { 
    method: 'post', 
    route: 'postRoute', 
    data: { 
      test: true, 
      moreData: 'aString' 
    }
  }
};

apiBenchmark.compare(services, routes, function(err, results){
  console.log(results);
  // displays some stats, including the winner!
});

こんな感じに叩きたいサーバとパスを定義してあげればベンチマークをとってくれます。複数サーバ指定することで、サーバ間のベンチを取ることも可能。ちょっと構成変えて「これでパフォーマンスあがるかな?」なんて試し方をするときに、便利ですよね。気軽に使っていきたいなと思いました。

api-benchmark

今日はSonicGarden Studyで運用のお話をしていました。

12402_normal_1402628854_sg_study

実践DevOps! SonicGarden流Herokuガチ運用術! – SonicGarden Study #09

本日見てくださった方、ご視聴どうもありがとうございました。放送でお話した内容は、また整理してブログにあげようと思っています。

残念ながら見逃してしまった方は、番組にお問い合わせ頂ければ録画のURLをお渡しできますので、ぜひお気軽にお問い合わせ下さい。