
如何测量文件(硬盘)I / O的特性? 例如,在硬盘(速度为X)和cpu i7(或任意数量的内核)以及Y量RAM(使用Z Hz BIOS)的机器上,(在windows *** 作系统上):
可以并行写入HD的最佳文件数量?
可以从HD中并行读取的文件的最佳数量?
文件系统帮助快速写作的设施。 (像:有没有一个function或工具,让你在不同的部门(或硬件)上写入批量的二进制数据,然后将它们绑定为一个文件?我不太了解底层文件I / O在 *** 作系统中,但它会有这样的工具是合理的!)
如果以前有这样的工具,在.NET中也有吗?
我想尽可能快(和平行)地写大文件(通过networking或其他来源stream式传输)! 我在C#中编码。 它就像一个下载pipe理器。 所以如果stream媒体被打断了,它可以继续下去。
在没有安装Excel的情况下以编程方式填充Excel模板
无法监视安全事件日志
closureswindows资源pipe理器的特定实例
创build互斥锁时,“找不到path的一部分”错误
使用.NET获取windows上的实际文件名(具有适当的shell)
答案(经常)取决于您的使用情况。 整个 *** 作系统是不同使用场景之间的一个大的折衷。 对于NTFS文件系统,可以提到块大小设置为4k,NTFS存储的文件小于MTF中的块大小,文件大小,文件数量,碎片等。
如果你打算写大文件,那么64K的块大小可能是好的。 这就是如果你打算读取大量的数据。 如果你阅读的数据量较小,那么较小的尺寸是很好的。 *** 作系统工作在4k页,所以4k是好的。 压缩(和加密?)以及sql和Exchange仅适用于4k页(iirc)。
如果你写小文件(<4k),它们将被存储在MFT里面,所以你不必做“一个ekstra跳”。 这在写 *** 作中特别有用(读取可能有MFT缓存)。 MFT按顺序存储文件(即块1000-1010,2000-2010),因此碎片会使MFT变大。 将文件并行写入磁盘是导致碎片的主要原因之一,另一个是删除文件。 您可以预先为文件分配所需的大小,windows将尝试在磁盘上找到合适的位置来对付碎片。 还有像O&O Defrag这样的实时碎片整理程序。
windows将二进制流几乎直接映射到磁盘上的物理位置,因此使用不同的读取/写入方法不会像其他因素那样提高性能。 对于最大速度程序使用技术直接内存映射到磁盘。 见http://en.wikipedia.org/wiki/Memory-mapped_file
windows(在设备管理器,硬盘下)有一个选项来增加磁盘上的缓存。 这是非常危险的,因为如果计算机蓝屏或者断电,ut可能会损坏文件系统,但是在写小文件(以及所有写 *** 作)时会大大提高性能。 如果磁盘忙,这是特别有价值的,因为寻找时间会减少。 windows使用所谓的电梯算法,这基本上意味着它将硬盘磁头移动到表面上来回移动,为移动的方向提供任何应用程序。
希望这可以帮助。 总结
以上是内存溢出为你收集整理的如何测量文件(硬盘)I / O的特性?全部内容,希望文章能够帮你解决如何测量文件(硬盘)I / O的特性?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)