黒川仁の文具堂ブログ三昧

Hitoshi Kurokawa, an engineer at Next SeeD

お名前.com VPSで名前解決不具合

2 comments

年末からお名前.comのVPSを借りて、いろいろと試してみている。

正月にこのブログなど、個人のサイトをこのサーバへ移行して運用を始めた。

その際にブログと一緒にサーバ移行をした自分用システムのレスポンスが
異常に遅くなったことに気づいた。

これはAmazonのAPI (Product Advertising API)を利用するシステムで、Rubyで開発している。

このブログでペタペタ貼ってるAmazonへのアフィリエイトはコレでHTMLを生成する。

移行前のVPSでは数秒で検索結果が返ってきていたのに
数十秒程度かかるようになったのだ。

なんだろうと思ってSSHでログインして調査していたら
どうやら名前解決のところが怪しいらしい

しばらくすると、どうもAmazonのAPIサーバだけでなく
JPドメイン全般がダメっぽいということがわかった

日本向けAmazonのAPIサーバは”webservices.amazon.co.jp”

で、yahoo.co.jpをサンプルにしてtimeでレスポンスを測定してみることにした。

digやnslookupでのレスポンスは問題ない。

time curl yahoo.co.jp
----------------------------------------------------------
real    0m19.275s
user    0m0.002s
sys     0m0.015s
----------------------------------------------------------

yahoo.co.jpへHTTPでアクセスするのに約20秒かかっている。
ちなみに、curlはWebサーバのコンテンツを閲覧できるコマンドで
コンテンツ部は省略している。

time curl gmo.jp
----------------------------------------------------------
real	0m20.104s
user	0m0.008s
sys	0m0.011s
----------------------------------------------------------

お名前.comのグループ本家GMOのサイトも20秒
だいたいどれも20秒なのでタイムアウトの香りがする。

hostsにIPアドレスを書いてあげると
レスポンスが0.02秒に・・・・

vi /etc/hosts
----------------------------------------------------------
203.216.227.176 yahoo.co.jp
----------------------------------------------------------

time curl yahoo.co.jp
----------------------------------------------------------
real    0m0.020s
user    0m0.006s
sys     0m0.010s
----------------------------------------------------------

もう少し調べてみると、Rubyで書かれたリゾルバに置き換える
“resolv-replace”というライブラリがあることを突き止めた。

方法はただ「require ‘resolv-replace’」とするだけ。

早速試してみると、速度が改善した!

irb(main):001:0> require 'open-uri'
=> true
irb(main):002:0> init = Time.now; open('http://yahoo.co.jp'){|f| f.read }; puts (Time.now - init)
20.16077
=> nil
irb(main):003:0> require 'resolv-replace'
=> true
irb(main):004:0> init = Time.now; open('http://yahoo.co.jp'){|f| f.read }; puts (Time.now - init)
0.070994
=> nil

どうも、システムコールで名前解決するとダメらしい。

後輩も同じサーバを借りているので触らせてもらったら
まったく問題なかったので、サーバの問題なんじゃないかとは思う。

根本的な解決ではないけれどもリゾルバについて勉強になったのでよしとする。
現在、サポートに問い合わせ中。

あと、JPドメインの名前解決が怪しいことから
IPv6が原因である可能性もあるようだ。

せっかくなのでもう少し調べてみる予定。

美味しんぼ100巻超えてたんか・・・

Written by 黒川仁(文具堂)

1月 9th, 2010 at 12:35 am

2 Responses to 'お名前.com VPSで名前解決不具合'

Subscribe to comments with RSS or TrackBack to 'お名前.com VPSで名前解決不具合'.

  1. ちょっと前お名前のDNSが盛大にコケてましたがその影響もあるんでしょうか、、

    kota

    13 1月 10 at 1:44 AM

  2. そういえば、障害情報にそんな話が載っていましたね。なにかしら、影響があるのかもです。
    まだ、サポートからは調査結果の連絡がありませんが。

    黒川仁(文具堂)

    13 1月 10 at 3:06 AM

Leave a Reply