We put tremendous effort to build a plugin that can play nice with as many website hosting providers as possible. However, that can’t happen as are thousands of different hosts, so are the divergent hosting parameters unique to each one of them.
The Advanced Settings section of the plugin is built to help users customize the parameters of the backups to the limits of their web hosts.
What Are The Advanced Settings and How to Use Them?
Before we start, we’d like to explain what is disk I/O on a web server and what’s the relationship between disk I/O rate and PHP script execution timeout.
Disk I/O is an important performance metric for web servers; it indicates how many input/output operations can be performed per second on a server disk. For example, assuming that the disk I/O on your web server is 1MB/s, your website is 300MB, then if the maximum PHP script execution time on your server is less than 300s, every single backup/migration/restoration mission performed to the site may fail as the PHP script can be killed by the webserver. Many web hosting providers even some famous ones have set a limit to the disk I/O on their web servers to save server resources, but some web hosting providers are not limiting. Typically, there are two ways for you to check the disk I/O on your web server:
- Ask your web host
- Check it through cPanel
Despite the disk IO is completely uncontrollable on our side, we still try to increase the backup/migration/restoration success rate by providing these advanced settings on our plugin.
First, you can Enable optimization mode for web hosting/ shared hosting. The option provides many optimizing algorithms for running a backup/migration task within a web hosting/ shared hosting environment, which will drastically increase the backup/migration success rate.
The option will take effect automatically, all you need to do is to check the option.
If the backup/migration fails again, this shows your server resources are critically insufficient, then you should consider adjusting following advanced settings:
1. Choose if to Compress files or Only archive the files when the plugin creates a backup.
- Webhosting/shared hosting: choose “Only Archive without compressing” option
- Dedicated hosting: choose “Compress and Archive” option
Enabling Compress and Archive option will result in a longer backup process, which may trigger a PHP scripts execution timeout. It is, therefore, is not recommended on a shared hosting environment. If you keep getting backup timeout, choose Only Archive without compressing option.
However, you can choose the Compress and Archive option if you are hosting on a VPS or a dedicated server and have abundant resources. When the option is enabled, the plugin will compress the files in the backup process, which can save you great disk space.
2. Database access method
Choose the method to access your database: WPDB or PDO.
WPDB: It has a better compatibility, but the speed of backup and restore is slower.
PDO: It is recommended to choose PDO option if pdo_mysql extension is installed on your server, which lets you backup and restore your site faster.
3. Compress Files Every xxx MB
This option will split a task, for example, when the PHP execution time on your server is 120s and server disk IO is 1MB/s, then theoretically the maximum size of a website you can backup in single task is 120MB.
What if your website is larger than 120MB, say 1GB. That’s why we developed this option so that you can modify the option to compress files every 100MB, and then the whole task will be split into ten tasks.
In other cases, some web hosting providers limit large zip files (e.g., 200MB), and therefore splitting your backup into many parts is an ideal way to avoid hitting this limitation if you are running a big website.
If you encountered the Backup error: Too many resumption attempts, try to modify this option to a lower value like 100MB, which will drastically increase the backups/migrations success rate. Do not set this option lower than 50MB.
4. Exclude the files which are larger than xxx MB
Using the option will ignore the file larger than the defined size in MBs when backing up, ‘0’ (zero) means unlimited.
Backing up large files can also result in a backup/migration failure, you can use the option to exclude those relatively unnecessary large files from the backup, for example, videos and media files.
5. PHP script execution timeout for backup
This is the maximum PHP script execution time for WPvivid backup plugin to run a backup task, not the max execution time in your PHP configuration.
The default value is 900s, which is sufficient for a shared hosting account.
If you encounter a backup or migration failure caused by an exceeding the maximum PHP script execution time yet you are on a VPS or dedicated server, then try to set a larger value, but keep it under 3600s.
6. PHP script execution timeout for restore
This is the maximum PHP script execution time for WPvivid backup plugin to run a restore task, not the max execution time in your PHP configuration.
The default value is 1800s, which is sufficient for a shared hosting account.
If you encounter a restore timeout failure, then try to set a larger value, for example 3600s.
7. PHP Memory Limit for backup
This option is handy when backing up or migrating a database that has many tables or tables with many rows, say a table with 500,000 rows. Once set, the plugin will automatically apply a temporary PHP memory(256MB by default, recommended by official WordPress) from your web server for running the backup/migration. The applied value will be released after the task is complete. If you encounter a backup/migration failure, modify this value to 512MB or higher depending on the size of your database.
Note: The option will not work if the value you enter is not adequate for running of a task, then you’ll still get errors like: [error]type: 1, Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) file:/home/subhwynw/public_html/wp-admin/includes/class-pclzip.php line:5492. In that case, please try to increase the value and try again.
8. PHP Memory Limit for restoration
Restoring a website, especially restoring a migrated website, will require a large number of data replacements, and will consume much more PHP memory than backing up a site. Therefore, when you encounter a restoration failure, try to double this value(256MB by default, recommended by official WordPress). Then the plugin will automatically apply a temporary PHP memory from your web server for running the restoration.
Note: The option will not work if the value you enter is not adequate, then you’ll still get errors like: [error]type: 1, Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) file:/home/subhwynw/public_html/wp-admin/includes/class-pclzip.php line:5492. In that case, please try to increase the value and try again.
9. Chunk Size
Some web host has set a limit on the size of data package operated on their web servers, generally to 2MB, which will also limit the transfer rate on the web server. If you encounter a failure when migrating a website or backing up a website to remote storage, lower this value to 512KB or 256KB.
10. Retrying times when encountering a time-out error
A web hosting or shared hosting server generally has limited server resources for a big site. When you perform a backup, you may face a backup or migration failure because of a shortage of server resources.
In this setting, you can increase the chances of a successful back up by setting the number of retries. The suggested retrying times for a shared web hosting environment is 6-9.