Linux 루프백 파일 시스템에서 성능 / 벤치마킹 테스트를 수행 한 사람이 있습니까? 지금까지의 경험은 무엇입니까? 성능이 심각하게 저하 되었습니까? 견고성은 어떻습니까?
http://freshmeat.net/articles/virtual-filesystem-building-a-linux-filesystem-from-an-ordinary-file
Linux 루프백 파일 시스템에서 성능 / 벤치마킹 테스트를 수행 한 사람이 있습니까? 지금까지의 경험은 무엇입니까? 성능이 심각하게 저하 되었습니까? 견고성은 어떻습니까?
http://freshmeat.net/articles/virtual-filesystem-building-a-linux-filesystem-from-an-ordinary-file
답변:
루프백 장치에서 쓰기 작업으로 약간의 벤치마킹을 수행했습니다. 결론은 다음과 같습니다.
먼저 tmpfs 8GB의 루프백 장치와 해당 루프백 장치 내의 루프백 장치에 대한 벤치 마크를 실행했습니다 ( 모든 쓰기 작업 후 동기화 사용 ).
tmpfs의 ext4 :
Measured speed: 557, 567, 563, 558, 560, 559, 556, 556, 554, 557
Average speed : 558.7 MB/s (min 554 max 560)
tmpfs의 extf에있는 ext4 :
Measured speed: 296, 298, 295, 295, 299, 297, 294, 295, 296, 296
Average speed : 296.1 MB/s (min 294 max 299)
쓰기시 동기 루프백 장치를 사용할 때 성능에 약간의 차이가 있습니다.
그런 다음 HDD에서 동일한 테스트를 반복했습니다.
ext4 (HDD, 1000MB, 3 회) :
Measured speed: 24.1, 23.6, 23.0
Average speed : 23.5 MB/s (min 23.0 max 24.1)
ext4의 ext4 (HDD, 945MB) :
Measured speed: 12.9, 13.0, 12.7
Average speed : 12.8 MB/s (min 12.7 max 13.0)
모든 쓰기 후에 동기화하지 않고 HDD에서 동일한 벤치 마크 ( /로 time (dd if=/dev/zero bs=1M count=1000 of=file; sync)
측정 )
ext4 (HDD, 1000MB) :<size>
<time in seconds>
Measured speed: 84.3, 86.1, 83.9, 86.1, 87.7
Average speed : 85.6 MB/s (min 84.3 max 87.7)
ext4의 ext4 (HDD, 945MB) :
Measured speed: 89.9, 97.2, 82.9, 84.0, 82.7
Average speed : 87.3 MB/s (min 82.7 max 97.2)
(놀랍게도, 루프백 벤치 마크는 원시 디스크 벤치 마크보다 더 좋아 보입니다. 아마도 루프백 장치의 크기가 더 작기 때문에 실제 디스크 동기화에 소요되는 시간이 줄어 듭니다)
먼저 / tmp (tmpfs)에 8G의 루프백 파일 시스템을 만들었습니다.
truncate /tmp/file -s 8G
mkfs.ext4 /tmp/file
sudo mount /tmp/file /mnt/
sudo chown $USER /mnt/
그런 다음 마운트 된 루프백 파일에 데이터를 채워 기준을 설정했습니다.
$ dd if=/dev/zero bs=1M of=/mnt/bigfile oflag=sync
dd: error writing '/mnt/bigfile': No space left on device
7492+0 records in
7491+0 records out
7855763456 bytes (7.9 GB) copied, 14.0959 s, 557 MB/s
그런 다음 이전 루프백 장치에 다른 루프백 장치를 만들었습니다.
mkdir /tmp/mountpoint
mkfs.ext4 /mnt/bigfile
sudo mount /mnt/bigfile /tmp/mountpoint
sudo chown $USER /tmp/mountpoint
그리고 벤치 마크를 10 번 다시 실행했습니다 :
$ dd if=/dev/zero bs=1M of=/tmp/mountpoint/file oflag=sync
...
7171379200 bytes (7.2 GB) copied, 27.0111 s, 265 MB/s
그런 다음 테스트 파일을 마운트 해제하고 제거했습니다.
sudo umount /tmp/mountpoint
sudo umount /mnt
( count=1000
전체 디스크를 채우지 못하도록 테스트를 추가 한 것을 제외하고 HDD 테스트와 비슷 함 )
(동기화되지 않은 테스트의 경우 시간 dd
과 sync
동작을 실행 함)