tee
체크섬을 동시에 전송하고 계산하는 데 사용 하는 것에 대한 Nerdwaller의 답변 은 주로 네트워크의 손상에 대해 걱정하는 경우 좋은 방법입니다. 디스크에 닿기 전에 체크섬을 취하기 때문에 디스크로가는 등의 손상으로부터 보호하지 않습니다.
그러나 나는 무언가를 추가하고 싶습니다 :
1TiB / 40 분 ≈ 437MiB / 초 1 .
실제로는 매우 빠릅니다. 당신이하지 않는 한 것을 기억 많은 의 스토리지에서 돌아오고있어 것으로, RAM의를. 따라서 가장 먼저 확인해야 할 것은 iostat -kx 10
체크섬을 실행할 때 확인하는 것입니다. 특히 %util
열에 주의를 기울이고 싶습니다 . 디스크를 100 % 가까이 파고 있다면 더 빠른 스토리지를 구입해야합니다.
그렇지 않으면 다른 포스터에서 언급했듯이 다른 체크섬 알고리즘을 사용해 볼 수 있습니다. MD4, MD5 및 SHA-1은 모두 암호화 해시로 설계되었습니다 (해당 목적으로는 더 이상 사용해서는 안되며 모두 너무 약한 것으로 간주 됨). 현명하게, 당신은 그들을 비교할 수 있습니다 openssl speed md4 md5 sha1 sha256
. 적어도 하나 이상의 강력한 해시를 갖기 위해 SHA256에 던졌습니다.
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md4 61716.74k 195224.79k 455472.73k 695089.49k 820035.58k
md5 46317.99k 140508.39k 320853.42k 473215.66k 539563.35k
sha1 43397.21k 126598.91k 283775.15k 392279.04k 473153.54k
sha256 33677.99k 75638.81k 128904.87k 155874.91k 167774.89k
위에서 MD4가 가장 빠르며 SHA256이 가장 느리다는 것을 알 수 있습니다. 이 결과는 적어도 PC와 같은 하드웨어에서 일반적입니다.
더 많은 성능을 원한다면 ( 손상을 입히는 데 사소한 비용이 들며 손상을 감지 할 가능성도 적음) CRC 또는 Adler 해시를보고 싶을 것입니다. 둘 중 Adler는 일반적으로 빠르지 만 약합니다. 불행히도, 나는 정말 빠른 명령 행 구현을 모른다. 내 시스템의 프로그램은 모두 OpenSSL의 md4보다 느립니다.
그래서 가장 좋은 건 속도는-현명 openssl md4 -r
합니다 ( -r
차종 그것은 md5sum이 출력과 같이).
컴파일 및 / 또는 최소한의 프로그래밍을 수행하려는 경우 스택 오버플로 및 xxhash 에서 Mark Adler의 코드 오버를 참조하십시오 . SSE 4.2가있는 경우 하드웨어 CRC 명령의 속도를 이길 수 없습니다.
1 TiB = 1024⁴ 바이트; 1MiB = 1024² 바이트 1000 단위의 전력으로 ≈417MB / 초에 이릅니다.