CentOS 6 robi dużo więcej IO niż CentOS 5

10

Testuję aplikację na dwóch identycznych serwerach, jeden to Centos 5.8, a drugi to Centos 6.2. Moja aplikacja działa znacznie wolniej (50% lub mniej) na komputerze Centos 6.2.

Próbując zdiagnozować problem, śledzę procesor, pamięć RAM i operacje we / wy podczas testu porównawczego. Widzę, że odczyty dysku są znacznie wyższe na polu Centos 6.2, mierzone za pomocą iostatu.

W obu systemach działa XFS, w którym działa mój test porównawczy. Oba są serwerami HP z 512 MB buforujących kontrolerów RAID z 8 x 300 GB SAS z RAID 10.

Oto wynik działania xfs_info dla każdego:

centos5

meta-data=/dev/cciss/c0d0p5      isize=256    agcount=32, agsize=8034208 blks
         =                       sectsz=512   attr=0
data     =                       bsize=4096   blocks=257094144, imaxpct=25
         =                       sunit=32     swidth=128 blks, unwritten=1
naming   =version 2              bsize=4096 
log      =internal               bsize=4096   blocks=32768, version=1
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0

centos6

meta-data=/dev/sda5              isize=256    agcount=4, agsize=57873856 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=231495424, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal               bsize=4096   blocks=113034, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
tmcallaghan
źródło
Jakie dokładnie jest twoje pytanie?
Tim Brigham,
Czy możesz pokazać opcje montowania XFS i tworzenia systemu plików? Czy możesz bardziej szczegółowo opisać sprzęt i układ dysku?
ewwhite
Zadanie polega na tym, że wszystkie rzeczy są równe, przynajmniej te, które widzę, Centos 6.2 porównuje 50% Centos 5.8 dla mojej aplikacji. Inną różnicą, którą mogę obecnie zmierzyć, jest to, że odczyty są DUŻO wyższe.
tmcallaghan

Odpowiedzi:

10

Dziękujemy za aktualizację postu o dodatkowe informacje.

Pracujesz na systemach ProLiant, więc do zoptymalizowania kontrolera i sytuacji we / wy wymagana jest pewna ilość pracy . Ponadto instalacje XFS używają opcji domyślnych. Pamiętaj, że używasz innego sterownika między tymi systemami operacyjnymi. Serwer EL5 ma cciss, podczas gdy system EL6 korzysta z hpsamodułu. Istnieje jednak różnica , ale problem prawdopodobnie dotyczy różnic w systemie operacyjnym. Oto co bym sprawdził:

  • Zmień montowania XFS, aby włączyć noatimei wyłączyć bariery zapisu za pomocą nobarrier. Oto przykładowy ciąg montowania, którego często używam .
  • Działanie windy we / wy różni się w zależności od wersji systemu Linux. Spróbuj deadlinelub noopI / O windę na CentOS 6 serwerów. Możesz to zmienić w locie za pomocą echo deadline > /sys/block/cciss\!c0d0/queue/schedulerlub dołączając elevator=deadlinedo wpisu bootowania grub.
  • Upewnij się, że pamięć podręczna odczytu / zapisu jest optymalna do obciążenia. Zwykle wybieram 75% pisania i 25% czytania.
  • Zaktualizuj oprogramowanie układowe komponentów serwera. Każda wersja oprogramowania układowego kontrolera RAID Smart Array wprowadza nowe funkcje. Brzmi to jak kontroler HP Smart Array P410, więc upewnij się, że korzystasz z wersji 5.14 .

Edycja :
Patrzę na wynik xfs_info dla twoich systemów CentOS 5 i CentOS 6. Sformatowałeś partycje XFS z różnymi parametrami!

System EL5 ma 32 grupy alokacji XFS, podczas gdy system EL6 ma tylko 4. Grupy alokacji pozwalają XFS na równoległe działanie systemu plików.

Biorąc pod uwagę ilość dostępnego miejsca i specyfikację procesora serwera, istniejąca konfiguracja EL6 jest ograniczona przez niskie agcount. Zobacz uwagi Red Hat na ten temat. Na takim sprzęcie, gdzie pamięć nie jest w zakresie wielu terabajtów , zazwyczaj określam grupę alokacji na 4 GB miejsca na partycji . Przynajmniej przejdź do 32, aby dopasować swój serwer EL5 ... Spróbuj sformatować partycję EL6 za pomocą tych parametrów, aby sprawdzić, czy występuje różnica w wydajności ...

ewwhite
źródło
Wypróbowałem wszystkie 4 powyższe, ale żadne nie miało mierzalnej różnicy w wydajności moich testów porównawczych.
tmcallaghan
Zobacz moją edycję powyżej. Dwie partycje XFS w EL5 i EL6 zostały sformatowane przy użyciu bardzo różnych parametrów.
ewwhite
Dzięki za dalszą pomoc, sformatuję XFS i zobaczę, czy to pomoże.
tmcallaghan
Proszę zamieścić wyniki.
ewwhite
3
Odkryliśmy, że problemem były przezroczyste ogromne strony. Wyłączenie go powoduje, że wydajność naszego serwera Centos6 jest podobna do Centos5. Komenda brzmiała: „$ echo nigdy> / sys / kernel / mm / redhad_transparent_hugepage / enabled”. Inne dystrybucje robią to poprzez / sys / kernel / mm / transparent_hugepage / enabled "
tmcallaghan
0

Kiedy uruchamiasz iotop, co robi odczyt dysku na polu 6.2?

Jakie są opcje montowania na urządzeniu, z którego czytasz? Możesz zajrzeć do noatime i relatime

ckliborn
źródło
Testuję aplikację MySQL i nie używam bezpośredniego wejścia / wyjścia.
tmcallaghan
mount jest identyczny na obu komputerach, "/ dev / cciss / c0d0p5 / data xfs defaults 0 0"
tmcallaghan