Herokuのアドオンと外部サービスを活用しよう

2011年4月1日(金)
安達 輝雄(あだち てるお)

NewRelic

NewRelicは、Webアプリケーションのパフォーマンス計測と運用状況のモニタリングをしてくれるWebサービスです。データベースからデータ取得に要した時間や、レンダリングに要した時間など、詳細なパフォーマンス・データが、ほぼリアルタイムにグラフ化され、それらの情報を確認できるようになります。

現在のところ、Ruby On Railsフレームワークを利用したWebアプリケーション以外にも、Ruby、Java、.Net、PHPの言語に対応しています。

図1: NewRelicの画面

図1: NewRelicの画面(クリックで拡大)

SonicGardenでは、長期的なサーバー・リソースのモニタリング/可視化に、muninを利用してきました。しかし、短期的にパフォーマンスが劣化した時には、どの処理のパフォーマンスが悪いのかを調査するために、サーバーにログインしてWebアプリケーション/Webサーバーのログなどを目視確認して劣化個所を特定するしかありませんでした。

そこで、短期的にパフォーマンスが劣化した場合の調査のため、NewRelicを採用することを決めました。導入検討時には、NewRelicの導入によって得られるメリットとして、以下のものを想定していました。

  • どの処理にどのくらいの時間を要したのかを確認しやすい
    • パフォーマンスが悪い個所が、即座に把握できる
    • パフォーマンス・チューニングのインプット情報となる
  • Webアプリケーションをバージョン・アップした前後の、負荷状況の変動状況が分かりやすい

副次的な効果ではありますが、Webアプリケーションのパフォーマンスが悪い個所をすぐに確認できるようになりました。プログラミング時にも、パフォーマンスを意識したコーディングができるようになりました。Webアプリケーションの運用で必要となるサーバー・リソースも抑えることができるようになりました。

NewRelicをHerokuで利用する

NewRelicをHerokuで利用する場合は、以下のコマンドを発行するか、HerokuのWebサービスにログインして、利用アドオンに追加します。

$ heroku addons:add newrelic:bronze

アドオンを追加したあとは、基本的にこちらのようにWebアプリケーションに設定をするだけで利用可能になります。

もし、前回動かしたサンプル・アプリ(lokka)でNewRelicを利用したい場合は、プラグインとしてソース・コードが公開されているので、こちらを参考に試してみるとよいかと思います。

著者
安達 輝雄(あだち てるお)
TIS株式会社

TIS株式会社の「SonicGarden」にて、Ruby On Rails製の社内SNS「SKIP」の開発や、youRoomをはじめとするSonicGardenが提供するウェブサービス全般の運用/保守を手がける。
主な著作:クラウドAmazon EC2/S3のすべて(2009,日経BP社)など。ブログはこちら  
Twitter:@interu(http://twitter.com/interu
 

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています