높은 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 처리가 좋지 않습니까?