2007.07.14 02:23
ボトルネックの調査と改善はUIエンジニアの役割なので何でもやる。
* Amazon EC2を借りてプロキシを立てて海外経由でアクセスとか試した
- 24セントかかった。手順がややこしくて大変だったけど安い。
- 初回起動が遅いのが気になる、ロードし終わってからは許容レベルだと思う。
- kokogikoのブログパーツは許容レベルではない。
- faviconのロードが遅くてjsonのロードに詰まる感じがする。ドメインあたりの接続数に引っかかるのだろうか。
- Amazonの回線の品質がいいのであまりあてにならないかもしれない。
* たまたま知人が海外にいるので試してもらった
- 日本と変わらないよ、とのこと。
- ロード後の使用感は、ショートカットキー使ってれば、回線速度に依存しない。
- 日本の例で分かってるように、頑なにマウスでしか使わないユーザーがいる。(そして遅いと文句を言う)
- コーヒーに、砂糖を入れないで、苦いと言う。
- うどんに、七味を入れすぎて、辛いと言う。
* 国別の速度レポートを取った
- Apacheのログを集計し、IP::Countryを使って国別の速度レポートを取る。
- ファイルAにアクセスしてからファイルBにアクセスするまでの間隔を見る。
- IP::Countryは都市名までは分からないけど、統計用には十分使える。
- 最初はWWW::HostipInfoでやろうとしてた。
- 中国のユーザーはA→Bの間隔が大体20秒かかってるようだ。
-- 細かいファイルが多いと、起動が遅くなる。
-- ちなみに日本の場合の最頻値は1秒。日本のユーザーが幸福なのは確かだ。
- そのユーザーのその日の初回のアクセス。キャッシュされてれば少しはマシのはず。
- ユーザー数はまだまだ少ないけど、顕著に差がでる。遅い国は遅い。
- アクセスログを見れば大抵のことは分かる。その人がどれぐらいイラつくのかが分かる。
- 使ってるPCのCPU速度も分かるといいんだけど、JSでベンチ取るとかやりたくない。なんかのついでに計測できないだろうか。
- とりあえず、起動が速いのは日本だけだった、ということがわかった。
- ていうか中国遅すぎじゃね?遅いのに、ユーザー多い。みんな慣れてんのかな。
* クライアントサイドでできる対策をいくつかやって、様子見
- JSファイルの連結をやった。大分効果があるようだ。
- 圧縮は効果あるんだろうか。効果あってもソース読めなくなるからやらない。
-- gzip圧縮は効いてる。
-- 連結も、リンク張りづらくなるからあまりやりたくないんだよな。
- CSSも少し整理、なるべく一つにまとめる。
- window.onloadは画像ロードを待つので、DOMロード完了で起動するように変更
キャッシュされてない状態のJSのロードが遅すぎだったけど、大分マシになった。あとはexpires設定して強制キャッシュとかも試すかも。インフラ面は今後の課題。
* Amazon EC2を借りてプロキシを立てて海外経由でアクセスとか試した
- 24セントかかった。手順がややこしくて大変だったけど安い。
- 初回起動が遅いのが気になる、ロードし終わってからは許容レベルだと思う。
- kokogikoのブログパーツは許容レベルではない。
- faviconのロードが遅くてjsonのロードに詰まる感じがする。ドメインあたりの接続数に引っかかるのだろうか。
- Amazonの回線の品質がいいのであまりあてにならないかもしれない。
* たまたま知人が海外にいるので試してもらった
- 日本と変わらないよ、とのこと。
- ロード後の使用感は、ショートカットキー使ってれば、回線速度に依存しない。
- 日本の例で分かってるように、頑なにマウスでしか使わないユーザーがいる。(そして遅いと文句を言う)
- コーヒーに、砂糖を入れないで、苦いと言う。
- うどんに、七味を入れすぎて、辛いと言う。
* 国別の速度レポートを取った
- Apacheのログを集計し、IP::Countryを使って国別の速度レポートを取る。
- ファイルAにアクセスしてからファイルBにアクセスするまでの間隔を見る。
- IP::Countryは都市名までは分からないけど、統計用には十分使える。
- 最初はWWW::HostipInfoでやろうとしてた。
- 中国のユーザーはA→Bの間隔が大体20秒かかってるようだ。
-- 細かいファイルが多いと、起動が遅くなる。
-- ちなみに日本の場合の最頻値は1秒。日本のユーザーが幸福なのは確かだ。
- そのユーザーのその日の初回のアクセス。キャッシュされてれば少しはマシのはず。
- ユーザー数はまだまだ少ないけど、顕著に差がでる。遅い国は遅い。
- アクセスログを見れば大抵のことは分かる。その人がどれぐらいイラつくのかが分かる。
- 使ってるPCのCPU速度も分かるといいんだけど、JSでベンチ取るとかやりたくない。なんかのついでに計測できないだろうか。
- とりあえず、起動が速いのは日本だけだった、ということがわかった。
- ていうか中国遅すぎじゃね?遅いのに、ユーザー多い。みんな慣れてんのかな。
* クライアントサイドでできる対策をいくつかやって、様子見
- JSファイルの連結をやった。大分効果があるようだ。
- 圧縮は効果あるんだろうか。効果あってもソース読めなくなるからやらない。
-- gzip圧縮は効いてる。
-- 連結も、リンク張りづらくなるからあまりやりたくないんだよな。
- CSSも少し整理、なるべく一つにまとめる。
- window.onloadは画像ロードを待つので、DOMロード完了で起動するように変更
キャッシュされてない状態のJSのロードが遅すぎだったけど、大分マシになった。あとはexpires設定して強制キャッシュとかも試すかも。インフラ面は今後の課題。
コメント一覧