開発中のnet/http
で作業していると非常に遅いです。私はnet-http-spy
gemをインストールして各リクエストについての情報を得ました。「接続を開く」の部分が最も時間がかかります(10秒以上)。さらに、接続を維持しているわけではないので、要求ごとにそれを再度開く必要があります。ruby net/httpの接続が非常に遅い
opening connection to maps.google.com...
# ~10 seconds
opened
私は何とか設定のデフォルト値の一部でnet/http
ライブラリのパフォーマンスを改善できる方法はありますか?リクエスト固有の修正は必要ありませんが、問題をグローバルに修正するものがあります。私はgeokit
gureをcurentプロジェクトで使用しています。私は、それがnet/http
を使用していることを知っている以外は、リクエストを内部的に処理する方法を変更することができず、プロダクション(Heroku)
私はMac OS X Lionでruby 1.9.2-p290を使用しています。 Rubyはrbenvでインストールおよび管理されます。ここで
はサンプルコードです:
require 'net/http'
require 'uri'
time = Time.now.to_i
uri = URI.parse("http://maps.google.com/maps/geo?q=Chicago&output=xml&oe=utf-8")
Net::HTTP.get(uri)
puts (Time.now.to_i - time)
Net::HTTP.get(uri)
puts (Time.now.to_i - time)
それは本当に問題で、私はそこに入れてどのようなURLません。各要求に対して常に正確に10秒かかる。
私たちはコードなしでコードの問題を診断することはできません。 Net :: HTTPでは、マシンが非常に負荷がかかっていないか、または接続先のホストが応答が遅い場合を除き、接続を正常に開くのに10秒かかることはありません。 –
サンプルコードを追加しました。本当に私が要求するリモートURLか、マシンが過負荷になっているかどうかは関係ありません。要求ごとに常に正確に10秒かかります。これは本当に奇妙です。 –
名前の代わりにIPアドレスを使用してみてください。問題が解決しない場合は、dns serverで問題が発生しています。 – Ineu