Node.js - 在部署到 google 云之前我需要知道我的资源使用情况

Node.js - I need to know my resource usage before deploying to google cloud

编辑:仍未回答。我很感激到目前为止收到的建议,但我仍然没有找到正确的方法来测试我的服务器正在使用的资源量。我决定使用 GCE 而不是 GAE,但我仍然想测量资源使用情况。

我搜索了整个 google 以及 SA,但似乎无法弄清楚这一点。

我想将我的(非常小的)node.js 服务器部署到 Google App Engine 或 Google Compute Engine(还不确定使用哪个)。

我看到他们根据您使用的资源量收费,但我如何才能在做出决定之前检查这一点?基本上我想做的是找到一种方法来分析我的服务器并查看它使用什么 CPU/DISK/NETWORK/RAM/Etc,然后可能对我的代码进行一些改进以尽可能降低使用率。

我是一名业余程序员,此服务器仅供个人使用,因此我不需要任何花哨的东西。我只想将其托管在 google 而不是我的家庭服务器上。我真正担心的是,由于我不是专业人士,我的代码可能会反复执行一些疯狂的后台操作,这会浪费我的使用量。

快速了解我的服务器的功能: IntelliJ 制作的基本 node.js express 模板,然后我添加了我的代码以坐下来听 Firebase。当 firebase 收到一条消息时(可能一天一两次,文本消息大小相当),服务器会向一些设备发送一条快速 GCM/FCM 消息。极其简单的服务器,很少的代码。没什么疯狂的。

作为对我的一点奖励,如果您对我应该使用哪个平台有任何建议,我会全力以赴。

  1. 如果您不需要此服务器 运行 24x7,请使用 App Engine。如果一个实例在 15 分钟内未被使用,它将停止该实例。新实例的启动时间取决于您的代码,但对于 Node.js 个实例,它不应该太长。

  2. 一般来说,在 App Engine 上 运行 应用程序比 Compute Engine 更容易,但如果您使用单个实例并且不经常更改代码,则差异可以忽略不计。

  3. A​​pp Engine 有大量的免费配额。在使用量超过某个阈值之前,您可能最终无需支付任何费用。

  4. 您可以 运行 在您现有的服务器上使用一些诊断工具,但即便如此您也会得到一个近似值 - 位于不同网络上的具有不同资源组合的服务器可能会占用资源不同的。不过,您也许可以获得相当准确的内存使用估计。

如果这是一个没有太多用户的小应用程序,即使是一个小实例也应该能够处理它。尝试没有坏处——从最小的实例开始,测试,如果测试失败则转到下一个实例。您的主要关注点应该是有足够的内存来处理少量请求。

至于您的服务器可以处理的请求数,您可以配置自动缩放。它是 App Engine 中的默认选项,可以启用灵活的 运行 时间。然后你可以拥有最小的实例(即你的服务器不会因为内存不足而崩溃)运行ning,如果那个小实例不够用,将添加另一个实例。

好吧,一个多月后,我想我还是自己回答这个问题吧。

我最后做的是在 Computer Engine 上创建一个基本实例(微型。可用的最小实例)并让它在那里放置几个星期。我回顾了数据,看看有哪些好的基线并记下了。

然后我把我的服务器代码 运行 放在服务器上。我离开了几天,改变了它,更新了它,等等。只是试图模拟我会做的事情。在我的客户端应用程序上发送消息(这就是这个服务器在说完之后正在做的事情),我让它再持续几周。

剩下的就是历史了。我查看了基线,然后查看了我的新内存 CPU、网络和磁盘使用情况,然后我们开始了。很高兴去。我的免费试用还没有结束,所以这是一个免费实验。

好消息是我的服务器 'lightweight' 比我想象的要多。