Syncrify » Knowledge base

Document information

Document ID: 1892
Subject: Scalability guide for running backups
Creation date: 10/26/11 9:59 AM
Last modified on: 11/12/18 12:41 PM


Scalability guide for Syncrify

Syncrify is designed to be scalable from the ground up. It is capable of handling simultaneous backup jobs from different clients. The purpose of this page is to provide a guideline to users who want to backup thousands of machines using Syncrify.

In a way, Syncrify is similar to any other web server, with one big difference. Most high volume web servers serve static contents, allowing them to handle a higher number of simultaneous connections. On the contrary, Syncrify is not only a web server, it is also an application server requiring a high volume of I/O operations on the machine where Syncrify server is running.

Use the following tips as a rule of thumb when deploying Syncrify in a high volume environment to achieve maximum scalability.

Tip 1 - Use local disk
Disk access is most important when using Syncrify. Therefore, ensure you use disks that are faster AND are installed local to the CPU - meaning, do not use disks that require network access, such as a shared drive on a NAS device. If you have a NAS, install Syncrify right on that NAS device rather than sharing its disk across a network. Click here for details.
Tip 2 - Splitting the server
Consider using multiple machines with Syncrify server. As the number of simultaneous backups increase, the machine's response time will decrease. Since every backup is different in terms of file size, CPU and disk I/O speeds, it is very difficult to estimate an upper limit for the number of simultaneous connections.

As a rule of thumb consider splitting the machine once you pass 25 simultaneous backups. Keep in mind that this is an estimate. Depending upon the average backup size and disk speed, you may experience sluggishness at a lower value.
Tip 3 - Use multiple disks
Considering installing multiple physical disks on the server machine. One disk means one head. The more disks you have in a machine, the I/O operations can occur simultaneously. If you have multiple disks, split the users evenly between disks by specifying an appropriate value for their repository path.

Additionally, avoid using iSCSI interface or remote drives Click here and here for details.
Tip 4 - Avoid virtual machines
Avoid installing Syncrify on a virtual machine. Virtual machines use emulated disks and therefore, the I/O speed is significantly degraded. I/O access is typically much slower than CPU and therefore, often becomes a bottleneck. The faster a process can read/write from disk, the more scalable the machine becomes.
Tip 5 - Use multiple host names for same IP
Often administrators want to start with a smaller user set and then increase them gradually. However, splitting a server once the backup strategy goes in production can be a tedious task since you will have to change the URL in every Syncrify client so they point to a newer server.

To solve this problem, assign a handful of host names to the same IP address in your DNS server. For example:
  • backup1.yourcompany.com
  • backup2.yourcompany.com
  • backup3.yourcompany.com
  • backup4.yourcompany.com
All of these four host names should initially refer to the same IP address. Evenly distribute these host names among your users - 25% of users should use backup1.yourcompany.com in their URL, the next 25% should use backup2.yourcompany.com and so on.

Later on if you decide to split your server in to two machines, all you need is to change the IP address in your DNS server and 50% of your users will connect to the new machine without any modification on the client side.
Tip 6 - Use a 64-bit machine
The most important difference in 32bit VS 64bit machine is memory. A 32bit process cannot use more than 2GB of ram in theory and we do not recommend allocating 1.5GB in Syncrify. This limit is much higher on a 64bit machine. Refer to this page for instructions on how to increase memory usage in Syncrify.
Tip 7 - Use an RDBMS
Consider using a relational database for storing users. This not only increases scalability but also allows administrators to easily change user configuration from a centralized location. Refer to this page to learn more about using relational databases with Syncrify.






Add a comment to this document

Do you have a helpful tip related to this document that you'd like to share with other users?

Important: This area is reserved for useful tips. Therefore, do not post any questions here. Instead, use our public forums to post questions.

Navigation

Social Media

Powered by 10MinutesWeb.com