meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
vm:proxmox:pbs:performance [2023/01/23 07:25] niziakvm:proxmox:pbs:performance [2025/01/09 09:07] (current) niziak
Line 1: Line 1:
 ====== performance ====== ====== performance ======
 +
 +===== FS tuning =====
 +
 +PBS stores everything in files. Maximum file size is 4MB.
 +  * Block device backup is in 4MB chunks
 +  * File backup chunk varies from 64kB to 4MB
 +
 +Filesystems:
 +  * ZFS 
 +    * [[https://pbs.proxmox.com/docs/sysadmin.html#zfs-special-device|special device]]
 +    * 128kB recordsize can cause write amplification for chinks smaller than 128kB
 +    * larger recordsize = less IOPS
 +    * Create histogram from existing PBS chunks sizes.
 +
  
 <code> <code>
-PBS needs high IOPS performance. Benefit of ZFS would be that you can accelerate it using SSDs to store the metadata. But won't help that much with verify tasks (but still a bit as the HDDs are hit by less IO, because all the metadata that is read/written from the SSD doesn't has been read/written from the HDDs).+PBS needs high IOPS performance. Benefit of ZFS would be that you can accelerate it using  
 +SSDs to store the metadata. But won't help that much with verify tasks (but still a bit as the HDDs  
 +are hit by less IO, because all the metadata that is read/written from the SSD doesn't has been  
 +read/written from the HDDs).
  
-In general HDDs shouldn't be used with PBS, atleast not if you store alot of backups. And if you still do it, it's highly recommended to also use SSDs for storing the metadata.+In general HDDs shouldn't be used with PBS, atleast not if you store alot of backups. And if you  
 +still do it, it's highly recommended to also use SSDs for storing the metadata.
 </code> </code>
  
Line 16: Line 34:
   * Use DRAID - where groups of stripes are used by design.   * Use DRAID - where groups of stripes are used by design.
   * Use at least separate ZFS dataset for backup, then set block size to <code bash>zfs set recordsize=1M YourPoolName/DatasetUsedAsDatastore</code>   * Use at least separate ZFS dataset for backup, then set block size to <code bash>zfs set recordsize=1M YourPoolName/DatasetUsedAsDatastore</code>
 +  * Disable atime <code bash>zfs set atime=off backup2</code>
 +
 +
  
  
 +Don't use a raidz1/2/3 as PBS needs high IOPS performance and IOPS performance will only scale with the number of striped vdevs, not with the number of disks. So 20 disks in a raidz wouldn't be faster than a single HDD.
 +And resilvering would also take forever.