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
Odpowiedzi:
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 zhpsa
modułu. Istnieje jednak różnica , ale problem prawdopodobnie dotyczy różnic w systemie operacyjnym. Oto co bym sprawdził:noatime
i wyłączyć bariery zapisu za pomocąnobarrier
. Oto przykładowy ciąg montowania, którego często używam .deadline
lubnoop
I / O windę na CentOS 6 serwerów. Możesz to zmienić w locie za pomocąecho deadline > /sys/block/cciss\!c0d0/queue/scheduler
lub dołączającelevator=deadline
do wpisu bootowania grub.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 ...źródło
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
źródło