在.NET(C#)中测试文件复制速度时防止缓存

在.NET(C#)中测试文件复制速度时防止缓存,c#,.net,caching,filesystems,cache-control,C#,.net,Caching,Filesystems,Cache Control,我正试图在我们的广域网上做一些复制速度的测试。正如我有点怀疑的那样,在第二次和后续运行中,使用File.Copy(source,dest).NET函数似乎会更快。我怀疑要么是我的公司网络在做一些狡猾的缓存,要么是windows在做 避免这种情况发生的最佳方法是什么?每次将源文件重命名为随机字符串是明智的,还是有更聪明的方法来绕过它?我相信是文件缓存在远程系统上起作用。当一个文件被请求时,第一次文件缓存机制将该文件缓存在RAM中,以备将来的请求,并为来自RAM的后续请求提供服务。这只会减少从本地存

我正试图在我们的广域网上做一些复制速度的测试。正如我有点怀疑的那样,在第二次和后续运行中,使用File.Copy(source,dest).NET函数似乎会更快。我怀疑要么是我的公司网络在做一些狡猾的缓存,要么是windows在做


避免这种情况发生的最佳方法是什么?每次将源文件重命名为随机字符串是明智的,还是有更聪明的方法来绕过它?

我相信是文件缓存在远程系统上起作用。当一个文件被请求时,第一次文件缓存机制将该文件缓存在RAM中,以备将来的请求,并为来自RAM的后续请求提供服务。这只会减少从本地存储读取文件并开始为其提供服务所需的时间,而不会减少在两个系统之间传输文件所需的时间


通常,公司会部署缓存箱来通过基于web的资源(对于intranet和internet)提供文件服务,但我不知道有任何缓存箱机制可以用于文件共享。

我想我会关闭此功能。我认为最好的方法可能是生成一个随机文件(执行如下操作:)并传输该文件


我还发现缓存主要只影响本地复制,这比我试图测量的网络复制更不重要。

是的,很有可能。我想我可能需要每次在源上生成一个所需大小的随机文件,然后复制它。