
고쳐 쓰다
Anon의 답변 덕분에 파일 시스템에 문제가 있다는 것을 알았습니다. 저는 NTFS를 사용하고 있습니다. FAT32를 사용한 결과는 다음과 같습니다.
윈도우:
diskspd64 -b128K -d5 -o32 -t1 -W0 -Sh -w0 cdm
508, 518, 520, 513, 513
fio --name=dontknow --ioengine=windowsaio --thread --size=1024m --bs=128k --time_based=1 --runtime=5s --iodepth=32 --numjobs=1 --rw=read --direct=1 --buffered=0 --startdelay=0s --filename=cdm
557, 557, 557, 558, 556
리눅스:
diskspd -b128K -d5 -o32 -t1 -W0 -Sh -w0 cdm
529, 528, 529, 529, 529
fio --name=dontknow --ioengine=libaio --thread --size=1024m --bs=128k --time_based=1 --runtime=5s --iodepth=32 --numjobs=1 --rw=read --direct=1 --buffered=0 --startdelay=0s --filename=cdm
560, 560, 560, 560, 559
원래 질문
동일한 드라이브의 동일한 입력 파일을 기반으로 Windows에서 주어진 명령의 읽기 속도에 대한 결과 숫자는 다음과 같습니다(MB/s - 각각 5번 실행했습니다).
diskspd64 -b128k -d5 -o32 -t1 -W0 -S -w0 cdm
555, 555, 556, 556, 555
fio --name=doesntmatter --ioengine=windowsaio --thread=1 --size=1024m --bs=128k --time_based=1 --runtime=5s --iodepth=32 --numjobs=1 --rw=read --direct=1 --startdelay=0s --filename=cdm
561, 553, 562, 561, 558
그리고 Linux(정확하게 말하면 - KDE 네온 useredition-20180802):
diskspd -b128K -d5 -o32 -t1 -W0 -Sh -w0 cdm
1800, 2000, 1925, 1891, 1973
fio --name=doesntmatter --ioengine=libaio --thread=1 --size=1024m --bs=128k --time_based=1 --runtime=5s --iodepth=32 --numjobs=1 --rw=read --direct=1 --startdelay=0s --filename=cdm
2637, 2826, 2593, 2770
또한 이것이 SATA SSD 드라이브이고 공식적인 최대 읽기 속도는 555 MB/s
.그래서 Windows 수치가 정확한 것 같습니다.
답변1
안타깝게도 귀하의 질문에 답할 수 있는 정보가 충분하지 않습니다. 일반적으로 실행의 전체 fio 출력을 보고 실행 중인 fio의 버전을 이해하는 것이 필요합니다. 이를 통해 도달한 깊이와 Linux 사용량 등을 알 수 있습니다. 디스크가 런타임 중에 있다고 생각합니다(예를 들어 대기 시간이 0에 가까우면 이는 거의 항상 캐싱의 신호입니다).
아마도direct=1
파일이 사용 중인 옵션을 지원하지 않는 파일 시스템에 있습니다.. 어떤 이유로 파일이 완전히 캐시되어 캐시에서 파일을 다시 읽는 중일 수 있습니다. 파일 크기가 전체 RAM보다 훨씬 작은 경우 이 점에 유의하세요. 아마도 파일에 쓰지 않기 때문에 파일이 희박하거나 비어 있고 실제로 "거기"가 아니기 때문일 것입니다(다시 읽기 전에 전체 쓰기를 시도하십시오)...
추신: thread
값이 필요하지 않습니다(참조http://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-thread).