CentOS 6보다 CentOS 5보다 많은 IO 수행


10

두 개의 동일한 서버에서 응용 프로그램을 벤치마킹하고 있습니다. 하나는 Centos 5.8이고 다른 하나는 Centos 6.2입니다. 내 응용 프로그램이 Centos 6.2 시스템에서 훨씬 느리게 실행됩니다 (50 % 이하).

문제를 진단하기 위해 벤치 마크 실행 전체에서 CPU, RAM 및 IO를 추적하고 있습니다. 나는 iostat로 측정했을 때 Centos 6.2 상자에서 디스크 읽기가 상당히 높다는 것을 알았습니다.

두 시스템 모두 벤치 마크가 실행되는 XFS를 실행하고 있습니다. 두 제품 모두 RAID 10을 실행하는 8 개의 300GB SAS가 장착 된 512MB 캐싱 RAID 컨트롤러가있는 HP 서버입니다.

다음은 각각에 대한 xfs_info의 출력입니다.

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

질문이 정확히 무엇입니까?
팀 브리검

XFS 마운트 및 파일 시스템 작성 옵션을 보여줄 수 있습니까? 하드웨어 및 디스크 레이아웃을보다 자세히 설명 할 수 있습니까?
ewwhite

퀘스트는 Centos 6.2가 내 응용 프로그램에 대해 Centos 5.8의 50 %를 벤치마킹한다는 것입니다. 현재 측정 할 수있는 다른 차이점은 읽기가 훨씬 높다는 것입니다.
tmcallaghan

답변:


10

자세한 내용으로 게시물을 업데이트 해 주셔서 감사합니다.

ProLiant 시스템에서 실행 중이므로 컨트롤러 및 I / O 상황최적화하는 데 일정량의 작업이 필요 합니다 . 또한 XFS 마운트는 기본 옵션을 사용하고 있습니다. 이러한 운영 체제간에 다른 드라이버를 사용하고 있습니다. EL5 서버에는 모듈 cciss이 있고 EL6 시스템은 hpsa모듈을 사용하고 있습니다. 이 차이는 문제가 당신이있는 거 경험은 아마 운영 체제의 차이와 관련이 있지만,. 여기 내가 확인해야 할 것이 있습니다.

  • 포함하도록 XFS 마운트를 변경 noatime하고 비활성화 쓰기 장벽 으로 nobarrier. 다음은 자주 사용 하는 샘플 마운트 문자열 입니다.
  • I / O 엘리베이터 동작은 Linux 버전마다 다릅니다. CentOS 6 서버 에서 deadline또는 noopI / O 엘리베이터를 사용해보십시오 . grub 부트 항목 echo deadline > /sys/block/cciss\!c0d0/queue/scheduler을 추가하거나 추가 하여 즉시 변경할 수 있습니다 elevator=deadline.
  • 읽기 / 쓰기 캐시가 워크로드에 최적인지 확인하십시오. 나는 보통 75 % 쓰기와 25 % 읽기로 간다.
  • 서버 구성 요소의 펌웨어를 업데이트하십시오. Smart Array RAID 컨트롤러 펌웨어의 각 개정판은 새로운 기능을 제공하는 경향이 있습니다. HP Smart Array P410 컨트롤러처럼 들리므로 5.14 버전 인지 확인하십시오 .

편집 :
CentOS 5 및 CentOS 6 시스템의 xfs_info 출력을보고 있습니다. 다른 매개 변수로 XFS 파티션을 포맷했습니다!

EL5 시스템에는 32 개의 XFS 할당 그룹이 있지만 EL6 시스템에는 4 개만 있습니다. 할당 그룹을 통해 XFS는 동시 파일 시스템 작업을 병렬화 할 수 있습니다.

사용 가능한 공간과 서버의 CPU 사양을 고려할 때 기존 EL6 설정은 low로 제한됩니다 agcount. 이에 대한 Red Hat의 노트 를 참조하십시오 . 스토리지가 멀티 테라 바이트 범위에 있지 않은 이와 같은 하드웨어 에서는 일반적으로 4GB의 파티션 공간 당 할당 그룹을 지정합니다 . 최소한 EL5 서버와 일치하도록 32로 이동하십시오. EL6 파티션을 해당 매개 변수로 재 포맷하여 성능 차이가 있는지 확인하십시오.


위의 4 가지를 모두 시도했지만 내 벤치 마크 성능에 큰 차이가 없었습니다.
tmcallaghan

위의 편집 내용을 참조하십시오. EL5 및 EL6의 두 XFS 파티션은 매우 다른 매개 변수로 포맷되었습니다.
ewwhite

지속적인 지원에 감사드립니다. XFS를 다시 포맷하여 도움이되는지 확인하겠습니다.
tmcallaghan

결과를 게시하십시오.
ewwhite

3
투명한 거대한 페이지가 문제라는 것을 알았습니다. Centos6 서버의 성능을 끄면 Centos5와 유사합니다. 명령은 "$ echo never> / sys / kernel / mm / redhad_transparent_hugepage / enabled"입니다. 다른 배포판을 통해이 작업을 수행 / SYS / 커널 / mm / transparent_hugepage / "가능
tmcallaghan

0

iotop을 실행할 때 6.2 상자에서 디스크 읽기는 무엇입니까?

또한 읽고있는 장치의 마운트 옵션은 무엇입니까? noatime과 relatime을보고 싶을 수도 있습니다.


직접 IO를 사용하지 않고 MySQL 응용 프로그램을 벤치마킹하고 있습니다.
tmcallaghan

마운트는 모두 기계 "는 / dev / CCISS / c0d0p5 / 데이터 XFS 기본값은 0 0"에 동일
tmcallaghan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.