Versi pendek : rm -rf mydir, dengan mydir(rekursif) mengandung 2,5 juta file, membutuhkan waktu sekitar 12 jam pada mesin sebagian besar menganggur.
Informasi lebih lanjut : Sebagian besar file yang dihapus adalah tautan keras ke file di direktori lain (direktori yang dihapus sebenarnya adalah cadangan tertua yang dibuat oleh rsnapshot; rmperintah sebenarnya diberikan oleh rsnapshot). Jadi sebagian besar entri direktori dihapus - konten file itu sendiri tidak banyak; itu dalam urutan puluhan GB.
Saya jauh dari yakin bahwa itu btrfsadalah pelakunya. Saya ingat cadangan juga sangat lambat sebelum saya mulai menggunakan btrfs, tetapi saya tidak yakin bahwa kelambatan dalam penghapusan.
Mesin tersebut adalah Intel Core i5 2.67 GHz dengan 4 GB RAM. Ini memiliki dua disk SATA: satu memiliki OS dan beberapa hal lainnya, dan disk cadangan adalah 1 TB WDC WD1002FAEX-00Z3A0. Motherboard adalah Asus P7P55D.
Sunting : Mesin ini adalah debian wheezy dengan Linux 3.16.3-2~bpo70+1. Beginilah cara sistem file di-mount:
root@thames:~# mount|grep rsnapshot
/dev/sdb1 on /var/backups/rsnapshot type btrfs (rw,relatime,compress=zlib,space_cache)
Sunting : Menggunakan rsync -a --delete /some/empty/dir mydirmembutuhkan waktu sekitar 6 jam. Peningkatan yang signifikan berakhir rm -rf, tapi saya pikir masih terlalu banyak. ( Penjelasan mengapa rsynclebih cepat darirm : "[M] sistem file pertama menyimpan struktur direktori mereka dalam format btree, urutan [di] yang Anda hapus file ... penting. Kita harus menghindari menyeimbangkan kembali btree ketika Anda melakukan unlink .... rsync -a --delete... melakukan penghapusan secara berurutan ")
Sunting : Saya memasang disk lain yang memiliki 2,2 juta file (secara rekursif) dalam direktori, tetapi pada XFS. Berikut adalah beberapa hasil perbandingan:
On the XFS disk On the BTRFS disk
Cached reads[1] 10 GB/s 10 GB/s
Buffered reads[1] 80 MB/s 115 MB/s
Walk tree[2] 11 minutes 43 minutes
rm -rf mydir[3] 7 minutes 12 hours
[1] Dengan hdparm -T /dev/sdXdan hdparm -t /dev/sdX.
[2] Waktu yang diperlukan untuk berjalan find mydir -print|wc -lsegera setelah boot.
[3] Pada disk XFS, ini segera setelah berjalan dengan pohon find. Pada disk BTRFS itu adalah pengukuran lama (dan saya tidak berpikir itu dengan cache pohon).
Tampaknya menjadi masalah dengan btrfs.
btrfs? Ini mungkin, tentu saja, tetapi apakah Anda pikir itu relevan? Saat ini saya tidak dapat mengingat mengapa saya memutuskan untuk mencoba btrfs.
btrfskarena saya ingin kompresi transparan. Sekarang: rsnapshotmenggunakan tautan keras. Tidak ada opsi untuk tidak menggunakan tautan keras. Jadi tautan keras tumpang tindih dengan btrfsfungsionalitas copy-on-write, tapi saya tidak bisa berbuat banyak tentang itu.