谷歌应用引擎的灵活性总是将流量路由到同一个实例?



在谷歌应用引擎flexible上部署的使用集群的node.js应用程序确实可以扩展,但流量总是发送到一个实例。

该应用程序使用集群模块来利用所有cpu,指定缩放度量的唯一方法是使用cpuutilization,所以我们做到了。

缩放效果良好,一旦达到target_utilization,就会产生另一个实例。

但问题是,无论有多少实例,相同的负载测试都需要完全相同的时间。这只能意味着流量没有在所有实例之间进行分配。

所以我想知道流量是否总是流向同一个实例,有什么方法可以证明或改进吗?

编辑:

负载测试只是一个常规的负载测试,第一个测试是20个线程,在一个循环中上升5秒4次。

编辑2:

更新:它现在似乎正在正确缩放。不确定我的代码库有多大变化,但路由也做得很好。谷歌云平台更新可能解决了我的问题?

如果您在只有最少实例数的情况下启动测试,并且在扩展测试时,测试之间的时间不会改变,因为扩展所做的是允许应用程序将请求量与服务请求所需的资源相匹配,从而避免5XX错误。

如果你的测试正在生成派生实例,那么这些实例是有效的,因为如果不有效,它们就会被杀死,因为它们不需要。伸缩所做的并不是加快服务时间,而是匹配在任何给定点服务X个请求所需的资源量,以便应用程序始终能够以相同的速度处理请求。

Buckors关于缩放的解释是正确的,但是,您仍然应该看到负载测试的改进。检查实例是否真正获得分布式负载的一种快速方法是检查Stackdriver日志。

你可以去

Stackdriver->GAE应用程序-[服务名称]

然后,您可以看到您的服务正在处理/处理的请求列表。然后,您可以通过位于云控制台AppEngine->Instances下的单个AppEngineFlex实例ID进行筛选,您将看到类似"aef-服务名称-字母数字"的ID

如果你的请求没有正确路由,我鼓励你在私人问题中发布你的问题,谷歌云工程应该能够调查你的项目。

相关内容

  • 没有找到相关文章

最新更新