1

バックエンド インスタンスで同時に処理できるリクエストの数を知りたいと思っていました。
というわけで、以下のコードを実行してみました。

サーバー側コード

class BackendProcess(webapp2.RequestHandler):
    def post(self):
        id = uuid.uuid4().hex
        time.sleep(30)
        self.response.out.write(id)

バックエンド.yaml

backends:
- name: backstream
  class: B1
  instances: 1
  options: public

クライアント側のコード

$('#backendtest').on('click', function(){
                $.ajax({
                    type: 'POST',
                    dataType: 'text',
                    url: "{{backend_url}}" + '/test',
                    success: function(response){
                        console.log(response);
                    }
                   });
            });

Chrome ブラウザーで 8 つのタブを開き、各タブで「#backendtest」ボタンをクリックしました。
すると、最初の6タブのレスポンスはほぼ同時に返ってきましたが、1タブ目のレスポンスから30秒後に7、8タブのレスポンスが返ってきました。
これは、バックエンド インスタンスが同時に 6 つのリクエストしか処理できないことを意味します。
そこで、次のようにインスタンスをもう 1 つ追加しました。

backends:
- name: backstream
  class: B1
  instances: 2
  options: public

それでも、1 番目のタブの応答から 30 秒後に 7 番目と 8 番目のタブの応答が返されました。
どうやって来るの?????

これがログです。

2013-05-05 05:50:31.220 /test 200 30035ms 0kb Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (Gecko のような KHTML) Chrome/26.0.1410.64 Safari/537.31
I 2013-05-05 05: 50:31.217 保存されました。キー: appstats :001200、部分: 27 バイト、完全: 1565 バイト、オーバーヘッド: 0.000 + 0.002; リンク: http://xxxxxxxxx.appspot.com/_ah/sta
2013-05-05 05:50:29.423 /test 200 30186ms 0kb Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML、Gecko など) Chrome /26.0.1410.64 Safari/537.31
I 2013-05-05 05:50:29.420 保存されました。キー: appstats:099400、部分: 27 バイト、完全: 1565 バイト、オーバーヘッド: 0.000 + 0.003; リンク: http://xxxxxxxxx.appspot.com/_ah/sta
2013-05-05 05:50:08.984 /test 200 30034ms 0kb Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML、Gecko など) Chrome /26.0.1410.64 Safari/537.31
I 2013-05-05 05:50:08.982 保存されました。キー: appstats :078900、部分: 27 バイト、完全: 1565 バイト、オーバーヘッド: 0.000 + 0.003; リンク: http://xxxxxxxxx.appspot.com/_ah/sta
2013-05-05 05:50:07.217 /test 200 30189ms 0kb Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML、Gecko など) Chrome /26.0.1410.64 Safari/537.31
I 2013-05-05 05:50:07.214 保存されました。キー: appstats:077000、部分: 27 バイト、完全: 1567 バイト、オーバーヘッド: 0.000 + 0.154; リンク: http://xxxxxxxxx.appspot.com/_ah/sta
2013-05-05 05:50:05.181 /test 200 30212ms 0kb Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML、Gecko など) Chrome /26.0.1410.64 Safari/537.31
I 2013-05-05 05:50:05.179 保存されました。キー: appstats :075100、部分: 27 バイト、完全: 1565 バイト、オーバーヘッド: 0.000 + 0.002; リンク: http://xxxxxxxxx.appspot.com/_ah/sta
2013-05-05 05:50:03.214 /test 200 30102ms 0kb Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML、Gecko など) Chrome /26.0.1410.64 Safari/537.31
I 2013-05-05 05:50:03.211 保存されました。キー: appstats:073200、部分: 27 バイト、完全: 1565 バイト、オーバーヘッド: 0.000 + 0.002; リンク: http://xxxxxxxxx.appspot.com/_ah/sta
2013-05-05 05:50:00.965 /test 200 30036ms 0kb Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML、Gecko など) Chrome /26.0.1410.64 Safari/537.31
I 2013-05-05 05:50:00.962 保存されました。キー: appstats :070900、部分: 27 バイト、完全: 1565 バイト、オーバーヘッド: 0.000 + 0.002; リンク: http://xxxxxxxxx.appspot.com/_ah/sta
2013-05-05 05:49:59.014 /test 200 30035ms 0kb Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML、Gecko など) Chrome /26.0.1410.64 Safari/537.31
I 2013-05-05 05:49:59.012 保存されました。キー: appstats:069000、部分: 27 バイト、完全: 1565 バイト、オーバーヘッド: 0.000 + 0.003; リンク: http://xxxxxxxxx.appspot.com/_ah/sta


フロントインスタンスでこの 8 リクエストテストも試しましたが、結果は同じでした。
したがって、これはバックエンドの現象だけではありません。

4

1 に答える 1

0

これは、バックエンド オプション "public" が原因でした。
オプション構文を削除して「常駐」に変更した後、インスタンス間の負荷分散は正常に機能しました。
「パブリック」バックエンド インスタンス間では負荷分散が機能しないと思います。

于 2013-05-06T11:07:10.683 に答える