【解決済】Windows7のローカル環境でRails動かしたら、ものすごく重かった件
最近Railsでいくつかのアプリケーションを構築してるんですが、最近入れ替えたWindows7上で動かすと、これが遅い遅い。めちゃくちゃ重たい。
毎回アクセスするたびにワンテンポ遅れて反応する状態になってしまいました。WEBrickもMongrelも変わらず重たい。
同じソースを他環境で動かすと全く問題なし。
Windows7上でのRubyの動きが悪いのか?と重い、Rubyのバージョンを変えてみたりjRubyを使ったりしてもあまり解決せず。 Rubyと7の相性が原因なら、そのうちアップデートでなんとかなるか・・・と半ばあきらめ気味だった今日この頃。
ところが、ちょっと重たいバッチ処理をRubyで書く必要があり、それをローカルで動かしてみたところ、他環境と同じくらいの速さで終了。・・・あれ、Ruby自体は普通に動いている・・・?
他にもいくつか重ための処理を書いてみて試すも同じ。どれも普通に動いてくれる。
ということは、Rubyじゃなくて他に原因がある・・・?
と、そのあたりでふと思い出す。
そういえばVistaや7はIPv6ネイティブだったような・・・と。
それまでは、ローカルへのアクセスはlocalhostを使っていたんですが、127.0.0.1を使ってアクセスしたところ普通に速い!
つまり、localhostでアクセスするときは、まず最初にIPv6で名前解決して接続を試みてたということ。もちろんRailsはIPv6で待ち受けていないので接続できず、IPv4で試行するまで待つ必要があったと。
そこで
C:\Windows\system32\drivers\etc\hosts
を開き、
127.0.0.1 localhost
#::1 localhost
とIPv6をコメントアウトしたところ、localhostでもサクサク表示されるようになりました。
結果から見ると全然大したことないんですが、気づくのにかなり時間かかってしまったなあ・・・。
TrackBack URI : http://jaco.dotstyle.net/wp-trackback.php?p=204
コメント (1)