I have a third party application that reads several large files and generates a third large file. Its performance is quite good when the generated file is stored on "local storage", i.e. either a direct attached or iSCSI-based disk. The source files that are read can be stored remotely on our NAS and accessed via SMB with little effect on performance.

However, if we attempt to write the target file to any kind of SMB/CIFS share (Samba or Windows Server) the performance drops almost ten-fold. This is unacceptably slow in our case.

Writing files to network shares is not otherwise slow. I can copy large files to SMB shares and get great performance - near what I would expect is possible given the disks and network in question.

I have a theory that this application's problem with SMB shares has something to do with a lack of write caching over the share and perhaps lots of network roundtrips. Is this possible and is there anything that can be done about it?

  • When you say it's generating one large file does it write that out sequentially? And what is the platform and network config on the source and on the Samba\Windows targets? Does the application do anything else at the same time (like maintain lots of transient small temp files etc). – Helvick Jan 7 '11 at 19:49
  • I believe the file is written sequentially. The server is either Windows Server 2008 R2 or a Synology NAS appliance. Network settings are more or less at default. I don't know of any temp files generated or anything like that. Not sure if that answers your questions. :) – Jeremy Jan 7 '11 at 20:17
  • I realize this question is more than two years old, but I'm curious if you ever figured something out? I have an almost identical problem that I'm trying to debug. – Philip Oct 25 '13 at 22:23
  • I would look at the locking options – Jørn Jensen Dec 2 '20 at 7:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.