1. ホーム
  2. python

[解決済み] ローカルFlaskサーバーのリクエストの遅さ

2023-02-22 23:50:44

質問

ローカルサーバで Flask を使い始めたところ、リクエスト/レスポンス時間が私が感じるよりずっと遅いことに気づきました。

以下のようなシンプルなサーバーでは、レスポンスに5秒近くかかります。

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "index"

if __name__ == "__main__":
    app.run()

何か思い当たることはありますか?それとも、ローカルサーバーがこうなっているだけなのでしょうか?

どのように解決するのですか?

OK 私はそれを考え出した。それは、Werkzeug と ipv6 をサポートする OS の問題であるようです。

Werkzeug のサイトより http://werkzeug.pocoo.org/docs/serving/ :

最近の Linux システム、OS X 10.4 以降、および Windows Vista などの ipv6 をサポートし、設定されているオペレーティング システムでは、ローカル サーバーにアクセスすると、一部のブラウザで非常に遅くなることがあります。その理由は、「localhost」が ipv4 と ipv6 の両方のソケットで利用できるように構成されていることがあり、一部のブラウザは最初に ipv6 にアクセスしようとし、次に ivp4 にアクセスしようとするからです。

そこで、私の hosts ファイルから次の行をコメントアウトすることで、ローカル ホストから ipv6 を無効にするように修正しました。

::1             localhost 

これを実行すると、遅延の問題は解消されます。

Flaskをすごく気に入っているので、フレームワークの問題でなくてよかったです。やっぱりダメなんですね。