・ Web系SE募集 (技術開発部開発系エンジニア・Java/Tomcat 420万円~750万円)
   ・ 社内SE募集 (業務系システムの開発・社内イントラ)

Webアプリケーションフレームワーク(Rails, Django, Pylons) 処理速度/メモリ使用量 比較

user-pic
0

 ab - Apache HTTP server benchmarking tool
    http://www.apache.jp/manual/programs/ab.html

同時発行数を100リクエスト、10000回のアクセスを実行。
$ ab -n 10000 -c 100 
DBへのアクセスはせず、「Hello, world.」を返すぐらいだけのものでベンチマークをとります。
abコマンド実行中にtopコマンドでメモリの使用状況を確認。

◆メモリ(1プロセスあたり)

Ruby on Rails + mod_rails (mod_passenger)

Mem:    256400k total,   253792k used,     2608k free,      540k buffers
Swap:   524280k total,    18708k used,   505572k free,    21388k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 3041 suzu      25   0 45680  31m 1584 R 10.9 12.5   0:23.41 ruby
 3055 apache    15   0 12988 1888 1288 S  0.4  0.7   0:00.85 httpd

Django + mod_python
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 4207 apache    15   0 22408  14m 2272 S  8.0  5.6   0:03.64 httpd
    
Django + mod_wsgi
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 3019 apache    15   0 18072  10m 2284 S  7.0  4.0   0:05.13 httpd

Pylons + mod_wsgi
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 2915 apache    19   0 23920  14m 2568 R  0.0  5.7   0:07.15 httpd

◇結果

Ruby on Rails + mod_rails だけ、Swapを使ってしまいました。
また、Apacheのプロセスとは別に、Rubyのプロセスも必要で、メモリも消費するようにみえます。
一番メモリを消費しないのは、
Django + mod_wsgi
でした。


◆処理速度

Ruby on Rails + mod_rails (mod_passenger)
    Requests per second:    175.59 [#/sec] (mean)

Django + mod_python
    Requests per second:    576.02 [#/sec] (mean)
    
Django + mod_wsgi
    Requests per second:    854.67 [#/sec] (mean)

Pylons + mod_wsgi
    Requests per second:    380.65 [#/sec] (mean)

◇結果

秒間あたりの処理能力が一番よいのは
Django + mod_wsgi 
であり、最下位が
Ruby on Rails + mod_rails
でありました。今回の検証では、Ruby on Rails + mod_rails は、Swapを使用したため
速度比較としては、平等ではないかもしれません。

■総合結果

総合的にみても、Django + mod_wsgi が良く、Ruby on Rails + mod_rails は、最下位となりました。





トラックバック(0)

トラックバックURL: http://arbolbell.jp/mt5/mt-tb.cgi/127

コメントする

このブログ記事について

このページは、Yuji Suzukiが2008年11月22日 09:16に書いたブログ記事です。

ひとつ前のブログ記事は「Pylons Ver.0.9 + mod_wsgiで Apache Bench と メモリ使用状況を確認する。」です。

次のブログ記事は「Rails 環境構築 - Ruby, RubyGems, Rake, Rails, Phusion Passenger (mod_rails) インストール」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。