suin.io

あなたのXOOPSを超高速にする16のTips

suin2011年5月29日

2011年5月28日、マイクロソフト本社で開催されたXOOPS Cube サタデーラボで発表してきました。テーマは「あなたのXOOPSを超高速にする16のTips」だったのですが、おそらくメモをとれなかった人もいると思うので、発表スライドと草稿時点のアウトラインをダダ漏れしておきます。

発表スライド

20110528.pdf

データベース (DBとのやりとりを減らす)

1. インストールしているモジュールを減らそう

  • モジュールは少ないほうが早い
  • メインメニューはモジュールの数だけ遅くなる
  • 2. メインメニューはマルチメニューに置き換えよう

  • メインメニューは毎回すべてのモジュールを読み込みに行っている
  • 3. カスタムブロックはキャッシュを使おう

  • 更新されないブロックはキャッシュONに
  • サイトの概要、注意書き、ブログパーツ貼りつけ
  • 1回目の表示でXOOPS_URL/cahce/*.cache.htmlができる
  • 2回目からはcache.htmlを使う(内部のPHPは動かない)
  • キャッシュの一掃は、「キャッシュクリアブロック」を使おう
  • 注意:管理者にはキャッシュが効きません
  • 4. テンプレート自動更新はOFFにしよう

  • インスト直後ではOFFになっている
  • テーマやテンプレートを編集したことがある人はONになったままの可能性あり
  • ONになっていると、新しいテンプレートが無いか確認する処理が毎回走る
  • 無駄
  • 5. 1ページあたりのブロックを減らそう

  • トップページはブロックが多くなりがち
  • ブロックは少ないほうが早い
  • マジカルナンバー7±2
  • 人が瞬時に記憶できる情報の最大数
  • 6. 軽いモジュールを使おう

  • 伝説の激重モジュールnewbb2があった
  • 同じようなモジュールでも、負荷は異なる
  • 入れてみて試す。
  • ユーザからは品質がなかなか分かりにくい。
  • インフラストラクチャー (サーバ・ネットワークを最適化する)

    7. ハイスペックなサーバを使おう

  • もっとも単純
  • お金で解決^^
  • 弊社の案件でも、サーバのグレードを上げたら快適になった経験
  • 8. OS・Apache・MySQL・PHPの設定を見なおそう

  • OS: 不要なサービスの停止
  • Apache: 同時アクセス可能者の調整、KeepAlive
  • MySQL: キャッシュの活用やメモリリミットの調整
  • PHP: キャッシュの活用
  • 共有サーバのユーザも多い、語りだすとキリがないので詳細は割愛
  • 9. gzipをONにしよう

  • テキストを圧縮して送る機能
  • テキストが多いサイトにはいいかも
  • ただしCPU負荷は増
  • 10. ページ分割を使おう

  • 1ページの文字数が増えれば遅延も増す
  • bulletin, d3downloadsなど[breakpage]を活用しよう。
  • picoなどは別ページに分割できないか検討しよう。
  • d3forumでは表示トピックの件数が指定できる
  • 11. デフォルト表示件数は少なめに

  • 一覧ページのデフォルト表示件数は少なめにしよう。
  • 12. 外部サービスを検討しよう

  • サーバの仕事をできるだけ減らす
  • 画像:Flickr、Picasa、フォト蔵
  • 動画:YouTube、ニコニコ動画
  • ダウンロードコンテンツ:Dropbox、P2P
  • メール専用サーバ
  • 外部サービスが遅い場合、そこがボトルネックになるかも
  • ブラウザ (ブラウザの負荷を減らす)

    13. リダイレクト画面を改造しよう

  • リダイレクト画面をやめるだけで、体感速度は約3秒早くなる
  • 14. ブログパーツには注意しよう

  • ブログパーツは他のサーバにアクセスさせる物が多い
  • 最近では複雑なJavaScriptを実行させるものも
  • 他サーバへのアクセス増加、JavaScriptの実行はブラウザ上での遅延になる
  • 15. FCKエディターで大きい画像はサムネイルを用意しよう

  • 容量の大きい画像は、転送・表示するときに遅延に。
  • 大きい原画をwith,heightで小さく見せるのではなく、サムネイル画像を作っておこう
  • その他

    16. 悪質なクローラを排除しよう

  • 中国からのクローラがサーバに短時間高頻度でアクセスしてくることがある
  • OSやApacheのIPアクセス拒否機能を使おう
  • RELATED POSTS