Hi guys
I have Centos 6 with Samba 3.5.4-68.el6 set up as a file server and PDC.
I have a Windows Server 2008 machine also setup as a file server.
If I run .exe files from a Windows 7 desktop machine on my network (a member of the domain) from the Samba share, they load at least 4 times slower than the same .exe file on the Windows server.
Also, files copy about 4 times slower from the Samba fileserver, vs. the Windows Server 2008.
E. g. copying a certain file, for argument's sake, takes 8 seconds if copied to Windows 7 from the Windows machine, but 32 seconds if copied from the Samba machine, for the exact same file.
Both servers and test workstation are on the same Class B network segment in the same mask in the same building, about 6 meters apart. No routing or anything else is done that could slow down or delay the network. Both the Samba server and the Windows server are built on the exact same hardware, motherboard, NIC, and CPU.
It seems Windows has some protocol magic it does to be able to communicate to Windows clients several times faster than Samba does?
I've already tried the "socket options" option in the smb.conf like this:
Code:
socket_options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192 SO_KEEPALIVE
I have tried various values for the 8192, trying 2048, 4096, 16384 and 32768. Generally, around 32768, the Samba file shares become again double as slow as before. However, dropping the buffer size to, for example, 1024 has no effect. The Samba server seems to perform best at around 2048, but that is where it is still more or less four times SLOWER than the Windows Server machine in serving the same test files to the same test Windows 7 workstation, as served from the Windows server.
Subjectively, and as far as I can determine, the NIC in both servers is at the same speed, full duplex, not having overruns or dropped packets.
Anybody else experienced and solved this?
Where can I look besides NICs and socket options, on the Samba side, to try and improve performance and at least get to the same level of speed the Windows server provides?
Or is it a given that due to the Windows filesharing protocol having been reverse engineered, a Samba server will always be many times slower than an equivalent Windows server when serving files? (Some protocol feature or acceleration method could not be reverse engineered?)
Any replies appreciated!
Thank you,