如何控制每个后端实例的最大请求数

时间:2013-05-04 22:08:02

标签: python google-app-engine

我想知道在后端实例上允许同时处理多少个请求 所以,我试着运行以下代码。

服务器代码

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

backends.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);
                    }
                   });
            });

我在镀铬浏览器上打开了8个标签,然后在每个标签上点击了“#backendtest”按钮。
然后,几乎同时返回前6个选项卡的响应,但在第1个选项卡响应后30秒后返回第7个和第8个选项卡的响应。
这意味着后端实例只能同时处理6个请求 所以,我又增加了一个如下例子。

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(KHTML,与Gecko一样)Chrome / 26.0.1410.64 Safari / 537.31 <登记/> 我2013-05-05 05:50:31.217已保存; key: appstats :001200,part:27 bytes,full:1565 bytes,overhead: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 <登记/> 我2013-05-05 05:50:29.420已保存; key: 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 <登记/> 我2013-05-05 05:50:08.982已保存; key: appstats :078900,part:27 bytes,full:1565 bytes,overhead: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 <登记/> 我2013-05-05 05:50:07.214已保存; key: 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 <登记/> 我2013-05-05 05:50:05.179已保存; key: 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 <登记/> 我2013-05-05 05:50:03.211已保存; key: appstats :073200,part:27 bytes,full:1565 bytes,overhead: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 <登记/> 我2013-05-05 05:50:00.962已保存; key: appstats :070900,part:27 bytes,full:1565 bytes,overhead: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 <登记/> 我2013-05-05 05:49:59.012已保存; key: appstats :069000,part:27 bytes,full:1565 bytes,overhead:0.000 + 0.003;链接:http://xxxxxxxxx.appspot.com/_ah/sta


我也在前端实例上尝试了8个请求测试,结果是一样的 所以,这不仅仅是后端现象。

1 个答案:

答案 0 :(得分:0)

这是因为后端选项“公共”  在将其更改为“常驻”后删除选项语法后,实例之间的负载平衡工作正常 我想负载平衡在“公共”后端实例之间不起作用。