最近はそこそこアクセスしてもらえているようなので、断念したキャッシュ化にリトライします。
:
:
トップページ表示するのに、4秒から10数秒ってのはあり得ないですもんね。
1秒台を目指したいところだが、サーバが非力すぎる。2秒台までなんとかガンバロ。
と言ってしまったので、キャッシュ化しました。劇的に早くなったんじゃないかな。
いつものようにインチキ(W だけど、wgetで5分に1度、HTMLソースを取得しておき、通常このサイトにアクセスにきたときに、逐一DBをなめない方法。
#なのでページ最下部の「HTML convert time」は嘘でないが、リアルなものでない。
手順はいたって簡単です。
◆キャッシュ化方法
5分おきなので、下記のような記述。
1 |
*/5 * * * * /usr/bin/wget -O /home/hoge/public_html/blog/index.html "http://hoge/blog/index.php" > /dev/null 2>&1 & |
あとは、Apacheの設定で、index.htmlを優先に・・・
と思ったら、/?p=xxx などでアクセスしてくると /index.html?p=xxx
に解釈されてしまうので、NGでした。
※エントリ投稿時のプレビューが不可だったので気づいた。
htmlでphp稼動だとしても、wgetしたまんまというわけにはいかなくなる。
ので、index.phpをハックしました。
以下を1番最初のステートメントに追加です。
※キャッシュが上手く機能していなかったので、訂正(2007.05.07)
xxx.xxx.xxx.xxxはサーバのローカルIP。(GETパラメータなしでwgetしたときの$_SERVER[‘REMOTE_ADDR’])
1 2 3 4 5 6 7 8 9 |
if ( ( $_SERVER['REQUEST_URI'] == "/blog/" ) && ( $_SERVER['REMOTE_ADDR'] != "xxx.xxx.xxx.xxx" ) ) { mb_language('Japanese'); mb_http_input("auto"); mb_internal_encoding('utf-8'); mb_http_output('utf-8'); include( "index.html" ); exit; } |
過去アーカイブやカテゴリなどの、トップページ以外はこれまでどおり遅いです(TT
◆課題
「HTML convert time」くらいはリアルタイムに表示したい。
#wgetしたHTMLをincludeして、やっぱりhtmlをphp稼動させるってことかな。
アクセスカウンタはパフォーマンスの観点とキャッシュ化による不整合を考慮して無効。
#なので、「足おと」も停止中です。
No comments yet. You should be kind and add one!
By submitting a comment you grant typista a perpetual license to reproduce your words and name/web site in attribution. Inappropriate and irrelevant comments will be removed at an admin’s discretion. Your email is used for verification purposes only, it will never be shared.