samba Napisano Sierpień 20, 2010 Zgłoszenie Share Napisano Sierpień 20, 2010 Witam Jak optymalizujecie swoje sieci LAN pod względem wydajności ? Ostatnio dołożyłem kontroler raid 3ware z szybszymi dyskami i co dziwo jeśli chodzi o użytkowanie samby (szybkość transferów tj. kopiowanie plików otwieranie programów itp. ) nie zauważyłem znacznej różnicy mimo iż dyski są 4 x szybsze. Wziąłem się za optymalizację LAN. Sieć oparta o: - switche Dlink DGS-144T (1Gb) - karta na serwerze PRO/1000 MT Dual Port Server Adapter Switche obsługują jumbo frames tak więc pierwszą rzeczą jest włączenie jumbo frames + zwiększenie MTU na serwerze i tu mam kilka pytań. 1) Jeśli na kliencie windows (karta Intel 1Gb) ma ustawioną wartość dla jumbo frames 9014Bytes to jaką wartość ustawić na karcie serwerowej ? Na serwerze ustawiłem MTU na 9014 . 2) W jakich jednostkach w Linuxie mierzona jest wartość MTU ? Na tej stronie znalazłem taką informację I recently upgraded my desktop, and the Windows drivers for the new motherboard’s onboard NIC (Realtek PCIe GBE) gave options for 2KB – 9KB, and those KB turned out to be the binary definition of kilobyte. Well, the binary definition minus 14 bytes. Not sure what ate them up, but the 7KB setting’s MTU was 7154 bytes not 7168 bytes. Tak więc czy moja wartość 9014 Bytes na windows = 9014MTU na Linux ??? Oto dziwny dowód że tak nie jest ifconfig eth1 mtu 9014 Ping z klienta windows (IP 10.10.10.145) serwer ping -f -l 9014 SERWER Badanie SERWER [10.10.10.1] z użyciem 9014 bajtów danych: Pakiet musi być podzielony na fragmenty, ale ustawiono opcję DF. Pakiet musi być podzielony na fragmenty, ale ustawiono opcję DF. Pakiet musi być podzielony na fragmenty, ale ustawiono opcję DF. co oznacza że wartość 9014 ulega fragmentacji czyli jest większa niż ta z MTU tj.9014 To samo daje ping -f -l 9000 SERWER Badanie SERWER [10.10.10.1] z użyciem 9014 bajtów danych: Pakiet musi być podzielony na fragmenty, ale ustawiono opcję DF. Pakiet musi być podzielony na fragmenty, ale ustawiono opcję DF. Pakiet musi być podzielony na fragmenty, ale ustawiono opcję DF. Ping na Linuxie podaje więcej informacji i dzięki temu znalazłem rozwiązanie ping -s 8972 -M do 10.10.10.145 PING 10.10.10.145 (10.10.10.145) 8972(9000) bytes of data. 8980 bytes from 10.10.10.145: icmp_seq=1 ttl=128 time=0.696 ms 8980 bytes from 10.10.10.145: icmp_seq=2 ttl=128 time=0.952 ms 8980 bytes from 10.10.10.145: icmp_seq=3 ttl=128 time=0.708 ms 8980 bytes from 10.10.10.145: icmp_seq=4 ttl=128 time=0.949 ms --- 10.10.10.145 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3000ms rtt min/avg/max/mdev = 0.696/0.826/0.952/0.125 ms Wartość pakietu 8972 (9000) jest optymalna tj nie ulega fragmentacji dla MTU =9014. Tak więc w jakich jednostkach pokazywane jest MTU w poleceniu ifconfig i jakie jednostki użyte są w ping -s na linux? Rozumiem że ping to wartość pakietów tak więc jak przeliczyć wartość pakietów na bajty? W linuxowym pingu pokazuje się wartość w nawiasie (9000) i to są bajty. Potwierdza to ping z windows ping -f -l 8972 SERWER Badanie SERWER [10.10.10.1] z użyciem 8972 bajtów danych: Odpowiedź z 10.10.10.1: bajtów=8972 czas<1 ms TTL=64 Odpowiedź z 10.10.10.1: bajtów=8972 czas<1 ms TTL=64 Odpowiedź z 10.10.10.1: bajtów=8972 czas<1 ms TTL=64 Statystyka badania ping dla 10.10.10.1: Pakiety: Wysłane = 3, Odebrane = 3, Utracone = 0 (0% straty), Szacunkowy czas błądzenia pakietów w millisekundach: Minimum = 0 ms, Maksimum = 0 ms, Czas średni = 0 ms Czy ktoś wie dlaczego tak się dzieje? I jakie wartości ustawić na kientach i serwerze aby były identyczne ? Czy jumbo frames zwiększy wydajność sieci? Co jeszcze można zmienić by zwiększyć wydajność 1Gb Lan ? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
abc Napisano Sierpień 20, 2010 Zgłoszenie Share Napisano Sierpień 20, 2010 Może nie odpowiem na wszystko o co pytasz, ale co do pinga - jak podajesz "-s 8972" do pinga, to to 8972 oznacza rozmiar sekcji "data" pakietu icmp. Do tego dochodzi 8 bajtów nagłówka ICMP (to jest nawet w man ping napisane) i 20 bajtów nagłówka IP. Po zsumowaniu wychodzi 9000. Wartość 9014 jest dość dziwna jak na MTU i jak ci się ją udało ustawić (_wogóle_ → w ogóle) ORT. Teoria mówi że jumbo frames mogą przenosić do 9000 bajtów danych. W tej liczbie muszą się zmieścić nagłówki takie jak IP, TCP/ICMP/... plus właściwe dane. Ponad tą wartością jest jeszcze nagłówek ethernet (14 bajtów), ale on się już do MTU nie liczy. W każdym razie MTU to MTU, niezależnie od systemu, czy to linuks czy windows, wartość powinna być taka sama. Według mnie powinieneś wszędzie ustawić MTU na 9000, o ile cały twój sprzęt obsługuję tak dużą wartość. Ewentualnie to magiczne 9014 jeśli to faktycznie działa, ale ta wartość wygląda podejrzanie. Co do wydajności - potestuj i zobacz co się zmieni. Doczynienia osobiście nie miałem z tym, ale wyczytanie kiedyś na necie informacje mówią że powinno być trochę lepiej. Chociaż wątpię żebyś znaczącą różnicę zobaczył przy korzystaniu akurat z samby. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
samba Napisano Sierpień 23, 2010 Autor Zgłoszenie Share Napisano Sierpień 23, 2010 Teoria mówi że jumbo frames mogą przenosić do 9000 bajtów danych. W tej liczbie muszą się zmieścić nagłówki takie jak IP, TCP/ICMP/... plus właściwe dane. Ponad tą wartością jest jeszcze nagłówek ethernet (14 bajtów), ale on się już do MTU nie liczy. W każdym razie MTU to MTU, niezależnie od systemu, czy to linuks czy windows, wartość powinna być taka sama. Według mnie powinieneś wszędzie ustawić MTU na 9000, o ile cały twój sprzęt obsługuję tak dużą wartość. Ewentualnie to magiczne 9014 jeśli to faktycznie działa, ale ta wartość wygląda podejrzanie. ... Chociaż wątpię żebyś znaczącą różnicę zobaczył przy korzystaniu akurat z samby. Dzięki za odpowiedź faktycznie od liczby 9000 MTU trzeba odjąć 28 w ping i wtedy wychodzi wartość 9000 Natomiast co do wartości MTU: W dokumentacji switcha piszą "DGS-1248T supports Jumbo Frames up to 9220 bytes in size." Natomiast moja karta Intel 8256LM-3 Gigabit Network ma 2 wartości jumbo frames : 4088 oraz 9014 Tak więc czy na karcie serwerowej ustawić MTU=9000 czy 9014? Co do wydajności zauważyłem że kopiowanie pliku z serwera na komputer przy MTU=9014 jest wolniejsze niż bez jumbo frames ale za to wartosć 4088 daje lepsze (szybsze ) rezultaty. W sambie jest opcja max xmit Informacje można zobaczyć TU (trochę stary pdf) In Samba, the option that is directly related with the MTU and window size is max xmit. This option sets the largest block of data Samba will try to write at any one time. It’s sometimes known as the write size, although that is not the name of the Samba configuration option. Because the percentage of each block required for overhead falls as the blocks get larger, max xmit is conventionally set as large as possible. It defaults to the protocol’s upper limit, which is 64 kilobytes. The smallest value that doesn’t cause significant slowdowns is 2048. If it is set low enough, it will limit the largest packet size that Samba will be able to negotiate. This can be used to simulate a small MTU if you need to test an unreliable network connection. However, such a test should not be used in production for reducing the effective MTU. Tak więc wartość xmit powinna być większa niż MTU. Pytanie jak to teraz wszystko poustawiać aby zauważyć wzrost wydajności ?? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się