存储 频道

缓存的更多讨论-通过定位优化磁盘缓存(4)

 
1) 设备/子系统中的L R U缓存
 
L R U缓存可以成功地在设备/子系统中实现,但这种L R U缓存的实现并没有内在的优势。事实上,当在主机内存中实现L R U缓存时,其性能可能会更好。然而,L R U放在子系统中也没有任何错,且可以获得很大的性能改善。如前所述,假如服务器的C P U使用率已经很高(超过7 5 %),或没有适当的内存来建立缓存,那么,在存储子系统中实现缓存则更有意义。
 
1)     设备和子系统中的预先读缓存
 
前面已经论述,预先读缓存在主机内实现时,需要占用系统的额外资源,这些额外的资源使已经不堪重负的C P U又增加了另外的负担。而在存储子系统中情况却不同,它设计一个专用的处理器执行预先读缓存操作,不仅解除了主机C P U的负担,也免去那些争用主机资源进程的干扰。同时,在请求数据之前,它就将其预先地放入缓存,也减少了整个系统资源的潜在竞争。即使预取出现某些错误,也不会牺牲不必要的系统性能。
 
2)     在设备和子系统中实现透写缓存
 
存储子系统中的透写缓存有一定的意义。在通过所有I / O路径后,为什么不把数据写进磁盘?其原因就是力图为某些系统提供更高的I / O吞吐量,如数据库、事务处理系统等。但是假如对I / O吞吐量要求不高,并为那些写操作达到最小限度的应用的缓存数据,如文件系统或其他顺序访问的应用,透写缓存应该能很好地工作。
 
3)     在设备和子系统中的回写缓存
 
1 9 9 9年,在存储子系统中配置回写缓存是很常见的。像前面所讨论的,若在主机系统内存中实现缓存,运行缓存必须占用C P U周期及消耗其他资源。就C P U利用率而言,事务处理是花费最大的应用之一。占用大部分C P U能力,当然这并不是在存储系统中实现回写缓存的错。
 
注意当在存储子系统中使用回写缓存,并由此完成高性能的事务处理(每秒超过7500次I / O)时,要尽量撤去那些争用I / O路径资源的不必要的硬件和软件组成部分,同时,也要限制连接到单个主机控制器的设备/子系统数量,最好不要超过可用地址的一半。如窄S C S I总线不要超过4个设备,宽S C S I设备不要超过8个设备。为了优化性能,光纤路径和SSA连接的设备应该限制在20个。
0
相关文章