2009-02-06 120 views
2

这个问题属于Ruby on Rails和PHP。当为Web应用程序寻找VPS主机(尚未决定将其中的哪两种语言写入其中)时,我应该考虑哪些内容?内存或CPU?我知道你们需要两者的合理平衡,但我会首先遇到哪一堵墙?Web应用程序的瓶颈?

我确定这取决于应用程序的工作类型,在我的情况下它是正常的CRUD。我的猜测是记忆,但我只想确定。

回答

6

我认为DBMS和你所做的查询的性质/数量将是这里最重要的考虑因素,而不是与所用语言有关的任何东西。 (假设数据库在同一台服务器上)

除非你有一个非常小的数据集,否则内存很可能在CPU之前受到限制。

此外,你还没有真正指定提供的组合 - 所以很难给出答案。

0

我在CPU问题发生之前很久就遇到了内存问题,但我在与Web前端相同的VPS上运行SQL Server。在我付费升级之前,有一些严重的内存问题。

0

只要你能保持它的缓存,你只需要计算/获取一次,但它确实取决于你的web应用程序的动态性。

0

在正常的crud应用程序的cpu墙之前,您将以内存墙的方式运行。

0

让MySQL使用它来缓存的更多内存将为您提供出色的性能改进。 将它与良好的数据库设计混合在一起,避免构建大型昂贵的对象数组,并且您应该遇到任何CPU问题......好吧,除非您正在进行CPU大量聚合或一些复杂的逻辑。

0

我认为你遇到的第一堵墙与数据库连接有关。更有可能的是,首先减慢你的速度不会是内存不足或CPU资源,而是浪费时间打开,关闭数据库连接,以及等待可用的数据库连接。尽量确保在应用程序中使用连接池,如果可以的话。

0

实际上,根据我的经验,我在VPS上运行Web服务器时遇到的第一个瓶颈是带宽。要么饱和实际带宽,要么耗尽VPS上允许的开放套接字/连接。前者你不能做太多的事情,除非你的主机允许你购买更多的带宽,但后者至少通常可以由托管公司调整。在带宽之后,内存是我碰到的下一个限制,主要来自与MySQL,Apache等同时运行SpamAssassin。我解决了通过升级到具有更多内存的下一级计划。

如果您还没有选择托管公司,我可以推荐Tektonic。价格不能被打败,如果你得到中等或更高等级的计划,他们有一个体面的RAM和CPU。带宽不是计量的,而是受实际容量限制,所以如果发现自己的带宽很短,您可能必须为任何主机支付更多容量。