我如何才能计算出我 (a) 使用了多少 RAM 或 (b) 能从中获益多少?

我如何才能计算出我 (a) 使用了多少 RAM 或 (b) 能从中获益多少?

我以前用 4GB VPS 运行我的网站。随着时间的推移,我的存储需求不断增长,我最终转向了 3TB 的专用服务器。附带的好处是,我现在有 32GB 的 RAM。不过我承认我真的不知道该怎么用它。

是时候让我再次继续前进了,要么换一个 8TB+ 的盒子,要么分成一个主盒和一个存储盒。

问题是,我的唯一/主机箱想要/需要多少 RAM。

我的网站每月的页面浏览量为200万次,目前发展速度非常快。

这是一个带有 MySQL 服务器的 PHP 网站。我真的不知道该提供什么指标来帮助您回答我的问题...

现在,free -m 提供

             total       used       free     shared    buffers     cached
Mem:         32068      30937       1131         82       1314      22705
-/+ buffers/cache:       6917      25151
Swap:         1023        446        577

那么我认为,目前可用的空间是 25GB,对吗?

我仍然不愿意换成 16GB 的盒子。当然,我没有用完 32GB,但也许我可以学会……

答案1

我认为这个问题危险地接近于您能帮助我进行容量规划吗?,那里的很多建议也适用于此。

但无论如何,我还是要回答,归根结底还是监控。您有一台每月页面浏览量达 200 万次的服务器,内存为 32GB?这可不便宜,因此应该对它进行精确的检测。您应该从系统外对其进行监控,您应该确切地知道这些数据告诉您什么,并且您应该有良好的历史信息可供参考。

这是一个旧的穆宁来自我彩色框的图表(2012):

munin 记忆图 1

这是在我将机箱从(非常)旧的 1GB 核心主板升级到 4GB 核心主板后拍摄的;我希望在升级之前保存图像,但我没有。那里有趣的统计数据是“已承诺”行,这是内核承诺给所有应用程序的内存量;在此图中,它平均为 1.1GB,最大为 1.2GB。这就是我进行升级的原因:它告诉我系统对内存的调用超出了我拥有的内存量,以及超出了多少。

这是最新的图表,展示的是过去一年的情况:

munin 记忆图 2

如您所见,已提交内存有所增加,部分原因是该机器执行了更多以前执行的操作,部分原因是它也执行了一些新操作,部分原因是内核随着时间的推移变得更大。但它还告诉我,即使在一年中最糟糕的一天(3.22GB),它也没有超过物理内存;交换使用量仍然微不足道;已提交内存在一年中并没有增加太多。

这意味着我可以放心地在下一次硬件更换周期中忽略内存,并且可能在下一次更换周期中忽略内存,前提是我有足够的交换空间。如果我仍在运行 32 位操作系统(我现在没有),它还会让我知道何时会被迫使用 64 位操作系统,这样我就可以安排好时间。

现在,您自己承认,您没有历史数据,而且您不知道您拥有的数据意味着什么。很抱歉,但我认为我们帮不了您什么忙;正如链接的答案所说:

容量规划中有许多因素在起作用......对这些因素和其他因素进行适当的分析超出了简单的问答网站的范围:他们需要有关您的环境和要求的详细知识,只有您的团队(或获得足够报酬的顾问)才能有效地收集这些信息。

我写这个建议主要是为其他遇到这个问题的人。但如果你认为你可以推迟一个月升级,那就进行一些监控今天,确保它能正常工作,理解它告诉你什么,并让它运行一个月,然后再做出决定。

相关内容