짧은 버전 : rm -rf mydir
과 mydir
(재귀 적으로), 250 만 파일을 포함하고는 대부분 유휴 컴퓨터에서 약 12 시간이 소요됩니다.
추가 정보 : 삭제되는 대부분의 파일은 다른 디렉토리에있는 파일에 대한 하드 링크입니다 (삭제되는 디렉토리는 실제로 가장 오래된 백업 rsnapshot
이며 rm
명령은 실제로에 의해 제공됨 rsnapshot
). 따라서 대부분 디렉토리 항목이 삭제됩니다. 파일 내용 자체는 그리 많지 않습니다. 약 10GB 정도입니다.
나는 그것이 btrfs
범인 이라는 사실과 는 거리가 멀다 . 백업을 사용하기 전에 백업 속도가 매우 느리다는 것을 기억 btrfs
하지만 속도가 느리게 삭제되었는지는 확실하지 않습니다.
머신은 4GB RAM의 Intel Core i5 2.67GHz입니다. 여기에는 2 개의 SATA 디스크가 있습니다. 하나에는 OS와 다른 것들이 있으며 백업 디스크는 1TB WDC WD1002FAEX-00Z3A0
입니다. 마더 보드는 Asus P7P55D입니다.
편집 : 기계는 리눅스와 데비안 wheezy입니다 3.16.3-2~bpo70+1
. 파일 시스템이 마운트되는 방식입니다.
root@thames:~# mount|grep rsnapshot
/dev/sdb1 on /var/backups/rsnapshot type btrfs (rw,relatime,compress=zlib,space_cache)
편집 : 사용하는 rsync -a --delete /some/empty/dir mydir
데 약 6 시간이 걸립니다. 에 비해 크게 개선 rm -rf
되었지만 여전히 너무 많이 생각합니다. ( 이유 rsync
가 더 빠른 이유에 대한 설명rm
: "[M] 대부분의 파일 시스템은 디렉토리 구조를 btree 형식으로 저장합니다. 파일을 삭제하는 순서는 중요합니다. 링크 해제를 수행 할 때 btree의 균형을 다시 잡는 것을 피해야합니다. .... rsync -a --delete
... 삭제 순서대로 ")
편집 : 220 만 개의 파일이있는 다른 디스크를 디렉토리에, 그러나 XFS에 연결했습니다. 비교 결과는 다음과 같습니다.
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] hdparm -T /dev/sdX
및 hdparm -t /dev/sdX
.
[2] find mydir -print|wc -l
부팅 후 즉시 실행하는 데 걸린 시간 입니다.
[3] XFS 디스크에서 find
. BTRFS 디스크에서 이것은 오래된 측정입니다 (트리가 캐시 된 것으로 생각하지 않습니다).
에 문제가있는 것 같습니다 btrfs
.
btrfs
합니까? 물론 가능하지만 관련성이 있다고 생각하십니까? 지금 시도한 이유를 기억할 수 없습니다 btrfs
.
btrfs
투명 압축을 원했기 때문에 로 전환하기로 결정했습니다 . 지금 : rsnapshot
하드 링크를 사용합니다. 하드 링크를 사용하지 않는 옵션은 없습니다. 따라서 하드 링크는 btrfs
의 기록 중 복사 기능 과 겹치지 만 그에 대해서는별로 할 수 없습니다.