Insight on the linux kernel
- 0
- Add a Comment
Found this great post in my RSS feads by the CEO of Bluehost.com and Hostmonster.com, Matt Heaton. I love his blog and even if I wasn’t a customer of Bluehost I would still be following him for these kind of gems. I wish as a sysadmin that I had the kind of time to fine tune our systems to the degree that they are able to, however, we have a much wider range of uses that a hosting company. I think that makes it even more difficult. If you are in the hosting business you should be following Matt’s blog. http://www.mattheaton.com
I’m going to include some of Matt’s post. Please check out the rest of it at his blog and feel free to comment here or there.
The Linux Kernel = The Solution = The Problem
Linux is an amazing operating system. I have written about it several times over the years. All of our company’s servers run on CentOS Linux (about a thousand) and a good chunk of our desktops and work stations run Ubuntu linux. The speed and reliability of the main linux kernel (Think engine of a car) is unmatched in my estimation. What is even more impressive about the Linux kernel is its unbelievably rapid pace of development. Herein lies our problem.
The linux kernel is developed simultaneously for so many different work loads that it is impossible to ship a Linux Distribution that is tuned for your specific workload. If I could use the car analogy one more time - Linux could just as easily be an all electric 50 HP car, or a 1,000 HP Dragster, or a Semi Truck. It literally can and is used to power your phone to the fastest super computer in the world. With that type of flexibility how do you wrangle the most power out of the linux kernel for your specific needs?
…
I feel that given the same exact hardware specifications that we could generally squeeze at least twice the performance from MySQL, Apache, PHP, and underlying CPU and IO intensive tasks compared with any server loaded up with a standard install of CentOS or Redhat Enterprise Linux.
While I think that is great, and it gives us a huge advantage over our competitors I don’t really think it ought to be that way. Many of these tunable options simply need to be applied to a system to make it faster, while other methods require a historical approach before tuning becomes effectively.
Regardless, my opinion is that the linux kernel DESPERATELY needs some software that will real time evaluate you servers CPU, Memory. I/O bottlenecks and makes these adjustments for you on the fly based on a constantly changing workload. This should have been written a long time ago. Having a thousand different tunable options is great if you know what every one does and how it affects every other setting. My experience is that 1% of the users know about 10% of the possible settings to change and the rest never gets touched. Thats a shame, because as fast as Linux is, as long as these “default” kernel settings are in place you will NEVER get the performance that you could out of existing hardware without your own kernel guys on staff (Like we do).
Realtime kernel adjustment by the kernel itself for the workload being operated on is what the kernel needs now. I can tell you that we have some aspects of this done already. If nobody else steps up the plate, we may release our own version of this to the community at large to build up and use for the betterment of all.
Thanks,
Matt Heaton / Bluehost.com
Just great stuff Matt!

![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=c6df2825-e6ec-48dc-b35c-6e624c6a5b7c)