datto / dattobd

kernel module for taking block-level snapshots and incremental backups of Linux block devices
GNU General Public License v2.0
576 stars 122 forks source link

The 0.11.8 driver takes a long time to take a snapshot #383

Open yito24 opened 2 months ago

yito24 commented 2 months ago

It is slow to take snapshots of 0.11.8 in RHEL8. For 0.11.6, it takes about 0.361 seconds to snapshot 4 volumes. 0.11.6.txt

For 0.11.8, it takes about 12 seconds to snapshot 4 volumes. 0.11.8.txt lsblk.txt

In the case of CentOS7, taking a snapshot takes a very long time. This symptom is very noticeable. For 0.11.6, it takes about 4.174 seconds to snapshot 4 volumes. 0.11.6_el7.txt

For 0.11.8, it takes about 02:18.064 seconds to snapshot 4 volumes. 0.11.8_el7.txt lsblk_el7.txt

I have registered with the same information in the past, but I think this issue is important. https://github.com/datto/dattobd/issues/373

iamandrii commented 2 months ago

Hi @yito24! Thanks for your concern. I will investigate the issue and will reach to you if I'll find something.

yito24 commented 1 month ago

Hi @iamandrii,

When comparing, we found that up to 0.11.6 the snapshot acquisition time was within 0.3 seconds, but in 0.11.7 it became extremely slow. I think that this function implemented in 0.11.7 is causing the slowdown. "Implement tracking bios in dormant state"

I think that this function is unnecessary.

yito24 commented 1 month ago

Additional Information

I tested a 6TB LVM and a 4TB basic partition. It took about 18 minutes to create a snapshot for each. The larger volume size, it will take to create a snapshot.

Please see the attachment for details. backup_20241007162224.txt lsblk.txt