アクセスログ分析
1999 年 2 月に行った、Live! Eclipse99 Annualer のミラーサイトへの時間単位のアクセス推移です。
今後のサーバ運営の参考までに。。。
ミラーサーバ構成
今回のミラー配置は少し複雑です。
- www.solar-eclipse.org は静的なApacheの redirect によって live.solar-eclipse.org に振られます。
- live.solar-eclipse.org は、DNS の Roud robin によって live1,live2,live3 の三つの Web サーバに振り分けられます。
- live1,2,3 のトップサーバから、/eclipse/ ディレクトリ以下のライブ関連コンテンツ(当時のページ構成ではカンガルーの絵柄のボタンの先)に移動する際に、Apache の Round robin redirect によって各ミラーサーバに振り分けられます。
- ミラーサーバは oki, sun-i, kyoto-su, kyusyu, toyama, misato, cyber, organova の 8 つでしたが、organova はログが取れていませんでしたので、解析には現れていません。アクセスカウントから見て、organova は misato, toyama などと同程度のサービスを提供できていたと思われます。
- ミラーサーバ群は、あらかじめ予測された能力に応じて、振り分けの重み付けがなされています。当初 oki, sun-i, cyber が 3 で、他が 1 という構成でした。
- 当初から Internic に対して、solar-eclipse.org の DNS を Live! Eclipse が管理するホストに移動するようにして、solar- に負荷が集中するのを避けて live1,2,3 に分散させる予定でした。しかしこのリクエストを出して反映されたのが当日だったため、当日のアクセスは www.solar- 経由も、live1,2,3 直接も両方あったと思われます。
ログの見方
縦軸が転送バイト量などで、横軸が日と時刻 (16/04は2月16日の午前4時を意味する)です。
注意
- 全てのバイト量計算は HTTP サーバが吐き出したログから採集していますので、分単位ではあまり正確ではありません。特に大量データの転送の場合、タイムスタンプがいつのものかが問題となるでしょう。
- 幾つかのサイトでログ上のバイト数表記が何故かゼロになっている部分が散見されました。これも現時点ではよく判っていません。
- live3, cyber の両サイトはピークタイムにおいて不安定で、ログの値が安定していません。
- misato はピーク時(3/16 15:00頃)にログファイルが満杯になってサービスが一時停止しました。16:12 頃に復帰しています。
ただ、他のサービス(ストリーミング?)も行っており、これがミラーサービスの邪魔をしていたようで、少し不安定です。
- toyama はトップサーバの設定ミスもあって 3/16 16:07 頃から参加しました。
- live1 がピーク時後半に能力を出していないように見える理由はよく判りません。
http の GET による特定ファイルの平均転送時間を測定するプログラムのレポートでは特におかしいところはないのですが。
- live1,2,3 のトップサーバは運用途中で何度か kill -HUP によるリスタートが掛かっています。
考察はまだ途中ですが、とにかく見てください。
転送量の推移
全体グラフ
10分毎のトップサーバとミラーサーバそれぞれの合計転送量。
ピークタイムが予想もしなかった 15:00 ごろに集中している。
「ライブは 15:00 から」と予告していたためと思われる。
実際の金環日食はじまりは 16:29 。この頃にはかなり沈静化している。
ピークはこの 15:00 から 3 時間ほど。この長さは毎回の中継と同じ。
今回はその後のトラフィックより事前のトラフィックの方が大きいことがわかる。
ピークのみトップサイト合計よりミラーサイトの方が大きなトラフィックを
出しているのが判る。恐らく利用者が中継ページをリロードし続けたためだろう。
この時幾つかのサーバが不安定になっており、次回はリロードする気にならない
ページ構成、またはリロードしても軽く済むページ構成が望まれる。
ピークタイム
ピークタイム域における、
1分毎のトップサーバとミラーサーバそれぞれの合計転送量。
トップサーバへの負荷はかなり高い。
今回は大きな資源(回線、マシン能力)を取れた上に全体のトラフィックが低い
ため問題が無いが、このバランスが崩れたときは入り口で破綻する可能性あり。
非常に見にくいが、全サイトの個別グラフを参考まで。
ミラーサイト oki, sun-i の二つが多くの部分を占めている。
他の主要ミラーやトップサーバのおおよそ倍の量である。
トップサーバのみ
ピークタイム域における、
1分毎の各トップサーバの転送量。
live3 が不安定だったため、サービスが途切れがちである。
しかし復旧すると即座に他のサービスとほぼ同量のサービスを要求されている。
即ち過負荷が原因で不安定になった場合、復旧させてもすぐにダウンさせられて
しまう可能性が高い。
トップサーバへの分散は DNS round robin であり、均等に分散していることが判る。
但し16日の18:28 に、この DNS round robin は停止し、live1 のみに集中する
ように設定されている。最終的に効果が揃うのは DNS 上の TTL MAX として
設定されていた 3 時間後であるが、グラフ上では 18:30 ごろから live1 への
アクセスが上がり始めていることから、比較的早い時期から最初の効果があるの
ではないかと考えられる。
(これは DNS 側の記録を見るしかないか?)
ミラーサイトのみ
ピークタイム域における、
1分毎の各ミラーの転送量。
但し cyber は有効なログを得られず、また、organova は全くログを採取
できていなかったので両者ともグラフには含めていない。
ミラーサイトは入れ換わりなどが激しいので以下に動きを記しておく。
- 重みは sun-i, oki, cyber を 3 、他を 1 に設定していた。
- toyamaが参加したのはオペレーションミスもあって 16:07 頃から。
- misatoは15:03ごろからダウンし、16:11 頃に復帰。
- okiの重みは 16:15 頃に 3 から 5 に上げた。
- sun-i の重みは 16:37 頃に 3 から 1 に下げた。
グラフはこれらをほぼ忠実に反映している。
特に sun-i が 15:20頃から乱高下を繰り返した後に能力が出なくなった点に注目。
この後 oki の重みを上げたため、相対的に少し sun-i の負荷が減った。
そのすぐ後に sun-i の重みを 1 に下げて負荷を下げており、
それらの結果として安定が見られている。
乱高下するのは Live! Eclipse 1998 Annualer における solar でも見られており、
過負荷の前兆として考えても良いかもしれない。
日本語/英語ページアクセス率の推移
各サーバに配置された日本語ページと英語ページの参照率を以下に。
具体的には URL に /ja/ と /en/ が含まれる HTML ファイルへのアクセスを
それぞれ 10 分ごとにカウントし、全体を 100% とした場合の英語ページの率を
示したもの。
トップサーバとミラーサーバの比較
ピークタイム域における、
10分毎のトップサーバ及びミラーサーバの日本語、英語ページのヒット数の比率の平均。
但し cyber は有効なログを得られず、また、organova は全くログを採取
できていなかったので両者ともグラフには含めていない。
全体に 30% - 50% 程を推移しており、これがトップサーバとミラーサーバで
大差無いことが判る。
ただし最も集中したピーク領域では、両者共に英語ページの率が大きく下がる。
この時間対は最もリロードが多かった時間帯ではないかと思われるが、それだけ
日本人が多くリロードしたということか?
この時間帯では、常にミラーの方がトップを下回る傾向を示しており、
これもリロードの結果であることを窺わせる。
ミラーサイトごとの比較
ピークタイム域における、
10分毎の各ミラーにおける比率。
但し cyber は有効なログを得られず、また、organova は全くログを採取
できていなかったので両者ともグラフには含めていない。
kyoto-su, toyama などのサーバに関しては、
ピークタイムでこそ10 分ごとのヒット数が日本語対英語で 1000:220 程度あるが、
18時ごろでは 45:33 などと、かなりの少数になってしまう。
つまり平均的な比率を出すには適切なサンプル数に達していない。
oki, sun-i の 18時ごろの サンプル数は 200:100 程度である。
そのため oki, sun-i 以外のミラーサーバにおいて、
ピーク時間帯前後で乱高下しているように見える部分は適当に丸めて解釈する
必要がある。
ミラーサーバによって海外からのアクセス率がくなったりすることはないようだ。
これは今回のミラー配置の方法が強制的なラウンドロビンによるものであった
ため、ユーザが自分で適切なサーバを選ぶ自由がなかったためであろうが、
それにしてもユーザがミラーを選び直すなどして、自然に海外のユーザが
海外のサーバに誘導されることもなかったということが判る。
(oki は国内向けに強く、sun-i は US 向け(海外向け)に強いサーバである)
つまりこのミラー構成では、ユーザは一旦自分にとって不都合なサーバに
振り分けられた場合に、全く救われないことを意味する。
適切な振り分けを行うか、少しでもユーザが自分の意思でサーバを選択できる
余地を与えるのが良いのではないか?
サーバ能力他資料
トップサーバー
live1 東大
Pentium II 300MHz / 256MB / BSD/OS 4.0
Apache 1.3.2
10Mbps(対NSPIXP2,SINET幹線)
live2 ITJIT
Sun Ultra II(UltraSPARC 168MHz x 2, 256MB memory) / Solaris 2.5.1
Apache 1.3.2
100Mbps(対NSPIXP2、JPIX)
live3 TAMA
PC/AT note(?) / BSD/OS (?)
Apache 1.3.2(?)
768Kbps ITJIT(?)
ミラー
oki 沖電気
Sun Ultra1 (UltraSPARC 168MHz, 128MB) / Solaris2.6
Apache1.3.4
国内30Mbps、海外6Mbps
sun-i 株式会社サン・コミュニケーションズ MyDo!WEB (sun-i.net)
SGI Challenge
Netscape-Enterprise3.0
T3 over (in US, Sprintlink 他)
kyoto-su 京都産業大学
PentiumII 300MHz / 64MB / HDD:4.3GB / Linux
Apache 1.3.4
1.5Mbps SINET
kyushu 九州大学
Sun Enterprise2000 / 512MB / Solaris2.6
apache-1.3.3
45Mbps SINET
misato みさと天文台
PentiunPro 180MHz 72MB / FreeBSD-2.2.8-RELEASE
apache-1.3.4 + dispatchd
768Kbps IIJ / 256Kbps SPIN
Toyama
Pentium-II 333MHz 512MB / FreeBSD-2.2.7.RELEASE
apache-1.3.3
1.5Mbps HTCN
Cyber Fleet, Inc.
pentium133 memory 32MB / BSD/OS 2.1(localhack沢山)
wildcat3.2.0 + dispatchd
1.5Mbps * 2 / 1.5Mbps * 2 / 4.5Mbps (in US)
Organova (columbia.digiweb.com)
Solaris 2.6
Apache1.2.4
Solar-eclipse.org
参考まで
solar-eclipse.org
FreeBSD
Apache
ご意見、ご質問などは yasuda@bakkers.org までお願いします。
1999.4