I have a 4 year old server. Quadcore and 4 GB RAM. RAID 1 for OS, home, mysql, etc. and an extra HDD for backups. As I have no additional backup space I copy the most important data regularly to my place.
I have about 70 (mostly) smaller accounts and one medium sized community site with an about 1 GB database and 15 GB attachments and gallery pictures. Uncompressed backup size (daily) is 42 GB all together.
I noted that the website often responds very slowly during the night. Also the old Google Webmaster Tool showed quite slow response times. I added page creation time logging to my community site. All day the hourly average page creation time was < 100 ms. But from 1 to 4 o'clock in the morning it was > 200 ms. The problem is not the +100 ms but the spikes. There are a lot of requests which take 5 to 50 seconds - some even over 100. 1 to 4 o'clock is exactly the time when the backup was running.
A few days ago I switched to incremental (uncompressed) backup. Now the backup is done in 40 minutes, but the spikes continued. Almost the same number but in a shorter time. Average page creation time in this one hour is now 1,000 ms. Over the 40 minutes the spikes occured during some few timeframes. I compared those with the file dates of the backups. It seems like they occur exactly when the backup is working on big home directories. I assume that checking change dates of some 1,000 to 10,000 files costs that much resources. Even if (almost) nothing is copied these last some minutes. Additionally I found "waiting for loads to go down" in the backup logs for some of those big home directories.
Is there something I can do about that? Is the bottleneck rather the HDD or the CPU (software RAID)?
Second thing is, that I'm looking for a new dedicated server. The CPUs are much faster, HDDs a bit(?), you get 16 to 32 GB RAM for a reasonable price. Usually all server I considered have (software) RAID 1. But i'm currently not sure how I should configure my server regarding backups. Backups seem to be the only performance problem. Most providers also have off-server backup space (per FTP) but usually only 100 GB - so just for one backup (not daily + weekly + monthly).
I thought about different backup strategies:
Extra HDD for Backup
Same configuration as I have now.
Pro: fast backup, backups quickly and on server available, extra space for whatever
Cons: Extra HDD is often quite expensive where I consider to host (Germany, up to +50% of monthly server price. 60 Euros for Server + 30 Euros for extra HDD. Others only have additional SSD as options - I have to ask for regular HDDs). As it is fast it may stress the primary disks (as it seems now).
The finished backup can then be copied to the off-server backup space.
Additonal Backup Space and remote FTP Backup
I could upgrade the backup space to 200 GB for 10 to 15 Euros per Month. But one provider even states that it could be slow when many customer are using it. Most servers have 1 GBit NIC, but 100 MBit Port. One has even a 1 GBit Port. With the new hardware, gzip (or pzip) should not be the problem.
Pro: Cheap, off server backup solution, maybe does not tear down the server that much as the transfer is slower
Con: slow?, no incremental backup, I assume it uses bandwith of the main NIC. Backup not quickly on server available.
NAS (QNAP netNAS)
My currently favorit host also offers QNAP netNAS 1x1000 GB for 25 Euro or 2x1000 GB for 35 Euros. It can be accessed through SMB, AFP, NFS, FTP. The server offers a 1 GBit Port. NAS would be new to me.
Pro: Enough space, off-server-backup but probably still fast access.
Con: New to me. Don't know how Cpanel backup copes with the protocols (except FTP).
Small additional Server + CPremote
You already get small dedicated servers with about 300 - 500 GB HDDs for 25 to 30 Euros per month. So I could use CPremote to backup the data to this server. At my currently favorit host the small server has only a 100 MBit port and the big one a 1 GBit. So it should not eat up bandwith (and I think CPremote allows to limit bandwith)
Additionally in Europe some provider do not get you an IP for a Nameserver - you only get one per server - not more if you do not have a really good reason. On a second server I could setup DNS Clustering with CPanel DNSONLY. Although it would be better to set it up on another location - some NICs (DENIC, ...) need(ed) the nameservers of a domain to be in differnt class C networks.
Pro: Off-Server-Backup. Additional server as Nameserver and whatever
Con: Don't know how CPremote performes - but CPanel-FTP-Backup should work anyway.
So my questions:
Thanks!
I have about 70 (mostly) smaller accounts and one medium sized community site with an about 1 GB database and 15 GB attachments and gallery pictures. Uncompressed backup size (daily) is 42 GB all together.
I noted that the website often responds very slowly during the night. Also the old Google Webmaster Tool showed quite slow response times. I added page creation time logging to my community site. All day the hourly average page creation time was < 100 ms. But from 1 to 4 o'clock in the morning it was > 200 ms. The problem is not the +100 ms but the spikes. There are a lot of requests which take 5 to 50 seconds - some even over 100. 1 to 4 o'clock is exactly the time when the backup was running.
A few days ago I switched to incremental (uncompressed) backup. Now the backup is done in 40 minutes, but the spikes continued. Almost the same number but in a shorter time. Average page creation time in this one hour is now 1,000 ms. Over the 40 minutes the spikes occured during some few timeframes. I compared those with the file dates of the backups. It seems like they occur exactly when the backup is working on big home directories. I assume that checking change dates of some 1,000 to 10,000 files costs that much resources. Even if (almost) nothing is copied these last some minutes. Additionally I found "waiting for loads to go down" in the backup logs for some of those big home directories.
Is there something I can do about that? Is the bottleneck rather the HDD or the CPU (software RAID)?
Second thing is, that I'm looking for a new dedicated server. The CPUs are much faster, HDDs a bit(?), you get 16 to 32 GB RAM for a reasonable price. Usually all server I considered have (software) RAID 1. But i'm currently not sure how I should configure my server regarding backups. Backups seem to be the only performance problem. Most providers also have off-server backup space (per FTP) but usually only 100 GB - so just for one backup (not daily + weekly + monthly).
I thought about different backup strategies:
Extra HDD for Backup
Same configuration as I have now.
Pro: fast backup, backups quickly and on server available, extra space for whatever
Cons: Extra HDD is often quite expensive where I consider to host (Germany, up to +50% of monthly server price. 60 Euros for Server + 30 Euros for extra HDD. Others only have additional SSD as options - I have to ask for regular HDDs). As it is fast it may stress the primary disks (as it seems now).
The finished backup can then be copied to the off-server backup space.
Additonal Backup Space and remote FTP Backup
I could upgrade the backup space to 200 GB for 10 to 15 Euros per Month. But one provider even states that it could be slow when many customer are using it. Most servers have 1 GBit NIC, but 100 MBit Port. One has even a 1 GBit Port. With the new hardware, gzip (or pzip) should not be the problem.
Pro: Cheap, off server backup solution, maybe does not tear down the server that much as the transfer is slower
Con: slow?, no incremental backup, I assume it uses bandwith of the main NIC. Backup not quickly on server available.
NAS (QNAP netNAS)
My currently favorit host also offers QNAP netNAS 1x1000 GB for 25 Euro or 2x1000 GB for 35 Euros. It can be accessed through SMB, AFP, NFS, FTP. The server offers a 1 GBit Port. NAS would be new to me.
Pro: Enough space, off-server-backup but probably still fast access.
Con: New to me. Don't know how Cpanel backup copes with the protocols (except FTP).
Small additional Server + CPremote
You already get small dedicated servers with about 300 - 500 GB HDDs for 25 to 30 Euros per month. So I could use CPremote to backup the data to this server. At my currently favorit host the small server has only a 100 MBit port and the big one a 1 GBit. So it should not eat up bandwith (and I think CPremote allows to limit bandwith)
Additionally in Europe some provider do not get you an IP for a Nameserver - you only get one per server - not more if you do not have a really good reason. On a second server I could setup DNS Clustering with CPanel DNSONLY. Although it would be better to set it up on another location - some NICs (DENIC, ...) need(ed) the nameservers of a domain to be in differnt class C networks.
Pro: Off-Server-Backup. Additional server as Nameserver and whatever
Con: Don't know how CPremote performes - but CPanel-FTP-Backup should work anyway.
So my questions:
- Is there anything I can do to make the CPanel backup less resource-intensive?
- Should I consider a hardware RAID controller instead of software RAID?
- Which backup options would you choose? Any additional pros and cons? Any other backup strategies?
- Is CPremote less resource intensive on the server? I read it can also used locally - so I could use it with an extra HDD, probably also with the NAS (NFS?) and of course the extra server via SSH.
Thanks!
Last edited: