Python 如何控制每个后端实例的最大请求数
我想知道在一个后端实例上允许同时处理多少个请求。Python 如何控制每个后端实例的最大请求数,python,google-app-engine,Python,Google App Engine,我想知道在一个后端实例上允许同时处理多少个请求。 因此,我尝试运行以下代码。 服务器端代码 class BackendProcess(webapp2.RequestHandler): def post(self): id = uuid.uuid4().hex time.sleep(30) self.response.out.write(id) $('#backendtest').on('click', function(){
因此,我尝试运行以下代码。
服务器端代码
class BackendProcess(webapp2.RequestHandler):
def post(self):
id = uuid.uuid4().hex
time.sleep(30)
self.response.out.write(id)
$('#backendtest').on('click', function(){
$.ajax({
type: 'POST',
dataType: 'text',
url: "{{backend_url}}" + '/test',
success: function(response){
console.log(response);
}
});
});
后端。yaml
backends:
- name: backstream
class: B1
instances: 1
options: public
客户端代码
class BackendProcess(webapp2.RequestHandler):
def post(self):
id = uuid.uuid4().hex
time.sleep(30)
self.response.out.write(id)
$('#backendtest').on('click', function(){
$.ajax({
type: 'POST',
dataType: 'text',
url: "{{backend_url}}" + '/test',
success: function(response){
console.log(response);
}
});
});
我在chrome浏览器上打开了8个选项卡,并单击每个选项卡上的按钮“#backendtest”。然后,前6个标签的响应几乎同时返回,但第7个和第8个标签的响应在第1个标签响应30秒后返回。
这意味着后端实例只能同时处理6个请求。
因此,我又添加了一个实例,如下所示。
backends:
- name: backstream
class: B1
instances: 2
options: public
但第7个和第8个标签的响应仍然在第1个标签响应30秒后返回。它是怎么来的?????
这是日志。
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
I 2013-05-05 05:50:31.217保存;键:appstats:001200,部分:27字节,完整:1565字节,开销:0.000+0.002;链接:
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;链接:
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;链接:
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;链接:
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;链接:
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;链接:
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;链接:
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;链接:
我还在前台实例上尝试了8个请求测试,结果是一样的。
因此,这不仅仅是后端现象。这是因为后端选项“public”。
在我将其更改为“常驻”以删除选项语法后,实例之间的负载平衡工作正常。
我猜负载平衡在“公共”后端实例之间不起作用。您希望发生什么?我想增加可以一次处理的请求数,特别是在后端实例上。如果不可能,我准备增加实例数。但它似乎不适合我的测试。