2011-03-23 2 views
0

높은 IO 대기 시간에 문제가 있습니다. 나는 다음과 같은 하드웨어와 소프트웨어 몇 가지를 테스트 한디스크 및 블록 된 SQL INSERT 문의 쓰기시 높은 IO 속도

-physical 기계 (HP 프로 라이언트), 데비안 5, MySQL은 5.1, 하드웨어 RAID, ext3로-FS
-virtual 머신 VM웨어 ESX 4 (HP 프로 라이언트)에, 데비안 5, MySQL은 5.1, 하드웨어 RAID, ext3로-FS 젠 4, 데비안 6, MySQL은 5.5, 소프트웨어 RAID,

지금 이런 일이 발생 EXT3-FS에
-virtual 기계 : 디스크에 몇 가지 큰 파일을 복사 할 때, I '최고'에서 높은 대기 시간을 볼 수 있으며 다른 프로세스는 차단됩니다. 예 :

=/dev/urandom of = ./foo.txt count = 1000 bs = 1M (큰 파일 만들기) cat foo.txt foo.txt foo.txt foo.txt foo. txt> foo.new (/ dev/null로 전송하면 디스크에서만 읽음)

'cat'이 실행되는 동안 다른 복사 프로세스를 시작할 수 없습니다. 또한 (가장 큰 문제) mysql 데이터베이스에서 실행되는 INSERT 문은 올바르게 종료 될 때까지 차단됩니다. 'innotop'을 사용하면 'cat'이 끝날 때까지 mysql에서 'freeing items'상태 (MySQL 5.5에서는 상태 '쿼리 종료')에있는 수십 개의 프로세스를 볼 수 있습니다. mysqldump를 수행 할 때 INSERT 문의 블로킹도 발생합니다. 이제 더 이상 데이터베이스 백업을 수행하지 않아야합니까? ext3과 scheduler를 기반으로하는 모든 시스템은 'cfg'로 설정됩니다. 나는 '마감 시한'으로 시도해 보았습니다. 조금 도움이되는 것 같지만 모든 상황에 도움이되는 것은 아닙니다. 나는 아직도 이유를 알 수 없었다!? 이 문제는 너무 복잡한 것 같습니다 :-) ( 대규모 문제가 발생하는 것처럼 보입니다. 스케줄러에서 IO 처리가 좋지 않습니까?

답변

0

리눅스 io 스케줄러 (cat /sys/block/[dev]/queue/scheduler)를 변경하는 힌트를 발견했습니다. 일부 병렬 작업 (또는 프로세스)이 큰 작업로드를 가지면 해결 방법이 없을 것이라고 생각합니다.

0

이것은 컨트롤러 카드의 캐시와 관련이있을 수 있습니다. 가상 컴퓨터를 실행하는 경우, 캐시 그렇지 않으면 작동이 발생할 수 있는지 확인합니다.

을 아직 설치하지 않은 경우, here입니다 당신이 때때로 "HP 어레이 Linux 용 구성 유틸리티 CLI"

을 찾을 경우 배터리가 충전 중이 아님을보고 할 수 있습니다.이 경우 최신 펌웨어가 있는지 확인해야 충전 용 배터리의 일부 버그를 수정할 수 있습니다. 오스.