如何衡量我的 Google App Engine(网络应用程序)计划每天可以处理多少请求?

How to measure how many requests my plan of Google App Engine (web app) can handle per day?

我已经在 Google App Engine 上开发并部署了一个 JSP/Servlet java 网络应用程序。 Web 应用程序向第三方网站发出 http 请求,以通过 REST 服务检索数据,并在客户端向通过 "appspot" 访问我的 Web 应用程序的用户显示数据。因此它不会在 Google 云端存储任何数据。

由于预算有限,我将不得不坚持 Google Cloud 的免费计划。免费计划最多允许 28 小时的前端实例小时数。根据 Google App Engine 文档,

Instance usage is billed by instance uptime, at a given hourly rate. Billable time starts when an instance starts, and ends fifteen minutes after it shuts down.

我在想:

如果一个实例能够在正常运行的前十五分钟内处理来自客户端的多个请求。

一个实例在其正常运行时间内可以处理的最大请求数是多少?

这与 "Frontend Instance Hours"(28 小时)配额有什么关系?衡量我的网络应用程序每天能够处理多少请求(用户)的最佳做法是什么?

在我的特殊情况下,从网络应用程序发送到第 3 方网站的请求是否包含在配额中?

您所描述的是一个应用程序,它通过对第 3 方 REST 端点进行阻塞(套接字)调用来为 GET 提供服务,然后以某种方式格式化响应,返回 HTML。

限制条件取决于您到达第 3 方端点的方式。 (如果您使用的是原始套接字,请参阅 https://cloud.google.com/appengine/docs/quotas#UrlFetch if you're using UrlFetch, or https://cloud.google.com/appengine/docs/quotas#Sockets。)

您是否可以通过单个实例获得成功是 "it depends" 的事情。一个实例可以在它启动时的某个非常小的增量内处理多个并发请求(假设它被配置为线程安全的)。一个实例可以处理的最大并发请求数取决于几个因素。请参阅 https://cloud.google.com/appengine/docs/scaling(特别是 "Request Throughput and Latency" 部分)。内存也是一个问题。在 Servlet 框架中,请求处理对每个请求占用一定数量的内存。同时请求可能会超出您正在使用的实例大小的限制。

如果您的应用程序负载很轻,您也许可以在免费配额内使用。但是你将不得不测量。