Building a high speed VPS hosting system using Quality of Service (QoS) in oVirt virtualization
It’s time for X’Mas shopping. Your mind is set on buying a swanky new hoverboard that your kid was raving about lately. You google for good deals, and find a few sites. You open the top 5 on different tabs, and start going through the features and price list. You find the site in the second tab is still loading.
What would you do? If you are like 86% of online shoppers, you’d close the tab, and continue on to the third tab.
Bad luck for the 2nd website owner, but that is the harsh reality of today’s online consumer behavior. As DynDNS’s survey showed, 86% of consumers said website performance affected their trust in the company, and 65% said they’d close a browser tab if a site took more than 3 seconds to load. You can’t blame the consumers for thinking so. They are used to Google spitting out 2 million search results in 0.28 secs.
It goes without saying that if you still want to run an online business, you’ll need a website loads in 3 seconds or less. So, website owners are always on the lookout for hosting providers who can guarantee high access speeds. A popular opinion in hosting forums is to use a Cloud instance or a VPS to host websites, as it gives equivalent performance of a dedicated server, while keeping costs down. However, the same forums warn against “over sold” or “poorly configured” VPS servers that face persistent performance issues.
When talking about performance issues, a phrase that keeps coming up is “noisy neighbors”. It is a term used to denote accounts in a VPS or Cloud servers that hog server resources (like I/O and Network), and cause performance issues in other accounts that’s hosted on the same VPS/Cloud system.
In a previous post, we covered how we used oVirt to implement a competitive VPS hosting solution. Today we’ll go a bit further into how we resolved the “noisy neighbor” problem that has been the bane in VPS/Cloud hosting for long.
[ Use your time to build your business. We’ll take care of your customers. Hire our support specialists at affordable pricing. ]
Performance issues caused by “noisy neighbors”
The biggest bottleneck in any system is the hard disk. The majority of VPS performance issues that we’ve seen were usually caused by an overwhelmed hard disk. In such situations, we’ve always seen that it would be one or two accounts which would be running un-optimized applications that send in a lot of disk accesses. While the hard disk runs at full throttle trying to meet those requests, other accounts would be waiting for a chance to get their disk accesses serviced. This is called the “noisy neighbor” problem.
The solution to this issue is to limit each account to a certain amount of read and write operations per second. Such a limiting system is called Quality of Service or QoS.
High speed VPS hosting using QoS
Quality of Service or QoS is a widely used method to limit accounts to a certain number of transactions per second. Such a limit makes sure that an account doesn’t use up all the resources in the server, and that every account gets their fair share. When we implemented a VPS solution for a hosting provider, QoS was one of our considerations.
We configured storage QoS (aka IOPS QoS) and network QoS to limit the damage that can be caused by any one account. Here’s how we did it.
[ You don’t have to lose your sleep to keep your customers happy. Get the best support specialists to care for your customers 24/7. ]
The yard stick to measure disk performance is called “IOPS” or “I/O Operations Per Second”. Limiting the IOPS of a VPS is the best way to ensure Quality of Service (QoS) for every customer commensurate with their billing plan.
To limit IOPS in oVirt, first a QoS profile is created under “Data Centers” –> “QoS” –> “Storage”. The total IOPS for a starter plan can be as low as 400, with 350 allocated for “Read” operations and 50 allocated for “Write” operations.
Once the QoS profile was created, it was attached to a Disk Profile by going to “Data Centers” –> “Storage” –> Disk Profiles”. This new Disk Profile is then assigned to VPSs by navigating to “VMs” –> “Disks” –> “Edit”.
In servers that hosted media websites, such as streaming sites, network is often found as a bottleneck. In oVirt, QoS profiles for network is created by going to “Data Centers” –> “QoS” –> “Network”. It brings up a screen like this:
Once the QoS profiles were created, they were used to create corresponding network profiles by going to “Networks” –> “vNIC Profiles”. These network profiles were then used to associate each VPS to a bandwidth quota as shown here:
High speed is a hot feature in any VPS hosting solution. Here we’ve covered how high speed hosting was implemented for a VPS hosting system using oVirt QoS. Bobcares helps web hosts, VPS providers and cloud providers deliver industry standard VPS services through custom configuration and preventive maintenance of virtualized systems.