- 2009 年 1 月 24 日
- [ Column ]
データセンターの分散化をする場合、いまでもDNSラウンドロビンは現役です。
YahooやGoogleを始め、広くでも使われています。
先日、お客さんのサイトでトラブルがあり、ログを比較していたところ、特定のセグメントに、
かなり偏りがあることが判明しました。
1年ぐらい前はそんなことはなかったので、DNSラウンドロビンの誤差とも思ったのですが、
ログの量がほぼダブルスコアでした。はじめ、ログ収集でミスがあるのではないかと
必死に追ったのですが、全く問題がありませんでした。
トラフィックを見たところ、トラフィックも間違いなくダブルスコアになっています。
間違った、比率で応答するDNSがいるのかとも思ったのですが、全く見つけられませんでした。
そんな中、鈴木君が、ログ解析システムで、データセンター毎のユーザエージェントを
眺めていて、「あれ?なんかデータセンター毎のユーザエージェントがおかしい」言い始めました。
そう、Vistaが特定のデータセンターに集中していたのです。
| Data Center |
DNSラウンドロビンIP数での比率 |
Windows XP比率 |
Windows Vista比率 |
| A |
25 |
23 |
7 |
| B |
50 |
47 |
17 |
| C |
25 |
30 |
76 |
※OSとブラウザの組み合わせで出る問題なので、OSだけのデータでは語れないので参考値
いろいろと、調べて見ると、同じように騒いでいるページがあることがわかり、
結局、Vistaのgethostbynameが、DNSラウンドロビンの時は、
一番小さいアドレスを返す仕様(バグ?)であることが判明しました。
micorsoftさんもDNSラウンドロビンを使っているように見えるのですが、
みんな、困っていないのでしょうか?
Windows7でこの問題が治っているのを祈りたいところです。
それとも、getaddrinfoだと大丈夫なのでしょうか?
今後も改善されないとすると、結構、困ったことになりそうです。