2

フラスコアプリの負荷テスト用のバッタテストを作成しようとしています

これは私の locustfile.py です

from locust import HttpLocust, TaskSet, task


class DataBaseTest(TaskSet):
    def on_start(self):
        pass

    @task(1)
    def get_home(self):
        self.client.get("/")


class WebsiteCassandra(HttpLocust):
    task_set = DataBaseTest
    min_wait = 5000
    max_wait = 9000

ポート 5000 でフラスコ Web アプリを実行する

app.run("0.0.0.0", 5000)

そして、私の locustfile.py があるディレクトリ

locust --host=http://127.0.0.1:5000

テストを実行すると、次のエラーが発生します

92  GET /   HTTPError(u'502 Server Error: Proxy Error ( Connection refused ) for url: http://127.0.0.1:5000/',)

URL を手動で要求するとうまくいきます。しかし、バッタを通してではありません。なぜだと思いますか?

4

1 に答える 1

0

イナゴではなく、リクエストモジュールを使用して、非常によく似た問題を抱えていました。多分原因は同じだと思いますが。

私にとって、問題はプロキシ構成でした。HTTP_PROXY 環境変数を設定しました。そのため、リクエストはその設定を取得し、私のプロキシを介して忠実にリクエストを行いました。
これは、スクリプトの接続がマシンからプロキシに移動し、その後マシンに戻ったことを意味します。マシンのファイアウォールで開発用フラスコ サーバーのポートが開かれていないため、プロキシからの接続が拒否されました。

したがって、短い答えは、スクリプトで http プロキシの設定を解除することです。次のように簡単です。

import os
del os.environ['http_proxy']
于 2016-02-10T17:23:49.817 に答える