What is CloudLinux?
CloudLinux is a revolutionary Operating System that allows each cPanel account on our servers to have it’s own CPU allocations. With a standard Linux installation, a single user can cause issues for everybody else on the server, where as with CloudLinux that account would be limited to their own CPU allocation and would not cause issues for everybody else on the server.
One of the largest benefits of CloudLinux is that it will keep a single account from overwhelming a server and causing slow performance or downtime. Each and every account is limited to a maximum of 1 CPU Core instead of having free and open reign to system resources, and since we run high end servers with multiple cores this effectively means that it’s extraordinarily unlikely for the server that your account is on to become slow or unresponsive due to the actions of one, or even a handfull of customers.
Now you have a basic idea of what this fancy software does. If you’re content with knowing that it just works, carry on to the next section. If you want some more info, stay tuned. Most of what we’re going to cover can be found at http://cloudlinux.com/docs/index.php but we’ll hit on it here.
LVE – LVE, short for Lightweight Virtual Environment, is the driving technology behind the CL methodology. LVE, developed exclusively by the folks over at Cloud Linux, is a kernel level technology which handles the isolation and resource monitoring that CL is able to provide. LVE brings together technology provided by Apache modules and the Linux kernel. More reading available here: http://cloudlinux.com/docs/workingwithlve.php
LVE and cPanel / WHM – CL has developed a plugin specifically for use on cPanel / WHM based systems. Installed through yum (CentOS package manager), the plugin allows you to view resource accurate up to the last second, and also allows you to edit default and individual LVE limits.
Installation – Installation is really quite simple for us at least since we’re using CentOS and cPanel. All you need to do is wget their installation script, run the script and authenticate it against your activation key. Since it is a new kernel, a reboot is required.
Data Reporting – The CL kernel adds a few proc entries for user usage statistics as a small set of command line tools to view & monitor usage. In addition to this the cPanel / WHM integration has user based reporting which will log a history of CPU usage for an account allowing for quick and efficient tracking of resource usage.
What is the benefits to the end user?
If you have been in your cpanel lately, I am sure you have noticed some new stats within the left sidebar.
Pretty standard and it looks just like all the other stats. A few key points:
- The CPU use there is for your account only and is shown in real-time. It is not the entire server, so when it says 100%, it means you’re maxing the CPU limit (1 core) which we’ve configured.
- The Memory is the amount allocated to your account. We have supplied generous amount of memory to each account. It would be very rare for your account to hit this memory limit.
- Concurrent connections: Despite the wording implying connections to your site, the idea behind the concurrent connections is actually the amount of active processes on your account. These processes can be cronjobs, PHP processes, Perl processes, etc. A single user should rarely if ever consume all 20 connections, so this metric is mostly informational.
- If you are consistently hitting your limits, it is time to look at optimizing your site(s) or upgrading to Semi-Dedicated Hosting as you’ve most likely outgrown shared hosting.
So what is the downside to this?
With anything in life, with the good comes the bad. Fortunately for us (and you) though, those negatives only effect a small subset of users. Well, who are these users? They’re the ones who were causing resource issues before. Thanks to CL these users are now limited with the amount of resources they can consume. If they hit their CPU limit the system won’t allow them to use anymore resources and as a result future processes that need CPU time will have to wait until others are finished. As a result some users think CL causes slow machines & websites. The reality of course is that they were gaming the system before and taking advantage of a server with no resource limits.
What is next for CloudLinux?
The team over at CL is working on developing a MySQL governor. Their governor will be a set of utilities provided by a USER_STATISTICS table which is available in the CloudLinux version of MySQL. The USER_STATISTICS table is available because of technology originally developed by Google. The set of utilities includes a daemon which monitors the MySQL use by account, and a top (the Linux command top) like utility called dbtop. They are also working on technology which will work within LVE to limit disk IO and memory use on a per user basis. As soon as these features are seen as stable and production ready, we’ll definitely be implementing them.
Feel free to post any questions or concerns about this technology in the comments, we’d love to get some more user feedback