Topお知らせ > 2007年1月
2007年1月16日

サーバ移転延期とパフォーマンス改善内容について

January 16,2007 12:56 AM
Tag:[]
Permalink

先週末に行う予定のサーバ移転は延期することに致しました。

理由は、昨日エントリーした「HTTP/1.1 の「条件付きGET」を利用して PHP ファイルアクセスによるサーバ負荷を削減する」の対策を行い、また他にもいくつか対処を行ったので、その結果を確認したいためです。

場合によってはこのまましばらく様子を見るかもしれません。また、ちょうど同時期にエントリーされていた、callmel vanilla さんの「レンタルサーバーを乗り換えたい!+アンケート(特にコメント欄)」が大変勉強になりました。ありがとうございました。

以下、対処内容です。

1.各ページで「条件付きGET」の実行

トップページやアーカイブページ等、全ての PHP ファイルで、冒頭の「条件付きGET」が行えるように変更しました。これでページの更新がない場合は 302 Not Modified を返却するので、サーバ負荷軽減やトラフィックの改善につながると思います。

2.PHP モジュール化の削減

当サイトではサイドバーのメニュー類を PHP によるモジュール化を行っていますが、スタティックな内容のモジュールは PHP モジュール化から MTInclude に変更しました(モジュール化の割合を減らすことでどの程度の改善が見込まれるか不明ですが)。

3.カレンダーの .html 化

現在使用しているカレンダーが、過去に公開した 「PHP スクリプトを利用したリアルタイムカレンダー」、つまり .php ファイルでしたので、JavaScript によるリアルタイムカレンダーに変更し、拡張子を .html に変更することで 302 Not Modified を返却できるようにしました。
ちなみにページ表示時だけでなく、月送りのリンククリック時も、一回表示されたカレンダーの再表示が早くなってます(内容の更新がない限り)。

4.CGI の取り外し

さくらレンタルサーバ標準のアクセスログを参照すると、月別の解析ページに「トップ 10 of xxxxx Total Exit Pages」という項目があります。Movable Type で利用している CGI や自前の CGI が軒並み上位に並んでいます。
その中でもダントツでトップだったカウンタ(前日・本日)をとりあえず外しました。

5.Ajax 化

中央カラムのお知らせや右サイドバーの Amazon や バナー類を Ajax にしました。Ajax 化はサーバ負荷と深い関係はないのですが、これらの情報は HTML ページ後方に記述してあるものを JavaScript で表示位置を変更させてました。が、Firefox で閲覧した時に、 JavaScript をページ後方で動作させていると「すぐにスクロールができない」というコメントがありましたので、このような変更を行いました。

以上です。
これらの変更で、先週まで鬼のように発生していた 503 エラーはかなり減った気がしますが、ゼロにはなっていないようです。
先週までと比較して「あまり変化ない」「良くなった」「ページ表示が速くなった」等のご連絡を頂ければ幸いです。

Comments [6] | Trackbacks [0]
2007年1月 7日

サーバ移転します

January 7,2007 9:54 PM
Tag:[]
Permalink

当サイトで利用しているレンタルサーバは「さくらのレンタルサーバ」ですが、近日中に移転、というかプラン変更します。プランは、現在利用中の「スタンダード」から「プレミアム」になります。他のレンタルサーバを探すという手もありましたが、価格(1500円/月)と容量(3GB)に加え、telnet/SSH が使える環境ということでプラン変更にしました。

移転の理由は、昨年後半より多発し始めた 503 エラー解消のためです(下は関連記事)。

503 はサーバの負荷が高い場合に HTTP リクエストを一時的に受け付けられなくするというエラーです。
一時解消したように思われましたが、その後も間欠的に発生する状態が続いています。ページ閲覧で 503 エラーに遭遇される方も少なくないと思います。
で、これを解消するにはサーバを移転するしかないと判断しました。

プレミアムプランは年初めに契約済で、1 サーバあたりのユーザ数は 30 ユーザ前後です。telnet で自分のサーバにログインして確認すると、利用中の「スタンダードプラン」は、1 サーバに 100 ユーザが共有していることが分かります。さくら非公式 FAQ では、ライトプランは 300 ユーザであることも分かります。

下記にさくらのレンタルサーバで提供されているアクセスログからの、2006年2月から12月の月別の全ヒット数・転送量・503エラー数をまとめてみました(利用開始は2005年12月中旬)。
「全ヒット数」というのはブラウザからのページビューではなく、ページ内に記述された「http://~(外部ファイルとしている CSSや JavaScript 、画像等)」がすべてカウントされていると思われます。

2006年2-12月のアクセスと 503 エラー
全ヒット数全KByte数503エラー
2月7192763118242602115
3月8621547126672372620
4月9105343125960436165
5月92710221321079252699
6月939458312733328369017
7月90701119684319720244
8月82227178894969022943
9月77512559497121321811
10月74814009980035431330
11月893287211527078353432
12月840126912158759662590

ご覧の通り、6月から 503 エラーが激増しました。5月までは、全 KByte 数と 503 エラーには関連がないように見えますが、6月以降はなんとなく比例しているような気が。

上の表とは別に、個人的にはプログラム負荷が多分に影響しているのではないかと推測します。

Comments [7] | Trackbacks [0]
Now loading...
ギターに入った猫
IT転職は【Green】Web/インターネット業界の求人に強い転職サイト グリーン
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

Categories
Monthly Archives
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 5.12