我没有将SSD用作HTTP缓存,但是可以观察到以下几点:
并非所有的SSD都是一样的,因此在选择合适的SSD时必须非常小心。FusionIO生产的PCIe支持的SSD确实是高端产品(容量相对较低),但价格昂贵。英特尔的X25-E SLC SSD的性能非常好,价格更便宜,但容量仍然很低。做你的研究!我绝对可以推荐X25-E SLC变体,因为我正在生产系统中使用它们。
还有其他SSDS可能会给您带来极大的连续读写速度,但是对于诸如高速缓存之类的东西来说,重要的是随机IO,并且许多SSD会提供与旋转磁盘大致相同的随机性能。由于对SSD的写入放大作用,旋转磁盘通常会表现更好。许多SSD的控制器质量较差(例如,较旧的JMicron控制器),在某些情况下可能会导致性能显着下降。Anandtech和其他站点与iometer等工具进行了很好的比较,请在此处检查。
而且,SSD当然很小。英特尔X25-E(我见过最好的SATA SSD)只有32 GB和64 GB两种版本。
对于RAID级别,标准RAID性能说明仍然适用。基本上,对RAID 5的写入涉及读取要修改的数据块,读取奇偶校验块,更新奇偶校验,写入数据块和写入奇偶校验,因此它仍然会比其他RAID提供更差的性能。级别,即使使用SSD也是如此。但是,对于像X25-E这样的驱动器而言,具有如此高的随机IO性能,这可能就没那么重要了-因为对于类似大小的阵列,它仍将胜过旋转磁盘上的随机IO。
从我所看到的情况来看,RAID控制器的带宽过早饱和,不足以从7个磁盘RAID集中获得最大收益,至少就顺序性能而言。当前的SATA控制器(3ware,areca等)模型的速度不能超过800MB / s。尽管多个阵列的单个性能会受到影响,但跨多个控制器(例如,多个RAID1而不是单个RAID10)具有更多较小的阵列将改善此状况。
关于HTTP缓存,我认为最好使用像样的旋转磁盘阵列和大量内存。经常访问的对象将保留在内存缓存中-要么在squid的内部缓存中,要么在操作系统的fs缓存中。因此,仅给机器提供更多的内存就可以大大减少磁盘负载。如果您正在运行大型鱿鱼缓存,则可能会需要大量磁盘空间,而高性能的SSD仍然只具有相对较低的容量。