Premium
Datum registracije: May 2006
Lokacija: München/Varaždin
Postovi: 4,811
|
Citiraj:
Autor mkey
OK, konačno došlo moje na red. Kao izvor za kopiranje sam napravio fajlove random (binarnog) sadržaja i smjestio ih na NVME A:
1. 100k fajlova od 1 KiB
2. 10k fajlova od 4 KiB
3. 1k fajlova od 10 KiB
4. 1k fajlova od 1 MiB
Test sam napravio u 4 koraka, ponovio par puta s ponovljivim rezultatima:
1. rsync direkt u RAM preko TMPFS
2. rsync na BTRFS RAM particiju, bez kompresije
3. rsync na BTRFS RAM particiju, sa kompresijom
4. rsync na BTRFS particiju s kompresijom na NVME B
Ukupno za kopiranje 112k fajlova ukupne veličine 1.19 GiB (na kraju vidim da je tu bilo i nešto više fajlova, ali mislim da nije bitno s obzirom da samo to i tako napravio nasumično).
1. kopiranje direkt u RAM: 189 MiB/s
2. kopiranje na RAM BTRFS particiju bez kompresije: 74 MiB/s
3. kopiranje na RAM BTRFS particiju s kompresijom: 79 MiB/s
4. kopiranje na BTRFS particiju na drugom NVME: 98 MiB/s
Pod 3 pretpostavljam kako je limitirana mogućnost komprimiranja s obzirom na nasumičan sadržaj fajlova. Da su neki tekstualni fajlovi vjerojatno bi ta brzina bila veća.
Mislim da se ovdje pokazalo ono što je bilo i za očekivati, kod rada s nekim povećim arhivama RAM kao temp dir već i na DDR4 ima smisla.
Code:
# create a bunch of small files; 100k 1k large files
for i in {1..99999}
do
if [[ $i -lt 10 ]] then pad="0000"
elif [[ $i -lt 100 ]] then pad="000"
elif [[ $i -lt 1000 ]] then pad="00"
elif [[ $i -lt 10000 ]] then pad="0"
elif [[ $i -lt 100000 ]] then pad=""
fi;
# echo "1K#$pad$i";
dd if=/dev/random of=/media/mkey/data2/RAMDisk/1K#$pad$i bs=1K count=1
done;
# create a bunch of small files; 10k 4k large files
size="4K"
for i in {1..9999}
do
if [[ $i -lt 10 ]] then pad="0000"
elif [[ $i -lt 100 ]] then pad="000"
elif [[ $i -lt 1000 ]] then pad="00"
elif [[ $i -lt 10000 ]] then pad="0"
elif [[ $i -lt 100000 ]] then pad=""
fi;
dd if=/dev/random of=/media/mkey/data2/RAMDisk/$size#$pad$i bs=$size count=1
done;
# create a bunch of small files; 1k 10k large files
size="10K"
for i in {1..999}
do
if [[ $i -lt 10 ]] then pad="0000"
elif [[ $i -lt 100 ]] then pad="000"
elif [[ $i -lt 1000 ]] then pad="00"
elif [[ $i -lt 10000 ]] then pad="0"
elif [[ $i -lt 100000 ]] then pad=""
fi;
dd if=/dev/random of=/media/mkey/data2/RAMDisk/$size#$pad$i bs=$size count=1
done;
# create a bunch of small files; 1k 1m large files
size="1000K"
for i in {1..99}
do
# same but with compression
umount /dev/shm/btrfs.fs
mkfs.btrfs -f /dev/shm/btrfs.fs
mount -o compress=lzo /dev/shm/btrfs.fs /mnt/btrfs
rsync -aAHX --progress --stats /media/mkey/data2/RAMDisk/ /mnt/btrfs # 79 MiB/s
# Number of files: 112,996 (reg: 112,995, dir: 1)
# Number of created files: 112,995 (reg: 112,995)
# Number of deleted files: 0
# Number of regular files transferred: 112,995
# Total file size: 1,278,858,240 bytes
# Total transferred file size: 1,278,858,240 bytes
# Literal data: 1,278,858,240 bytes
# Matched data: 0 bytes
# File list size: 1,638,378
# File list generation time: 0.773 seconds
# File list transfer time: 0.000 seconds
# Total bytes sent: 1,285,676,660
# Total bytes received: 2,149,052
# sent 1,285,676,660 bytes received 2,149,052 bytes 83,085,529.81 bytes/sec ~ 79 MiB/s
# total size is 1,278,858,240 speedup is 0.99
# copy from one NVME to another NVME; with BTRFS compression
mkdir /home/mkey/RAMDisk
rsync -aAHX --progress --stats /media/mkey/data2/RAMDisk/ /home/mkey/RAMDisk
# Number of files: 112,996 (reg: 112,995, dir: 1)
# Number of created files: 112,995 (reg: 112,995)
# Number of deleted files: 0
# Number of regular files transferred: 112,995
# Total file size: 1,278,858,240 bytes
# Total transferred file size: 1,278,858,240 bytes
# Literal data: 1,278,858,240 bytes
# Matched data: 0 bytes
# File list size: 1,638,378
# File list generation time: 0.788 seconds
# File list transfer time: 0.000 seconds
# Total bytes sent: 1,285,676,660
# Total bytes received: 2,149,052
# sent 1,285,676,660 bytes received 2,149,052 bytes 103,026,056.96 bytes/sec ~ 98 MiB/s
# total size is 1,278,858,240 speedup is 0.99
# cleanup
rm -fR /home/mkey/RAMDisk
umount /dev/shm/btrfs.fs
rm -f /dev/shm/btrfs.fs
if [[ $i -lt 10 ]] then pad="0000"
elif [[ $i -lt 100 ]] then pad="000"
elif [[ $i -lt 1000 ]] then pad="00"
elif [[ $i -lt 10000 ]] then pad="0"
elif [[ $i -lt 100000 ]] then pad=""
fi;
dd if=/dev/random of=/media/mkey/data2/RAMDisk/$size#$pad$i bs=$size count=1
done;
# copy directly to RAM
mkdir /dev/shm/RAMDisk
rsync -aAHX --progress --stats /media/mkey/data2/RAMDisk/ /dev/shm/RAMDisk # 189 MiB/s
# Number of files: 112,996 (reg: 112,995, dir: 1)
# Number of created files: 112,995 (reg: 112,995)
# Number of deleted files: 0
# Number of regular files transferred: 112,995
# Total file size: 1,278,858,240 bytes
# Total transferred file size: 1,278,858,240 bytes
# Literal data: 1,278,858,240 bytes
# Matched data: 0 bytes
# File list size: 1,638,378
# File list generation time: 0.782 seconds
# File list transfer time: 0.000 seconds
# Total bytes sent: 1,285,676,660
# Total bytes received: 2,149,052
#
# sent 1,285,676,660 bytes received 2,149,052 bytes 198,127,032.62 bytes/sec ~ 189 MiB/s
# total size is 1,278,858,240 speedup is 0.99
# cleanup
rm -fR /de
# same but with compression
umount /dev/shm/btrfs.fs
mkfs.btrfs -f /dev/shm/btrfs.fs
mount -o compress=lzo /dev/shm/btrfs.fs /mnt/btrfs
rsync -aAHX --progress --stats /media/mkey/data2/RAMDisk/ /mnt/btrfs # 79 MiB/s
# Number of files: 112,996 (reg: 112,995, dir: 1)
# Number of created files: 112,995 (reg: 112,995)
# Number of deleted files: 0
# Number of regular files transferred: 112,995
# Total file size: 1,278,858,240 bytes
# Total transferred file size: 1,278,858,240 bytes
# Literal data: 1,278,858,240 bytes
# Matched data: 0 bytes
# File list size: 1,638,378
# File list generation time: 0.773 seconds
# File list transfer time: 0.000 seconds
# Total bytes sent: 1,285,676,660
# Total bytes received: 2,149,052
# sent 1,285,676,660 bytes received 2,149,052 bytes 83,085,529.81 bytes/sec ~ 79 MiB/s
# total size is 1,278,858,240 speedup is 0.99
# copy from one NVME to another NVME; with BTRFS compression
mkdir /home/mkey/RAMDisk
rsync -aAHX --progress --stats /media/mkey/data2/RAMDisk/ /home/mkey/RAMDisk
# Number of files: 112,996 (reg: 112,995, dir: 1)
# Number of created files: 112,995 (reg: 112,995)
# Number of deleted files: 0
# Number of regular files transferred: 112,995
# Total file size: 1,278,858,240 bytes
# Total transferred file size: 1,278,858,240 bytes
# Literal data: 1,278,858,240 bytes
# Matched data: 0 bytes
# File list size: 1,638,378
# File list generation time: 0.788 seconds
# File list transfer time: 0.000 seconds
# Total bytes sent: 1,285,676,660
# Total bytes received: 2,149,052
# sent 1,285,676,660 bytes received 2,149,052 bytes 103,026,056.96 bytes/sec ~ 98 MiB/s
# total size is 1,278,858,240 speedup is 0.99
# cleanup
rm -fR /home/mkey/RAMDisk
umount /dev/shm/btrfs.fs
rm -f /dev/shm/btrfs.fsv/shm/RAMDisk
# create a btrfs filesystem, without compression
mkdir /mnt/btrfs
dd if=/dev/zero of=/dev/shm/btrfs.fs bs=1M count=2024
mkfs.btrfs /dev/shm/btrfs.fs
mount /dev/shm/btrfs.fs /mnt/btrfs
rsync -aAHX --progress --stats /media/mkey/data2/RAMDisk/ /mnt/btrfs # 74 MiB/s ; heavy CPU usage: gvfsd-trash
# Number of files: 112,996 (reg: 112,995, dir: 1)
# Number of created files: 112,995 (reg: 112,995)
# Number of deleted files: 0
# Number of regular files transferred: 112,995
# Total file size: 1,278,858,240 bytes
# Total transferred file size: 1,278,858,240 bytes
# Literal data: 1,278,858,240 bytes
# Matched data: 0 bytes
# File list size: 1,638,378
# File list generation time: 0.805 seconds
# File list transfer time: 0.000 seconds
# Total bytes sent: 1,285,676,660
# Total bytes received: 2,149,052
# sent 1,285,676,660 bytes received 2,149,052 bytes 78,050,043.15 bytes/sec ~ 74 MiB/s
# total size is 1,278,858,240 speedup is 0.99
# same but with compression
umount /dev/shm/btrfs.fs
mkfs.btrfs -f /dev/shm/btrfs.fs
mount -o compress=lzo /dev/shm/btrfs.fs /mnt/btrfs
rsync -aAHX --progress --stats /media/mkey/data2/RAMDisk/ /mnt/btrfs # 79 MiB/s
# Number of files: 112,996 (reg: 112,995, dir: 1)
# Number of created files: 112,995 (reg: 112,995)
# Number of deleted files: 0
# Number of regular files transferred: 112,995
# Total file size: 1,278,858,240 bytes
# Total transferred file size: 1,278,858,240 bytes
# Literal data: 1,278,858,240 bytes
# Matched data: 0 bytes
# File list size: 1,638,378
# File list generation time: 0.773 seconds
# File list transfer time: 0.000 seconds
# Total bytes sent: 1,285,676,660
# Total bytes received: 2,149,052
# sent 1,285,676,660 bytes received 2,149,052 bytes 83,085,529.81 bytes/sec ~ 79 MiB/s
# total size is 1,278,858,240 speedup is 0.99
# copy from one NVME to another NVME; with BTRFS compression
mkdir /home/mkey/RAMDisk
rsync -aAHX --progress --stats /media/mkey/data2/RAMDisk/ /home/mkey/RAMDisk
# Number of files: 112,996 (reg: 112,995, dir: 1)
# Number of created files: 112,995 (reg: 112,995)
# Number of deleted files: 0
# Number of regular files transferred: 112,995
# Total file size: 1,278,858,240 bytes
# Total transferred file size: 1,278,858,240 bytes
# Literal data: 1,278,858,240 bytes
# Matched data: 0 bytes
# File list size: 1,638,378
# File list generation time: 0.788 seconds
# File list transfer time: 0.000 seconds
# Total bytes sent: 1,285,676,660
# Total bytes received: 2,149,052
# sent 1,285,676,660 bytes received 2,149,052 bytes 103,026,056.96 bytes/sec ~ 98 MiB/s
# total size is 1,278,858,240 speedup is 0.99
# cleanup
rm -fR /home/mkey/RAMDisk
umount /dev/shm/btrfs.fs
rm -f /dev/shm/btrfs.fs
|
E o ovome govorim cijelo vrijeme - real world test. Hvala mkey  Nego jel bi ti bio bed jos sa EXT4 testirat, preferabilno sa noatime mount opcijom?
__________________
Lenovo LOQ 15AHP9 83DX || AMD Ryzen 5 8645HS / 16GB DDR5 / Micron M.2 2242 1TB / nVidia Geforce RTX 4050 / Windows 11 Pro
Lenovo Thinkpad L15 Gen 1 || Intel Core i5 10210U / 16GB DDR4 / WD SN730 256GB / Intel UHD / Fedora Workstation 42
|