[Samba] slow creating files

Jeremy Allison jra at samba.org
Thu Feb 23 14:54:19 MST 2012


On Wed, Feb 08, 2012 at 05:12:14PM +0400, Gankov Aleksey wrote:
> We tried to migrate from old Windows fileserver (p4, single HDD) to
> Samba (FedoraCore15, Samba 3.5.12-72.fc15, ext4 volume, xeon,
> raid5).
> Our pipeline is so, that some special software generates files on
> that fileserver.
> The typical filesize ~50 mbytes.
> On the old hardware, software (win2k3 server) the time of single
> file creation was about 10 seconds. On the new configuration it
> takes 20-25 seconds.
> Copying of large files to\from samba server is ok (more than 80
> mbytes\sec).
> It was default Samba installation.
> The usual tuning doesn't help at all (TCPNODELAY etc...)
> 
> Is there any idea for tuning?
> 
> Also, I wrote easy test that confused me:
> 
> #include "stdio.h"
> #include "stdlib.h"
> #include "time.h"
> void main(int argc, char *argv[])
> {
> int fsize=40000000;
> int i=0;
> FILE *to;
> char str[]="0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890";
> time_t start, end;
> double diff;
> 
> time(&start);
> to=fopen(argv[1], "w+");
> for(i=0; i < fsize/100; i++)
>     {
>     fprintf(to, "\n%7d-%s",i, str);
>     fflush(to); // makes it slow!
>     }
> fclose(to);
> time(&end);
> diff=difftime(end,start);
> printf("\n \t time_diff =  %.2lf", diff);
> }
> 
> This was started on Win7 client PC, It creates about 40 mbytes size
> file in pointed path.
> Comparing timings on our samba share and win2k3 share gives: ~40
> seconds on Samba and on  3-4 seconds win2k3!
> That means that fflush cause dramatically slow down of fileshare.

Ensure you're setting "strict allocate = yes"


More information about the samba mailing list