将磁盘添加到Azure VM时,"主机缓存首选项"设置有何不同?

Mar*_*ark 31 vhd virtual-machine azure

将VHD数据磁盘添加到VM时,我被要求提供"主机缓存首选项"(无,只读,读/写).

有人能告诉我选择一个而不是另一个的效果吗?

具体来说,我使用VM作为构建服务器,因此磁盘用于编译.Net源代码.在这种情况下哪种设置最好?

Bar*_*cki 23

正如设置提到的那样,此设置会打开I/O的缓存首选项.更改它们的效果是可以缓存读取,写入或两者读取/写入以提高性能.例如,如果您具有只读数据库/ Lucene索引/只读文件,则最好为驱动器打开读取缓存.

在驱动器上更改此设置(直到我使用SQL Server/Lucene)时,我没有看到显着的性能变化.通过剥离磁盘可以提高高I/O ......如果您在10,000个文件中有数百万行代码,那么您可以看到读/写性能的提高.单个驱动器的默认IOP最大值为500 IOP(约为2x15k SAS驱动器或高端SSD).如果您需要更多,请添加更多磁盘并对其进行条带化......

例如,在超大型VM上,您可以连接16个驱动器*500 IOP(~8,000 IOP):http: //msdn.microsoft.com/en-us/library/windowsazure/dn197896.aspx (有一些很好的写入 -为这样做的人提供了白皮书/白皮书,并通过添加最大数量的较小驱动器来获得最佳性能..而不仅仅是一个巨大的驱动器).

简短摘要:保留缓存的默认值.使用I/O工具进行测试以获得特定性能.单驱动器性能不太可能,如果I/O是您的瓶颈,条带化驱动器将比VHD驱动器上的缓存设置更好.


Nei*_*zie 9

我见过的关于缓存选项的最全面的帖子是由Brad Calder 撰写的Windows Azure存储团队博客文章.

(固定链接)