어레이 확장 후 Linux 전송 RATES의 zfs가 잘못 보고되는 이유는 무엇입니까?

어레이 확장 후 Linux 전송 RATES의 zfs가 잘못 보고되는 이유는 무엇입니까?

NAS 서버의 4개 드라이브 Raidz 어레이에서 드라이브를 업그레이드했는데 어레이가 새 크기로 자동 확장되었습니다. NAS 서버의 전송 속도를 테스트할 때 대규모 읽기 전송을 수행할 때 성능이 좋지 않고 iotop 및 zpool iostat가 최대 500MB/s까지 매우 높은 수치를 보고할 수 있지만 10MB/s를 초과하는 데 어려움을 겪고 있는 것으로 나타났습니다. 이상한 행동? 어레이를 업그레이드하면서 4개의 장치가 온라인에 있든 3개로 저하되든 동일한 성능을 발휘한다는 것을 관찰할 수도 있습니다.

서버는 단일 기가비트 네트워크 연결로 연결되어 있으며 ext4를 사용하여 단일 드라이브로 포화시킬 수 있습니다

답변1

어떤 일이 일어날지 알아보기 위해 캐시 설정을 실험하면서 기본 캐시를 꺼 놓은 상태로 두었는데 이로 인해 실제 IO가 논리적 IO보다 훨씬 커질 수 있다는 사실을 발견했습니다.

[응용 프로그램]은 파일을 읽고 4k(페이지 크기?)의 데이터를 가져와 처리한 후 다음 4k 등을 읽습니다.

그러나 ZFS는 4k만 읽을 수 없습니다. 기본적으로 128k(레코드 크기)를 읽습니다. 캐시가 없으므로(사용자가 캐시를 껐음) 나머지 데이터는 버려집니다.

128k / 4k = 32

32 x 2.44GB = 78.08GB

~에서FreeBSD 포럼

관련 정보