对于节点 Web 服务器,拥有更多 vCPU 还是 RAM 更好?
For a node web server, is it better to have more vCPUs or RAM
我是 运行 Digital Ocean 云服务器上的节点应用程序,该应用程序仅服务于 API 请求。所有客户端资产都由 CDN 提供服务,数据库是远程访问的,而不是存储在服务器实例本身上。
我可以选择更多的 vCPU 或 RAM。我完全不知道这意味着什么,所以任何反馈都是很大的帮助。
一个 node.js 服务器将 运行 你的 Javascript 只在一个 CPU 上,所以它对你的 Javascript 运行 没有帮助拥有更多 CPUs 的速度更快,除非您将您的应用程序集群并且 运行 多个 node.js 进程共享您的应用程序的负载,或者除非同一服务器上有其他进程正在使用你的服务器。
只有当您确实需要更多 RAM 时,拥有更多 RAM(内存)才会有所改善。这完全取决于您的应用程序的内存使用情况以及您已经拥有多少内存。您可能已经知道您是否 运行 内存不足,因为当 OS 开始页面交换时您的速度会急剧下降,或者您的进程在内存不足时崩溃。
因此,为了知道哪个对您更有利,您确实需要更多有关现有应用程序执行情况的数据(它是否因 CPU 密集操作而陷入困境,以及它使用了多少 RAM与您可用的数量相比)。很可能这两者对您来说都不重要 - 这完全取决于使用配置文件或您的服务器进程。
如果您没有比这更多的数据并且必须做出选择,请选择 vCPUs,因为在某些情况下它可能对您有所帮助(并让您可以选择在未来,如果需要的话),而在你甚至不使用你已经拥有的东西时添加更多 RAM 对你根本没有帮助。
我是 运行 Digital Ocean 云服务器上的节点应用程序,该应用程序仅服务于 API 请求。所有客户端资产都由 CDN 提供服务,数据库是远程访问的,而不是存储在服务器实例本身上。
我可以选择更多的 vCPU 或 RAM。我完全不知道这意味着什么,所以任何反馈都是很大的帮助。
一个 node.js 服务器将 运行 你的 Javascript 只在一个 CPU 上,所以它对你的 Javascript 运行 没有帮助拥有更多 CPUs 的速度更快,除非您将您的应用程序集群并且 运行 多个 node.js 进程共享您的应用程序的负载,或者除非同一服务器上有其他进程正在使用你的服务器。
只有当您确实需要更多 RAM 时,拥有更多 RAM(内存)才会有所改善。这完全取决于您的应用程序的内存使用情况以及您已经拥有多少内存。您可能已经知道您是否 运行 内存不足,因为当 OS 开始页面交换时您的速度会急剧下降,或者您的进程在内存不足时崩溃。
因此,为了知道哪个对您更有利,您确实需要更多有关现有应用程序执行情况的数据(它是否因 CPU 密集操作而陷入困境,以及它使用了多少 RAM与您可用的数量相比)。很可能这两者对您来说都不重要 - 这完全取决于使用配置文件或您的服务器进程。
如果您没有比这更多的数据并且必须做出选择,请选择 vCPUs,因为在某些情况下它可能对您有所帮助(并让您可以选择在未来,如果需要的话),而在你甚至不使用你已经拥有的东西时添加更多 RAM 对你根本没有帮助。