エントリー本文
サーバ移転延期とパフォーマンス改善内容について
先週末に行う予定のサーバ移転は延期することに致しました。
理由は、昨日エントリーした「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 エラーはかなり減った気がしますが、ゼロにはなっていないようです。
先週までと比較して「あまり変化ない」「良くなった」「ページ表示が速くなった」等のご連絡を頂ければ幸いです。
- HTTP/1.1 の「条件付きGET」を利用して PHP ファイルアクセスによるサーバ負荷を削減する
- WordPress テーマ(テンプレート)
- Movable Type の PHP モジュール化の仕組みについて(その3:変更方法)
- Movable Type の PHP化(その1)
- Movable Type の PHP モジュール化の仕組みについて(その4:再構築オプション利用方法)
- Movable Type の再構築を不要にする「ダイナミック・パブリッシング」(その2:設定方法)
- JavaScript の for 文のパフォーマンスを改善する
- Movable Type を始める前に設定しておきたい 10 の項目
- Movable Type の PHP化(その2:.html のままPHPを有効にする)
- Movable Type 4 を始める前に設定しておきたい 10 の項目
- Amazon 携帯サイト「Amazile」
- 新型インフルエンザ相談窓口
- WebSig24/7 MT4分科会第3回勉強会
- 薬の約7割がネットで買えなくなる件について
- チャレンジ! Movable TypeをCMSとして使ってみよう!(第15回、最終回)
- お問い合わせフォームから質問を受け付けます
- チャレンジ! Movable TypeをCMSとして使ってみよう!(第12回~第14回)
- チャレンジ! Movable TypeをCMSとして使ってみよう!(第11回 個別のブログ記事テンプレートに着手する)
- 実験!Movable Typeラボラトリー
- チャレンジ! Movable TypeをCMSとして使ってみよう!(第8回 ブログ記事リストテンプレートを使って,カテゴリ別絵本一覧ページを作る・第9回 パンくずナビゲーション部分を作る・第10回 ブログ記事リストテンプレートを完成させる)
- ブログ更新を一時休止します
- カウンタを更新しました
- トラックバック送信テスト用エントリーが人気
- メールフォームの不具合等について
- 当ブログの検索フォームへの検索文字列設定方法について
- チャレンジ! Movable TypeをCMSとして使ってみよう!(第6回 グローバルナビゲーションを仕上げる/トップページに最新ブログ記事一覧を表示させる・第7回 トップページを仕上げる)
- コンサート出演のお知らせ
- 「小粋な UserList」不具合のお知らせ
- Web Directions East
- チャレンジ! Movable TypeをCMSとして使ってみよう!(第5回 head要素の中身を作る/グローバルナビゲーションを作る)
おはようございます。
どの方策が効果があったのかは分からないのですが明らかに表示が早くなってます。
感覚的に半分以下でしょうか?
応援してますので頑張ってくださいね!
確かにスクロールしやすくなっていますね。
>mikaさん
こんばんは。
コメント&応援ありがとうございます!
かなり負荷が下がったようで良かったです。
>ひろやさん
こんばんは。
情報ご提供、ありがとうございました!
以前に比べて大変表示が早くなっていますね
よって今は、快適に拝見させて頂いております。ただ、コメントの際に CAPTCHA? Codeを正確に記載しているにもかかわらずエラーが出ます。以前と少し違う感じがします。
>panserさん
情報ありがとうございます。
CAPTCHAの件につきましては不明です。CGIを利用してセキュリティコードを表示しているので、今のところ今回の変更とは無関係という認識です。
Excellent tips .I really appreciate all these points, and I agree completely…
