I am trying to understand why the performance of PBS is poor on WAN conections or on devices with a very slow seek time.
My question is about the chunk organization and the chunk folder in general.
It is mentioned here: https://github.com/proxmox/proxmox-backup/blob/master/docs/technical-overview.rst#chunks
That are the stats on my system. I am using an NFS share (via Truenas/SATA disks with ZFS)
We see, there are a lot of files. Wouldn't it make sense to create a small sqlite database in the chunk folder, and just store what chunk is already on the disk?
Sort of as a L2 Cache.
There are a number of fstat calls in the source code:
If there are good reasons not to create a 2nd Index- what about creating an in memory cache, that is created at pbs service bootup and mantained during the backup cycle?
Thank you.
My question is about the chunk organization and the chunk folder in general.
It is mentioned here: https://github.com/proxmox/proxmox-backup/blob/master/docs/technical-overview.rst#chunks
That are the stats on my system. I am using an NFS share (via Truenas/SATA disks with ZFS)
Bash:
root@pbs:~# time du -hs /pbs
time find /pbs -type f -print | wc -l
707G /pbs
real 0m37.253s
user 0m0.377s
sys 0m9.537s
root@pbs:~# time find /pbs -type f -print | wc -l
423319
real 0m15.918s
user 0m0.394s
sys 0m3.989s
We see, there are a lot of files. Wouldn't it make sense to create a small sqlite database in the chunk folder, and just store what chunk is already on the disk?
Sort of as a L2 Cache.
There are a number of fstat calls in the source code:
https://github.com/search?q=repo%3Aproxmox%2Fproxmox-backup%20fstat&type=code
- that times 423319 would explain the poor performance (on a disk with not near O(1) seek performance).If there are good reasons not to create a 2nd Index- what about creating an in memory cache, that is created at pbs service bootup and mantained during the backup cycle?
Thank you.
Last edited: