WEBrickでWebサーバーを書く! 4

性能比較!WEBrick vs. Apache

セキュリティーと速度性能本連載の第3回までで説明したように、WEBrickは自分でコードを書くことで、かなり高性能なHTTPサーバーたり得ることが分かりました。では、HTTPサーバーとして実際に運用するのはどうでしょうか?サーバーを公開する上で気になるのは、セキュリティーと速度性能です。実は、200

masuidrive

2008年8月26日 20:00

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

本連載の第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との性能比較を行っていきましょう。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る