2016-11-16 17 views
1

フラスコのウェブサーバーを使用しているアプリを現在開発中です。フラスコの塗布が非常に遅い

バックエンドのPythonコードは、多くの依存関係を持つ非常に巨大になりました(読者に視点を与えるために1000行のコードに調整されています)。その結果、

、このようにもシンプルなAPI呼び出し:900ミリ秒に近いがサービスを提供するために取っ要求で

@app.route('/', methods = ['GET']) 
def hello(): 
    return "Sample" 

結果。

遅延を改善するためのヒントを教えてもらえますか?このシナリオで青写真の助けを借りるでしょうか?我々が持っている

依存関係が

...(私たちは、おそらく1またはそれらの2が、それについてのthatsを削除することもできます)すべての重要されているすべてのヘルプは大

おかげで、 Galeej

+1

測定するものだけを最適化することができます。だからあなたが何かをする前に、正確に何か問題があるかどうかを知るためにいくつかの計器を入れてください。 –

+0

フラスコ開発サーバーを使用していますか、それともWSGIで展開していますか? –

+0

なぜ物事が遅いのかを知るには、測定する必要があります。時間はどこにありますか?私はそれがあなたが示した機能にあるとは思わない。 Flaskは、他のコードが何であるか気にしません(CGIを使って配備されたとき)ので、コードの行は実際には何の意味もありません。 WSGIミドルウェアはありますか?要求前のプロキシはすべてPythonにヒットしますか?時間はどこかで過ごす必要があります。 – syntonym

答えて

2
を高く評価しています

FlaskはPython用のマイクロフレームワークです。これはWebサーバーではありません。

多くの理由により応答が遅くなることがあります。 しかし、私は依存関係や青写真が問題だとは思わない。 あなたのアプリをどのように配備するかをお手伝いいただければ幸いです。

私は、最も重要かつ簡単なことは、各メインプロセスのタイムスタンプを記録し、次にどの部分のコストが高いかを見つけることだと思います。

+0

Geventを使用して配備しました。 geventでログインできるようにする方法はありますか? – galeej

+0

私はgeventに慣れていません。しかし、あなたはgeventなしでフラスコデーモンを起動し、この方法にアクセスして応答時間のコストをチェックすることができます。 –

関連する問題