我在Google App Engine上开发并部署了一个JSP / Servlet java Web应用程序。 Web应用程序向第三方网站发出http请求,以通过REST服务检索数据,并将客户端的数据显示给通过" appspot"访问我的Web应用程序的用户。因此,它不会在Google Cloud上存储任何数据。
由于预算有限,我必须坚持使用Google Cloud的免费计划。免费计划允许最多28小时的前端实例小时。根据Google App Engine文档,
实例使用情况按实际正常运行时间按给定的小时费率计费。 实时开始时,可开票时间开始,结束时间为十五分钟 关闭后。
我想知道:
如果一个实例能够在正常运行时间的前十五分钟内处理来自客户端的多个请求。
实例可以从正常运行时间处理的最大请求数是多少?
这与"前端实例时间"有什么关系? (28小时)配额?衡量我的网络应用每天能够处理多少请求(用户)的最佳做法是什么?
在我的特定情况下,是否有从网络应用程序发送到配额中包含的第三方网站的请求?
答案 0 :(得分:1)
您所描述的是通过对第三方REST端点进行阻塞(套接字)调用,然后以某种方式格式化响应,返回HTML来为GET提供服务的应用程序。
约束适用取决于您如何到达第三方端点。 (如果您正在使用UrlFetch,请参阅https://cloud.google.com/appengine/docs/quotas#UrlFetch;如果您使用的是原始套接字,请https://cloud.google.com/appengine/docs/quotas#Sockets。)
你是否可以使用单个实例来实现"它取决于"事情。实例可以在启动时的某个非常小的增量内处理多个同时请求(假设它被配置为线程安全)。实例可以处理的最大并发请求数取决于几个因素。请参阅https://cloud.google.com/appengine/docs/scaling(特别是"请求吞吐量和延迟"部分)。记忆也是一个问题。在Servlet框架中,请求处理每个请求占用一定量的内存。同时请求可能会使您遇到您正在使用的实例大小的限制。
如果您的应用程序负载很轻,您可以在免费配额范围内生活。但是你必须要衡量。