Support

Akeeba Backup for Joomla!

#34386 Slow backup and upload to Google Drive

Posted in ‘Akeeba Backup for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
n/a
PHP version
n/a
Akeeba Backup version
n/a

Latest post by trogladyte on Wednesday, 20 January 2021 10:31 CST

trogladyte

Please look at the bottom of this page (under Support Policy Summary) for our support policy summary, containing important information regarding our working hours and our support policy. Thank you!


EXTREMELY IMPORTANT: Please attach a ZIP file containing your Akeeba Backup log file in order for us to help you with any backup or restoration issue. If the file is over 2Mb, please upload it on your server and post a link to it.


Description of my issue: Recently I did an upgrade from CentOS 6 to CentOS 7. To do so, I also had to upgrade my server as the one I had wouldn't run the later version. The new server has slightly better stats than the old one.

Since the upgrade I am getting very slow backup & uploading of the backup file after the backup is taken. Times are around 5-15 minutes for the backup & upload to complete. I have done a direct upload to GD from my computer and it takes about 3 minutes for a 707Mb Akeeba BU file (has eCommerce and a LOT of images!). I have no idea if it has anything to do with the server upgrade; it could just be a coincidence. Whatever has caused it, it's definitely related to Akeeba and/or the new server (though the hosts swear everything was just mirrored over).

Is there any setting in Akeeba BU that I can tweak to speed this up? FYI, if it makes any difference, I have followed Akeeba recommendations about locating the temp bu directory outside /public_html, but this was done well before I did the server upgrade.

nicholas
Akeeba Staff
Manager

Remember a few.

The Google Drive API is slow. Every response takes 1-2 seconds, even if it's trivial. The more requests we have to do, the more time is wasted in waiting for Google Drive's API to respond.

When you upload a file from your computer you are not subject to timeouts. Therefore you can upload the entire file at once. When you are uploading a file from your server, using PHP, you are subject to timeouts. Therefore the upload is chunked. This means a lot of (slow) requests to the Google Drive API.

Chunked uploads also mean more requests to the web server which also carry a performance penalty (each request needs some time to be handled, before we reach the point where Akeeba Backup uploads files to Google Drive).

When you are uploading something from your computer you are logged into Google Drive. When you are uploading from your server we need to check the access token to see if it's still valid. If not, we need to exchange the refresh token with a new access token. This happens on every request because the access token may, in fact, expire between requests. This adds 5-10 seconds when uploading each chunk.

When you combine all of these factors the 707Mb backup file will take significantly more than 3 minutes to upload. It would take about 8-12 minutes, depending on network speed, chunk size etc. It also needs some time for the backup to be taken. So your result of 10-15 minutes for backup and upload is not all that bad. It's reasonable.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

trogladyte

Thanks for the great explanation Nicholas. Maybe I just think it's doing it's job slower than I remember. :-)

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!