meta data for this page
  •  

Verify

Each verify job can be configured to setup:

  • read thread (1) - chunk readed
  • verify thread (4) - SHA calculation (CPU intensive)

Tune for HDD and old Xeon CPU without sha_ni CPU instruction:

  • read thread - number of disc in pool
  • verify thread - tune with top

SHA HW offload

grep -o 'sha_ni' /proc/cpuinfo

The support is typically found in newer microarchitectures starting around 2019–2020, such as Ice Lake server CPUs and later.

There is a tool to bench 1 CPU thread:

~# proxmox-backup-client benchmark 
 
SHA256 speed: 154.79 MB/s    
Compression speed: 175.05 MB/s    
Decompress speed: 236.73 MB/s    
AES256/GCM speed: 574.38 MB/s    
Verify speed: 90.63 MB/s    
┌───────────────────────────────────┬───────────────────┐
│ Name                              │ Value             │
╞═══════════════════════════════════╪═══════════════════╡
│ TLS (maximal backup upload speed) │ not tested        │
├───────────────────────────────────┼───────────────────┤
│ SHA256 checksum computation speed │ 154.79 MB/s (8%)  │
├───────────────────────────────────┼───────────────────┤
│ ZStd level 1 compression speed    │ 175.05 MB/s (23%) │
├───────────────────────────────────┼───────────────────┤
│ ZStd level 1 decompression speed  │ 236.73 MB/s (20%) │
├───────────────────────────────────┼───────────────────┤
│ Chunk verification speed          │ 90.63 MB/s (12%)  │
├───────────────────────────────────┼───────────────────┤
│ AES256 GCM encryption speed       │ 574.38 MB/s (16%) │
└───────────────────────────────────┴───────────────────┘