This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance
On Thu, 7 Oct 2010, Corinna Vinschen wrote:
> On Oct 7 10:12, Brian Ford wrote:
>
> > If you folks haven't already seen the information presented here it might
> > be interesting. I know I found it useful for coding the applications we
> > use to move massive amounts of data and numbers of files around.
> >
> > http://download.microsoft.com/download/f/2/1/f2146213-4ac0-4c50-b69a-12428ff0b077/Optimizing_Applications_for_Remote_File_Access_Over_WAN.pptx
>
> Powerpoint? *shudder*
>
> Any chance you could provide an executive summary?
I'm not exactly an executive, so it took me a while ;-). Here's my best
shot:
I/O
Use IOCP/overlapped w/ FILE_FLAG_NO_BUFFERING & large request sizes for best performance
Fill RAID disk queue and/or network bandwidth delay product pipe with requests
up to 8 outstanding is reasonable
SMB1 max 60k read, 64k write
SMB2 1M works well; max < 16M to avoid resource issues
If async 2/ large requests not possible
Use buffering w/ access hints (random/sequential)
Set file size before writing to avoid extends
Avoid multiple open handles to same file at same time on <= Win 7
Handles collapse if same access mode, share mode, create options, etc.
Metadata
SMB1 caches only file attributes, timestamps. and sizes by default
GetFileAttributes, GetFileSize, GetFileTime
SMB2 caches directory enumeration too
adds FindFirstFile/FindNextFile
Maximize cache use via GetFileInformationByHandle(Ex):
Only FileBasicInfo, FileStandardInfo, and FileNameInfo are cached
Cache others in App
Use on SMB2 only to enumerate directories
--
Brian Ford
Staff Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
the best safety device in any aircraft is a well-trained crew...
- References:
- Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance
- Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance
- Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance
- Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance
- Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance
- Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance
- Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance
- Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance
- Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance
- Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance
- Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance