如果我理解正确,如果只使用一个 mongrel 实例,那么如果您收到一个需要一段时间的请求(例如,购物者排队购买大量商品),那么其他请求必须排队等待第一个请求完成。因此,运行另一个 mongrel 实例会打开另一条“客户排队等待服务”。
我们有一个大约 10 人的团队频繁访问 mongrel 所服务的网站。
运行 10 个 mongrel 实例有什么缺点吗?从实际目的来看,对于 10 个常用用户来说,多少个实例比较合适?
这是通过负载均衡器通过 Apache(SSL)代理的。
答案1
这实际上取决于您的应用程序。如果请求很小,那么 10 个 mongrel 应该不是问题。但是如果您有运行时间较长的请求,那么当所有 mongrel 都在忙于处理请求时,内容可能会排队。用户数量实际上并不重要,因为一个浏览器可以同时执行 10 个请求,如果请求花费的时间太长,则会占用所有容量。但是,当您的请求不长时,您应该没问题。我每秒处理大约 2000 个请求(大约 7-15 毫秒),使用 10 个实例在 proxy_balancer 后面。除此之外,当所有 mongrel 都很忙时,您的应用程序不会变得不可用,但响应时间不会是最佳的。如果您可以处理这个问题(用户感知),那么您也没问题。我建议监视您的应用程序和响应时间并从那里开始。如果您可以节省每个 mongrel 使用的 RAM 量,请从 10 开始。如果您需要更多 mongrel,则增加,如果您需要更少,则减少。