Samba jest tak wolna! - logi
Robert Święcki
jagger w ustronie.pw.edu.pl
Pią, 14 Mar 2003, 15:23:00 CET
Dnia pią 14. marzec 2003 14:30, Pepe napisał:
>> Jeżeli ktoś chce mieć szybsze transfery to TCP_NODELAY jest
>> niepotrzebne, wręcz niewskazane, bo to służy do całkiem innej rzeczy i
>> powoduje "zazwyczaj" spadek transferów.
>
> To ciekawe, w dokumentacji piszą coś przeciwnego (Speed.txt):
>
> The socket option TCP_NODELAY is the one that seems to make the
> biggest single difference for most networks. Many people report that
> adding "socket options = TCP_NODELAY" doubles the read performance of
> a Samba drive. The best explanation I have seen for this is that the
> Microsoft TCP/IP stack is slow in sending tcp ACKs.
A co wspólnego ma TCP_NODELAY z odpowiedziami ACK?
TCP_NODELAY
If set, disable the Nagle algorithm. This means that
segments are always sent as soon as possible, even if there is only a
small amount of data. When not set, data is buffered until
there is a sufficient amount to send out, thereby avoiding the
frequent sending of small packets, which results in poor utilization of
the network.
Być może jest jest to związane ze słabym protokołem samby, który wymaga
częstych negocjacji w samej sesji (ftp ma ftp-data na innej sesji niż
uzgadnianie połaczenie, listowanie katalogów) i potrzebuje częstych małych
transferów i ich potwierdzania na poziomie protokołu SMB a nie samego TCP.
Mimo wszystko praktyka wskazuje, że wyłaczanie algorytmu Nagle'a zmniejsza
uzyskiwane transfery. Ale nawet wyłaczenie tego algorytmu nie pozwoli
sotsowi TCP/IP wysłać więcej bez ACK niż obliczony algorytmicznie rozmiar
okna danych, więc z tym ACK w Speed.txt to lekka nadinterpretacja
(zakładam, że uzyskano jakieś wyniki z tą opcją i musiano to jakoś
wytłumaczyć).
Jeżeli jednak naprawdę ta opcja poprawia wydajność przy odczycie to dałem
d.. ciała (prosiłbym o jakieś wyniki testów, można do tego użyć np:
http://home.elka.pw.edu.pl/~rswieck/getfile.tar.gz lub inneego copiera z
opcją poazywania transferu). W moich testach wyszło, że w sambie
TCP_NODELAY nie ma wpływu na szybkość odczytu.
--
Pozdrowienia, Robert!
And we know deep down there's no other way
No trust, no reasoning, no more to say [IM]
Więcej informacji o liście dyskusyjnej pld-users-pl