7-Zip은 Ubuntu에서는 시간이 지남에 따라 속도가 느려지지만 Windows에서는 그렇지 않습니다.

7-Zip은 Ubuntu에서는 시간이 지남에 따라 속도가 느려지지만 Windows에서는 그렇지 않습니다.

PagesUbuntu 서버에 220만 개의 HTML 파일(약 80GB)이 있는 디렉터리가 있습니다 . 다음 명령을 사용하여 7-Zip을 사용하여 압축했습니다.

7z a -mx=9 Pages.7z Pages

압축에는 약 5~6시간이 소요됩니다(약간 너무 긴 것 같습니다). 압축된 크기는 약 2.3GB입니다.

그런 다음 이를 내 메인 컴퓨터(Ubuntu, Intel® Xeon® CPU E5-1650 v2 @ 3.50GHz)에 다운로드했습니다. 추출을 시도할 때마다 실망스럽지만 허용 가능한 속도로 시작되지만 추출 속도가 빨라짐에 따라 크롤링 속도가 느려집니다(밤새 실행하고 깨어났을 때 매분 약 300개의 파일을 처리하고 있었습니다).

그러나 내 Windows 컴퓨터(Intel® Xeon® CPU E5-2687W @ 3.10GHz, 이는 약간 더 나은 컴퓨터)에서는 15~20분 안에 전체 디렉터리를 추출했습니다. 또한 Ubuntu의 7-Zip으로는 할 수 없는 다중 프로세서를 활용하는 것 같습니다.

분명히 나는 ​​추출하는 데 며칠을 보낼 수 없었고, 그래서도 안 되었습니다.

내 생각에는 이것이 7-Zip보다 Ubuntu(나는 복구 중인 Windows 사용자임) 또는 내 파일 시스템을 이해하지 못하는 것과 더 관련이 있다는 것입니다. 어떤 도움이라도 대단히 감사하겠습니다.

내 호스트는 ext4 파일 시스템을 사용하고 7-Zip 버전은 9.20입니다.

7-Zip [64] 9.20 p7zip 버전 9.20(locale=en_US.UTF-8, Utf16=on, HugeFiles=on, CPU 12개)

고쳐 쓰다:

기본 Ubuntu 설치의 드라이브 중 하나가 실제로 ext4(내 SSD)라는 점을 명확히 해야 합니다. 비록 다른 드라이브는 ntfs이지만(설치 중에 Ubuntu에서 이것을 권장한 것으로 기억합니다. 아마도 제가 설정했기 때문일 것입니다) 정렬). 어디에서 일하든 시간이 지남에 따라 속도 저하가 발생합니다.

주석의 조언에 따라 Windows 시스템을 사용하여 아카이브의 압축을 풀고 4096개의 하위 디렉터리로 디렉터리를 재구성한 다음 다시 압축했습니다(이번에는 최대 압축 수준 대신 기본 압축 수준을 사용하고 lzma2를 지정했지만). 그런 다음 이를 Ubuntu 컴퓨터(특히 ext4 SSD)로 전송하고 압축을 풀었습니다. 예상했던 대로 매우 잘 작동했습니다. 매우 빠르게 작동했습니다.

그러나 다른 논평자가 지적했듯이 여기서 문제의 일부는 내 Ubuntu 시스템의 드라이브가 색인화되지 않았고(Windows에서 색인화됨) 색인을 생성하는 경우(내가 의도한 바)일 수 있습니다. ), 아마도 디렉토리를 전혀 재구성할 필요가 없을 것입니다. 저는 현재 이 작업을 성공적이고 안전하게 수행하는 방법을 찾으려고 노력 중이며 유용한 결과가 있으면 다시 보고하겠습니다.

또한 Python을 사용하여 Ubuntu 시스템의 기존 디렉터리를 다시 빌드해 보았지만 비합리적으로 느렸습니다. 어쩌면 이것은 Linux/ext4/ntfs가 아닌 Python 문제일 수도 있고, 인덱싱과 관련이 있을 수도 있고, 소스 디렉터리에 한 디렉터리에 220만 개의 파일이 있을 수도 있습니다...:

for fileName in series:
    if not os.path.exists('[...]/Pages2/' + fileName[:3] + '/' + fileName):
        shutil.copy('[...]/Pages/' + fileName, '[...]/Pages2/' + fileName[:3] + '/' + fileName)

답변1

XZ의 Wikipedia 항목(https://en.wikipedia.org/wiki/Xz):

xz는 7-Zip 프로그램의 간단한 버전이라고 생각할 수 있습니다. xz에는 사용된 .7z 형식 대신 자체 파일 형식이 있습니다.7-Zip(Unix와 유사한 파일 시스템 메타데이터[2]에 대한 지원이 부족함).

실제로 Ubuntu의 NTFS 또는 EXT-4에서는 디렉터리에 수백만 개의 작은 파일이 있을 수 있는 것처럼 보입니다(그러나 다른 이유로 권장되지 않을 수 있습니다). 또한 내 파일 시스템의 인덱싱에도 문제가 없습니다. 큰 디렉토리를 추출하려고 할 때 7zip 속도가 느려지는 이유는 7zip 작성자가 Linux/Unix 사용자에 대해 별로 신경 쓰지 않는다는 사실과 관련이 있습니다.

Nautilus를 작성한 사람들이 Linux 사용자에 대해 동일한 경멸을 갖고 있는지 궁금합니다. b/c 또한 Windows 탐색기에는 문제가 없는 파일이 많은 디렉토리를 좋아하지 않습니다.

답변2

220만 개의 파일이 있는 디렉토리에 대해 이야기하고 있습니까? 너무 많은 파일을 처리하면 Ext 파일 시스템이 매우 느려질 수 있습니다.

관련 정보