向 VM 添加 VHD 数据磁盘时,系统会要求我提供“主机缓存首选项”(无、只读、读/写)。
有人能告诉我选择一个而不是另一个的效果吗?
具体来说,我使用 VM 作为构建服务器,因此磁盘用于编译 .Net 源代码。在这种情况下,哪种设置最好?
向 VM 添加 VHD 数据磁盘时,系统会要求我提供“主机缓存首选项”(无、只读、读/写)。
有人能告诉我选择一个而不是另一个的效果吗?
具体来说,我使用 VM 作为构建服务器,因此磁盘用于编译 .Net 源代码。在这种情况下,哪种设置最好?
正如设置中提到的那样,此设置会打开 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 (有一些很好的写- ups/whitepapers 为那些这样做的人,并通过添加最大数量的较小驱动器来获得最佳性能......而不是仅仅一个大型驱动器)。
简短摘要:保留缓存的默认值。使用 I/O 工具测试特定性能。如果 I/O 是您的瓶颈,则单个驱动器性能可能并不重要,条带驱动器将比 VHD 驱动器上的缓存设置好得多。