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