アプリをVPSにデプロイしたばかりで、Apache2+パッセンジャーセットアップでRails3.1.3とRuby1.9.3-p125を使用しています。最新のgmaps4rails1.5.2を使用しています。
アプリケーションをローカルで実行すると、gmaps4railsを使用して場所を非常に高速に見つけることができます。VPSでこれを試すと、60〜70秒かかります。次の行にコメントを付けると、フォームを非常に速く送信できますが、場所は取得されません。
acts_as_gmappable :check_process => false
本番サーバーで場所を見つけたら、正常に動作し、地図が表示され、モデルに正しい場所が保存されます。
アップデート
WEBrickを使用して開発モードでVPSでアプリケーションを実行し、同じテストを実行すると、処理も遅くなります。これにより、apache2、passenger、および本番環境が除外されます。これはVPSの問題だと思い始めています。
アップデート
処理に時間がかかる理由をまだ調べようとして、サーバーのコンソールでGmaps4railsを手動で次のように使用しました。
require 'gmaps4rails'
Gmaps4rails.geocode("66 Elizabeth st, Melbourne Victoria Australia")
これには62秒かかり、エラーメッセージは表示されませんでした。
アップデート
gmaps4railsのソースコードを読み、これがすべてのhttpリクエストの問題である可能性があると考えました
だから私はこれを証明するためにカールを使用しました
curl www.google.com.au
これには63秒かかりました。私の開発ボックスでは2秒でした。サーバーでのhttpリクエストが遅れているようです。
アップデート
私が現在使用しているVPSは、最近多くのDOS攻撃を受けており、おそらくまだいくつか発生しているようです。これにより、ネットワークの遅延とパケット損失が増加する可能性があります。