性能比較!WEBrick vs. Apache

2008年8月26日(火)
masuidrive

セキュリティーと速度性能

本連載の第3回までで説明したように、WEBrickは自分でコードを書くことで、かなり高性能なHTTPサーバーたり得ることが分かりました。

では、HTTPサーバーとして実際に運用するのはどうでしょうか?サーバーを公開する上で気になるのは、セキュリティーと速度性能です。

実は、2008年8月8日にRubyに複数の脆弱(ぜいじゃく)性が発見されました。WEBrickもDoS脆弱性が報告され、外部からWEBrickのサイトを停止させることが可能でした。しかし、この脆弱性は最新版のRubyで修正されているため、現在のバージョンでは問題はありません。

実際に運用するにあたっては、こうした脆弱性については常に注意し、発見された場合は速やかにアップデートやパッチによる対応をする必要があります。

速度性能については、2ページ目以降で実際にWEBrickとApacheの性能評価を行い、2つを比較することでWEBrickの特徴を解説していきます。

アプリケーションへの組み込み

さて、WEBrickを使うことで、HTTPサーバーやプロキシを手軽に作れることは分かりましたが、実際に自分でこれらを作るケースはあるのでしょうか?

一番の用途は、アプリケーションに組み込んで配布することでしょう。

現在、多くのWebアプリケーションのソースが公開されています。しかし、このアプリケーションを自分で動かす場合、HTTPサーバーやデータベースなどのインストールが必要になり、通常のデスクトップアプリケーションのようにワンクリックでインストール、稼働という訳にはいきません。場合によっては、既存のソフトとのバージョン競合でインストールが困難なケースもあります。

しかし、WEBrickとRubyで書いたアプリケーションであれば、別にHTTPサーバーを必要としないため、Rubyがインストールされている環境であれば、非常に手軽に稼働させることができます。

さらに、exerbRubyScript2Exeなどのソフトウエアを使うと、WEBrickも含めてRubyスクリプトをexeファイル(Windowsの実行形式)にすることができます。こうすれば、Webアプリケーションながら、ワンクリックで稼働させられる環境を提供できます。

大規模なアプリケーションではなく、個人・少人数で使うようなアプリケーションの場合、WEBrickとRubyスクリプトでアプリケーションを配布すると、非常に手軽に使ってもらえるでしょう。

では、次ページ以降いよいよApacheとの性能比較を行っていきましょう。

PukiWikiなどのオープンソース活動を経て、2005年からRuby on Railsに的を絞り、WEB2.0社 PingKingやニフティ アバウトミーの開発に関わる。これまでのフリー活動から転身し、2007年は1年だけ会社員として働いた後、起業のため渡米。2008年4月にBig Canvas Inc.設立。現在、米ベルビュー在住。http://bigcanvasinc.com/http://blog.masuidrive.jp/

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

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

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

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