<<
2010.5
>>
[nao-pon/blog] |
||||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | ||||||
2 | 4 | 5 | 6 | 7 | 8 | |
9 | 11 | 12 | 13 | 14 | 15 | |
16 | 17 | 18 | 21 | 22 | ||
24 | 25 | 26 | 27 | 28 | 29 | |
30 | 31 |
HypCommonFunc を更新して、Ver. 20100503 としました。
HypCommonFunc を更新して、Ver. 20100510 としました。
素人の私には、なかなか適切な値が見つけられないのですが、PHP の応答時間を無駄に長くしないために、今回は接続時(DNS lookup の時間とサーバが接続応答するまでの時間が含まれるのかな)のタイムアウトを短めに設定してみました。
もし、今回の修正で外部問い合わせ(favicon取得やAmazonのデータ取得など)に失敗することが頻発することがあればお知らせください。
先日、Apache を 1.3 から 2.2 にアップグレードしたので、前から気になっていた mod_xsendfile を試してみました。
その効果は絶大! :thumb_up:
xpWiki では、ページに添付されたファイルをはじめ、アイコン画像、JavaScript、CSS などが、PHP を通して出力されているのですが、これらのうち大きなサイズの添付ファイルがダウンロードされる場合に、PHPがI/O待ちになります。
通常はそんなに問題はないのですが、ボットが襲来した時など処理待ちプロセスが増え続けて、どうにもこうにもならなくなってしまうことが結構頻繁に起こっていました。
そんな時のために、monit で監視して異常な負荷になった場合に Apache を自動で再起動させていたのですが、mod_xsendfile に対応させてみたところ、高負荷になることは今のところ起こらなくなりました。 :ok:
ただ、mod_xsendfile は、"Content-Encording" ヘッダを除去してしまうので、gzip な CSS や JavaScript を出力することができません。
xpWiki では、積極的に gzip での出力を行っているので、mod_xsendfile 0.11 をちょこっといじって、ヘッダに "X-Sendfile-Use-CE: Yes" を出力することで、"Content-Encording" ヘッダの除去を行わないようにしてみました。
apxs -cia mod_xsendfile.c
で普通にインストールできます。
あとは、http.conf や .htaccess などで
<IfModule mod_xsendfile.c> XSendFile on XSendFilePath "/html/hogehoge" XSendFilePath "/trustpath/hogehoge" </IfModule>
などとすればOK。(XSendFilePath は、読み込み可能にするパスをそれぞれ適切に設定する。)
mod_xsendfile 対応版の HypCommonFunc と xpWiki は次のバージョンで。 :shy:
HypCommonFunc を更新して、Ver. 20100520 としました。
1 2 3 4 5 |
|
オリジナルの mod_xsendfile では、GZip 圧縮した CSS や JavaScript に対応出来ないので、私が独自に改造し対応できるようにした mod_xsendfile.c を使用する場合に
define('HYP_X_SENDFILE_MODE', 3);
とすることで、GZip 圧縮した CSS や JavaScript も軽く送信されるようになります。
今度は携帯から
at 3:32 pm
そうか、この携帯はメールアドレスでページを設定してあるのでそっちが優先されたんだ。
に帰ったら直そう
at 3:39 pm