이상적인 s3ql --max-obj-size 값에 영향을 미치는 요소는 무엇입니까?

이상적인 s3ql --max-obj-size 값에 영향을 미치는 요소는 무엇입니까?

저는 --max-obj-size 값을 생성할 때 사용되는 모든 관련 의미를 이해하려고 노력하고 있습니다.s3ql파일 시스템. 나는 아직 이 옵션의 의미에 대한 완전한 설명을 찾지 못했지만 문서와 토론 그룹에서 몇 가지 내용을 모아서 정리할 수 있었습니다.

주로 더 큰 --max-obj-size 값을 사용해야 하는 이유를 찾았는데, 임의로 큰 값(10mb? 100mb? 1gb?)을 사용하지 않는 이유가 궁금합니다.

  • 값이 작을수록 더 많은 "inode"가 사용되며 sqlite 데이터베이스의 성능이 저하됩니다(동일한 수의 파일에 더 많은 inode 항목이 필요함).
  • 값이 작을수록 처리량이 저하될 수 있습니다(특히순차 읽기).

버전 1.8부터변경 로그:

실제로 작은 S3QL 블록 크기는~ 아니다작은 파일을 많이 저장할 때 큰 블록 크기에 비해 이점이 있습니다. 그러나 작은 블록 크기는 더 큰 파일을 저장할 때 성능을 심각하게 저하시킵니다. 이는 S3QL이 동적 블록 크기를 효과적으로 사용하고 --blocksize 값이 성능상 상한을 지정하기 때문입니다.

지금까지 더 작은 블록 크기에 대해 내가 발견했거나 상상한 유일한 이점은 다음과 같습니다.

  • 파일의 일부를 다시 쓰는 데 사용되는 대역폭이 적습니다.
  • 아마도 더 나은 중복 제거

--min-obj-size 옵션은 중복 제거에 영향을 주지 않습니다. 중복 제거는 블록이 그룹화되기 전에 발생합니다.

--max-obj-size는 블록의 최대 크기를 암시적으로 결정하므로 중복 제거에 영향을 미칩니다.

설립하다여기:

s3ql 파일 시스템을 생성할 때 더 크거나 작은 --max-obj-size를 선택할 때 발생하는 장단점에 대한 요약을 제공할 수 있는 사람이 있습니까?

관련 정보