[Samba] Samba very slow on one PC and very fast on another.

PFC lists at peufeu.com
Sat Jan 14 12:26:51 GMT 2006


----------------------------------------------------
	Server :

	Athlon 64 3000+ ; 512MB Ram ; lots of disks ; nforce3 chipset ;  
integrated nvidia gigabit NIC.
	Gentoo 2.6.15 linux 64-bits ; Samba 3.0.14a-r2

----------------------------------------------------
	Clients :

	Laptop with Centrino Pentium-M, 100 Mbps NIC, running Windows XP Family
	Desktop with Athlon 64 3200+ ; 1G DDR Dual Channel RAM ; nforce4 chipset  
with gigabit NIC ; Windows XP Pro SP2

----------------------------------------------------
	The situation :

	The server is connected to the desktop or the laptop with a crossed cable.

	Laptop has only a 100 Mbps ethernet cable. Between server and laptop,  
Samba performance is excellent. Actually I have never seen it running this  
fast. It uses about 90% of the wire speed. Congratulations !

	Samba performance between Server and Desktop is the problem :

	With TCP Delayed ACKs enabled :

	- Browsing is uber slow
	- Transferring files Server -> Desktop is abysmally slow (about 0.1% wire  
speed)
	- Transferring files Desktop -> Server is sometimes slow (about 1% wire  
speed), sometimes at normal speed (about 30-40% wire speed). So it can do  
it ! But only when it wants. So frustrating.

	With TCP Delayed ACKs disabled (TcpAckFrequency=1) :

	- Browsing is correct
	- Transferring files Server -> Desktop is slow (about 5% wire speed)
	- Transferring files Desktop -> Server : same as above.

	The laptop has delayed ack's anyway and it's very fast...

	This is with the Desktop connected through its nvidia onboard gigabit NIC.
	I added a trusty old Realtek 100 Mbps NIC and redid the test : same  
results, same speed.

	Last week, everything worked well, but I had to reinstall windows due to  
a harddisk suicide (so sad...). Why is the new windows so, so, so slow ?

----------------------------------------------------

	Lets's test the connection :

	Both Server and Desktop have a Gb ethernet card ; so transfer speeds on  
FTP, HTTP, or netcat are extremely high :

	netcat from server to desktop :
		- about 75% of gigabit wire speed
		- linux server CPU at 50% system)
		- windows client CPU at 100% (nearly all "kernel")
	
	netcat from desktop to server :
		- about 95% or gigabit wire speed
		- linux server CPU at 100% (system)
		- windows client CPU at 50% (nearly all "kernel")

	I'll spare you the tests with HTTP and stuff, basically it works.
	Testing in 100 Mbps mode with the realtek card on the desktop also works  
well.

----------------------------------------------------
	Conclusion :
	- the link, cable, cards, etc. work.
	- as the problem presents itself with 2 different NICs, it is probably  
not a driver issue.
	- as it exists on 1 windows PC and not the other one, it is probably not  
an issue with samba itself, but rather the configuration on the desktop PC.

	ANYBODY HAS ANY IDEA WHAT I CAN DO TO MAKE IT USABLE ?

	Thanks a LOT to anyone who can help. I've been googling for 2 days  
without result.

----------------------------------------------------
some tcpdump in the good case (server -> laptop)

12:25:31.491714 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
873043:874503(1460) ack 3319 win 16080
12:25:31.491720 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
874503:875963(1460) ack 3319 win 16080
12:25:31.491737 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
875963:877423(1460) ack 3319 win 16080
12:25:31.491928 IP 192.168.0.4.1028 > 192.168.0.100.microsoft-ds: . ack  
867203 win 65535
12:25:31.492173 IP 192.168.0.4.1028 > 192.168.0.100.microsoft-ds: . ack  
870123 win 65535
12:25:31.492198 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
877423:878883(1460) ack 3319 win 16080
12:25:31.492203 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
878883:880343(1460) ack 3319 win 16080
12:25:31.492209 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
880343:881803(1460) ack 3319 win 16080
12:25:31.492215 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
881803:883263(1460) ack 3319 win 16080
12:25:31.492420 IP 192.168.0.4.1028 > 192.168.0.100.microsoft-ds: . ack  
873043 win 65535
12:25:31.492666 IP 192.168.0.4.1028 > 192.168.0.100.microsoft-ds: . ack  
875963 win 65535
12:25:31.492690 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
883263:884723(1460) ack 3319 win 16080
12:25:31.492695 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: P  
884723:884906(183) ack 3319 win 16080
12:25:31.492913 IP 192.168.0.4.1028 > 192.168.0.100.microsoft-ds: . ack  
878883 win 65535
12:25:31.493158 IP 192.168.0.4.1028 > 192.168.0.100.microsoft-ds: . ack  
881803 win 65535
12:25:31.493413 IP 192.168.0.4.1028 > 192.168.0.100.microsoft-ds: . ack  
884723 win 65535
12:25:31.493525 IP 192.168.0.4.1028 > 192.168.0.100.microsoft-ds: P  
3319:3382(63) ack 884906 win 65352
12:25:31.493606 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
884906:886366(1460) ack 3382 win 16080
12:25:31.493613 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
886366:887826(1460) ack 3382 win 16080
12:25:31.493619 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: P  
887826:889065(1239) ack 3382 win 16080
12:25:31.493984 IP 192.168.0.4.1028 > 192.168.0.100.microsoft-ds: . ack  
887826 win 65535
12:25:31.494176 IP 192.168.0.4.1028 > 192.168.0.100.microsoft-ds: P  
3382:3445(63) ack 889065 win 64296
12:25:31.494286 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
889065:890525(1460) ack 3445 win 16080
12:25:31.494292 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
890525:891985(1460) ack 3445 win 16080
12:25:31.494297 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
891985:893445(1460) ack 3445 win 16080
12:25:31.494303 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
893445:894905(1460) ack 3445 win 16080
12:25:31.494310 IP 192.168.0.100.microsoft-ds > 192.168.0.4.1028: .  
894905:896365(1460) ack 3445 win 16080

----------------------------------------------------
some tcpdump in the slow case (server -> desktop, TCP Delayed ACKs enabled)

12:30:16.772552 IP 192.168.0.2.1037 > 192.168.0.100.microsoft-ds: . ack  
1040040 win 2920
12:30:16.772563 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: P  
1040040:1041500(1460) ack 1765 win 4140
12:30:16.772568 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: .  
1041500:1042960(1460) ack 1765 win 4140
12:30:16.772981 IP 192.168.0.2.1037 > 192.168.0.100.microsoft-ds: . ack  
1042960 win 2920
12:30:16.772991 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: P  
1042960:1044420(1460) ack 1765 win 4140
12:30:16.772995 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: .  
1044420:1045880(1460) ack 1765 win 4140
12:30:16.773411 IP 192.168.0.2.1037 > 192.168.0.100.microsoft-ds: . ack  
1045880 win 2920
12:30:16.773423 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: P  
1045880:1047340(1460) ack 1765 win 4140
12:30:16.773428 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: .  
1047340:1048800(1460) ack 1765 win 4140
12:30:16.773843 IP 192.168.0.2.1037 > 192.168.0.100.microsoft-ds: . ack  
1048800 win 2920
12:30:16.773855 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: P  
1048800:1050260(1460) ack 1765 win 4140
12:30:16.773860 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: .  
1050260:1051720(1460) ack 1765 win 4140
12:30:16.774271 IP 192.168.0.2.1037 > 192.168.0.100.microsoft-ds: . ack  
1051720 win 2920
12:30:16.774281 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: P  
1051720:1053180(1460) ack 1765 win 4140
12:30:16.774285 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: .  
1053180:1054640(1460) ack 1765 win 4140
12:30:16.774702 IP 192.168.0.2.1037 > 192.168.0.100.microsoft-ds: . ack  
1054640 win 2920
12:30:16.774714 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: P  
1054640:1056100(1460) ack 1765 win 4140
12:30:16.774718 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: .  
1056100:1057560(1460) ack 1765 win 4140
12:30:16.775131 IP 192.168.0.2.1037 > 192.168.0.100.microsoft-ds: . ack  
1057560 win 2920
12:30:16.775141 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: P  
1057560:1059020(1460) ack 1765 win 4140
12:30:16.775145 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: .  
1059020:1060480(1460) ack 1765 win 4140
12:30:16.775561 IP 192.168.0.2.1037 > 192.168.0.100.microsoft-ds: . ack  
1060480 win 2920
12:30:16.775572 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: P  
1060480:1061940(1460) ack 1765 win 4140
12:30:16.775576 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: .  
1061940:1063400(1460) ack 1765 win 4140
12:30:16.775993 IP 192.168.0.2.1037 > 192.168.0.100.microsoft-ds: . ack  
1063400 win 2920
12:30:16.776007 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: P  
1063400:1064860(1460) ack 1765 win 4140
12:30:16.776012 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: .  
1064860:1066320(1460) ack 1765 win 4140
12:30:16.776420 IP 192.168.0.2.1037 > 192.168.0.100.microsoft-ds: . ack  
1066320 win 2920
12:30:16.776431 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1037: P  
1066320:1067780(1460) ack 1765 win 4140

----------------------------------------------------
some tcpdump in the slow case (server -> desktop, TCP Delayed ACKs  
disabled)

13:22:37.402457 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1025: P  
8304035:8305467(1432) ack 16002 win 8428
13:22:37.402872 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: . ack  
8305467 win 2920
13:22:37.403960 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: P  
16002:16238(236) ack 8305467 win 2920
13:22:37.404094 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1025: P  
8305467:8305574(107) ack 16238 win 8428
13:22:37.404424 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: . ack  
8305574 win 2813
13:22:37.404449 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: P  
16238:16314(76) ack 8305574 win 2813
13:22:37.404621 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1025: P  
8305574:8305646(72) ack 16314 win 8428
13:22:37.404841 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: . ack  
8305646 win 2741
13:22:37.404898 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: P  
16314:16388(74) ack 8305646 win 2741
13:22:37.404945 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1025: P  
8305646:8305726(80) ack 16388 win 8428
13:22:37.405270 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: . ack  
8305726 win 2661
13:22:37.406297 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: P  
16388:16624(236) ack 8305726 win 2661
13:22:37.406386 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1025: P  
8305726:8305781(55) ack 16624 win 8428
13:22:37.406765 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: . ack  
8305781 win 2606
13:22:37.406791 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: P  
16624:16669(45) ack 8305781 win 2606
13:22:37.406983 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1025: P  
8305781:8305820(39) ack 16669 win 8428
13:22:37.407040 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1025: P  
8305820:8305927(107) ack 16669 win 8428
13:22:37.407190 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: . ack  
8305927 win 2460
13:22:37.407253 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: P  
16669:16745(76) ack 8305927 win 2460
13:22:37.407480 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1025: P  
8305927:8306031(104) ack 16745 win 8428
13:22:37.407614 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: . ack  
8306031 win 2356
13:22:37.407643 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: P  
16745:16821(76) ack 8306031 win 2356
13:22:37.407695 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1025: P  
8306031:8306133(102) ack 16821 win 8428
13:22:37.408043 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: . ack  
8306133 win 2254
13:22:37.408069 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: P  
16821:16897(76) ack 8306133 win 2254
13:22:37.408111 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1025: P  
8306133:8306237(104) ack 16897 win 8428
13:22:37.408473 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: . ack  
8306237 win 2150
13:22:37.408813 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: P  
16897:16971(74) ack 8306237 win 2150
13:22:37.409472 IP 192.168.0.100.microsoft-ds > 192.168.0.2.1025: P  
8306237:8306317(80) ack 16971 win 8428
13:22:37.409499 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: . ack  
8306317 win 2070
13:22:37.409666 IP 192.168.0.2.1025 > 192.168.0.100.microsoft-ds: P  
16971:17034(63) ack 8306317 win 2070











More information about the samba mailing list