我正在考虑通过将渲染移至客户端来提高网站性能。当前堆栈是:(router, sphinx, db) + HTML
。我正在考虑将其更改为:(router, sphinx, db) + JSON
.
所有客户端都运行 i7 处理器,他们不太关心客户端渲染性能。我们还有客户端应用程序可以连接到 resful JSON API(这里不讨论客户端与服务器端渲染)。
1) 在服务器上渲染大约需要 20% 的时间(80% 用于路由、sphinx、db)。我听说输出 JSON 大约需要输出 HTML 一半的时间,所以我认为这将是 10% 的改进,而这 10% 可以用于数据处理。我说得对吗?
2) 我相信一台服务器 10% 的改进意味着,为了让一个拥有 100 台物理服务器的大型应用程序获得相同数量的性能,我们需要少 10% 的服务器:在这种情况下是 90 台而不是 100 台。这是正确的吗?
3) 如何在 Ruby 中获得最佳性能以输出 JSON 而不是任何其他格式?
4) 以日常场景为例,如果我们输出 JSON 而不是 HTML,性能会有什么不同?