3

我最近在我的部署服务器上安装了 Nginx + Thin,但我不确定这在最后的请求和响应情况下会如何执行。让我们说每秒 1000/req。

所以瘦的速度很好,每秒 10-100 个请求

我想知道请求/响应集群上​​正在处理的大量数据。

指导我这个:-)

4

2 回答 2

3

多个瘦进程和 nginx 能够提供很大的速度,具体取决于您的应用程序在做什么。因此,问题将出在您的应用程序代码、应用程序服务器的速度和数据库服务器上。

Scaling Rails Screencasts最近深入介绍了Scaling Rails 。我建议你从那里开始。我扩展 Rails 的 5 步计划是:

  1. 第一步是使用工具来查看您的应用程序中什么是缓慢的。当您不知道问题出在哪里时,不要花时间优化应用程序中的所有内容。
  2. 每秒处理大量请求的最简单方法是使用页面缓存。
  3. 如果您不能这样做,请缓存所有可能的内容(片段缓存、使用 memcached 缓存数据等),以加速您的应用程序。
  4. 之后,尽可能优化您的应用程序,使 SQL 查询快速,索引所有内容等。
  5. 如果您仍然需要更高的速度,请在问题上投入更多的硬件。获取一个强大的大型数据库服务器、一堆应用程序服务器,并在它们之间代理您的请求。您也可以从这里开始,但这只会延迟优化过程。
于 2009-02-17T05:50:12.827 回答
0

如果您只有一台服务器,我认为主要的关键是,除了已经提到的所有内容之外,不要吝啬它的规格。试图获得太多而太少只是灾难的根源。

让 monit 或 God 监控你的瘦实例也是一个好主意,我从 God 开始,但它在 Ruby 1.8.6 上泄漏内存非常糟糕,所以我停止使用它来支持 monit。Monit 是用 CI 编写的,相信内存占用很小,所以我推荐那个。

如果这一切看起来有点让 nginx 和瘦身发挥得很好,你可能想要研究一个多合一的解决方案,比如Passenger 或 LiteSpeed。我对这些方面的经验很少,因此无法为他们提供实质性建议。

于 2009-02-19T05:59:56.343 回答