从另一个调用一个appengine项目:慢速UrlFetchService

时间:2017-06-30 07:28:45

标签: google-app-engine

我有两个appengine项目A和B,我需要调用B从A公开的api.api请求的服务器端延迟(在B上)大约是300 ms。我在python中使用urllib/urllib2似乎正在使用url fetch服务,并且需要大约3秒才能完成请求。

我的问题是,由于这是从appengine到appengine的电话,有没有办法让它更快?如果允许直接连接而没有url-fetch-service,那么它应该更快。

1 个答案:

答案 0 :(得分:0)

如果你想利用你的应用程序在GAE上运行的事实,你应该在同一个应用程序中使它们成为独立的服务/模块。只有这样,GAE才会知道他们的友情和#34;并且可以快速执行许多出口和入口请求处理。

否则GAE不知道一个应用程序发送的数据包将发往另一个GAE应用程序。 可以确定这一点,但通过进行额外的处理,这将减慢所有应用程序的出口方面的速度 - 对于可以从此类处理中受益的极小百分比的应用程序而言,不值得恕我直言。

在入口方面相同 - 在GAE基础设施中有很多路由和安全处理需要在请求到达应用程序之前完成。即使请求来自GAE,其中一些也需要完成 - 它可能来自恶意应用程序 - 再次确定是否可以为少数应用程序制作快捷方式所需的额外处理会减慢所有应用程序的入口端。

如果您愿意,那与机场的连接服务相似:如果您有连接航班,您可以从抵达大门61到离开的大门62只花几秒钟。否则,您必须退出安全区域并再次通过签入和安全检查。这可能需要不同的时间,这取决于不仅仅是大门之间的距离。