平衡点


2013/09/07

_ tDiary を Ruby1.9.3 + Apache2 + FCGI で動かす

読んで題字の如く. 以前もじたばたした記憶があるのだけれど, 今回は非常に楽だった.

環境

使っているモノは以下の通り:

OS :: Debian 7.1 Wheezy
tDiary :: version 4.0.0, 野良パッケージ
Ruby :: 1.9.3, Debian 公式
libapache2-mod-fcgid :: Debian 公式
libfcgi-ruby1.9.1 :: Debian 公式

以前[ 平衡点(2006-10-11) ] は最後に fcgiwrap を使っていたけれど, tDiary 側で index.fcgi, update.fcgi を用意してくれているので, これを使えば良い.

導入

apt-get 一発なので省略

設定

.htaccess の該当部分を以下の様に修正

# source: apache
 AddHandler fcgid-script .fcgi
 DirectoryIndex index.fcgi
 AddType application/xml .rdf

 RewriteEngine on
 RewriteBase /log
 RewriteRule ^([0-9\-]+)\.html$ index.fcgi?date=$1
 RewriteRule ^([0-9\-]+)p?([0-9]*)\.html$ index.fcgi?date=$1&p=$2 [L]

index.fcgi, update.fcgi は以下の通り:

index.fcgi:

# source: ruby
 #! /usr/bin/env ruby
 load '/usr/share/tdiary/index.fcgi'

update.fcgi:

# source: ruby
 #! /usr/bin/env ruby
 load '/usr/share/tdiary/index.fcgi'

あと, この環境は suexec で動作させているので permission は 701 で.

結果

ab -n 30 -c 3 の結果比較:

  • 素の index.rb(これまで)

    Requests per second:    3.40 [#/sec] (mean)
    Time per request:       882.231 [ms] (mean)
    Time per request:       294.077 [ms] (mean, across all concurrent requests)
  • index.fcgi(fcgi 化)

    Requests per second:    8.32 [#/sec] (mean)
    Time per request:       360.723 [ms] (mean)
    Time per request:       120.241 [ms] (mean, across all concurrent requests)

...2.4倍速ぐらい? こんなモンかな.


連絡先など
最近の日記
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|
Back to Top ▲