느린 하드웨어에서 디스크 성능을 기록한 다음 이를 더 빠른 하드웨어에서 재생하고 벤치마킹하려면 어떻게 해야 합니까?

느린 하드웨어에서 디스크 성능을 기록한 다음 이를 더 빠른 하드웨어에서 재생하고 벤치마킹하려면 어떻게 해야 합니까?

현재 IO 성능 문제로 인해 현재 시스템에서 매우 느린 다양한 개발 작업을 수행하고 있습니다.

IO 소비 작업을 수행하는 동안 성능 정보(쓰기/초, 읽기/초 등)를 포함한 디스크 작업을 기록한 다음 이를 새 시스템에서 재생하여 성능이 어떤지 확인할 수 있는 방법이 있습니까?(동일한 데이터 세트에 대해 동일한 명령을 다시 실행할 필요가 없습니다)?

회의블록 추적,블록 파싱또는페오이 상황에서 나를 도와주실 수 있나요?

예를 들어, 내 시스템에서 다음을 실행하고 싶다고 가정해 보겠습니다.

find -name "*.php" | xargs grep -r "test_string"

50,000개의 파일이 있는 폴더(물론 여러 레벨)

통계를 포함한 모든 디스크 작업을 캡처한 다음 50,000개의 폴더가 없는 다른 시스템에서 이를 재생하고 싶습니다. 기본적으로 작업을 시뮬레이션하고 작업이 더 빨리 완료되는지 확인하세요.

다음을 사용하여 디스크 샘플 캡처를 시도했습니다.

blktrace -d /dev/sda -o myfile.blk

하지만 어떻게 다시 재생하려고 하는지 모르겠어요페오.

가능합니까?

감사해요

답변1

캔트. 다른 하드웨어에서 동일한 작업이 얼마나 오래 걸리는지 확인하려면 새 하드웨어에서 동일한 작업을 실행해야 합니다.

작업을 시뮬레이션하려면 동일한 디스크 섹터를 읽고 쓰는 것 외에도 작업이 데이터를 읽은 후 데이터에 수행하는 모든 작업을 시뮬레이션하는 방법을 찾아야 합니다.

답변2

fio를 사용하여 파일을 재생하려면 먼저 이진 데이터 파일 blktrace로 변환해야 합니다 .blkparse페오의 read_iolog선택더 많은 정보를 알고 싶으시다면(replay_redirect유용할 수도 있습니다).

노트:fio를 사용하여 쓰기가 포함된 재생을 다시 실행하면 재생된 파일/디스크의 데이터가 삭제됩니다.그러니 조심해!

관련 정보