我的托pipe服务提供商提供给我的服务器的内存从8GB增加到24GB,每月相当于3x 120GB固态硬盘。
SSD的select对我来说似乎更合理; 但我很好奇,如果我的Web应用程序在SSD上运行后需要内存中的caching。
谢谢。
在RAM和SSD之间select时应该问的问题是“我的应用程序真的需要使用多less磁盘?
如果你有一个应用程序,主要是脚本进行计算,并向用户发送自定义版本的页面,并通过一次又一次地处理相同types的请求而不是非常多的数据,那么RAM就是你所需要的。
但是,如果您正在运行文件服务器,stream媒体或颠倒不适合内存的随机文件,则SSD提供的额外速度将对您有所帮助。 另一个地方你会看到SSD的好回报,如果应用程序做了很多写道。 固态硬盘的读取速度通常比写入速度要快得多,但是它们的速度仍然比盘片式硬盘要快得多。
在我工作的地方,我们有一个应用程序,每隔几分钟就会为数以万计的RRD写入几GB的数据。 将服务器升级为具有快速SSD的服务器可显着提高性能。 对于处理authentication数据库的服务器来说,也可能不会这么说。 虽然这个数据库很大,但是它的查询经常是相似的(同样的人一次又一次地login到相同的应用程序),所以caching在RAM中更有利。
基本上,如果你反复提供相同的请求,去RAM。 操作系统会caching你经常使用的数据,你会看到很好的performance。 如果您的应用程序对“随机”文件执行了大量的IO操作,那么您将会颠覆caching,并从快速的SSD中看到更多的好处。
闪存SSD(我在这里谈论它)速度很快,但它们不能代替RAM。 典型的服务器RAM带宽是以几十兆字节/秒为单位测量的,而读写的等待时间则在低纳秒范围内 – 您所看到的基于闪存的固态硬盘的带宽最好在几百兆字节/秒的范围内,在微秒范围内。
如果涉及其他因素,对您的应用程序可能没有任何影响,但SSD的任何数据访问仍然比直接从RAM读取数据要慢两个数量级。
它可能仍然需要caching。 你将运行24GB的内存多less存储空间? 如果你有性能问题的内存有帮助,但它也可能是应用程序caching正在存储其空间的卷或位置。
您需要对现有系统进行性能测量,找出瓶颈所在。
假设你没有任何重大的瓶颈(顺便提一下,不好的假设)。 问题是,你想24G的快速读取,磁盘速度写入,或120G的相当快的读写。 如果您有超过24G的数据要服务,或者它经常更改,那么您需要SSD。
另一方面,如果你只有10G的静态数据服务,而你的服务器进程只需要2G的内存,那么你可以把你的文件根目录放在有24G内存的RAM磁盘上,然后走开。
如果存在瓶颈(交换,磁盘I / O读取带宽,磁盘I / O写入带宽,每秒I / O操作),那么您需要专门解决这些问题。 这两种select都可以提供帮助,但哪种情况更好取决于情况。