Below is everything I've found so far that relates to the memory improvements
made by cPanel on VDS servers. Much of this was found on changelog.cpanel.net,
which has an RSS feed for keeping you updated when newer versions of cPanel,
easyapache, or the cPanel installer are released.
This is from a test VDS, currently using 11.22.0-EDGE_23043 on CentOS release 4.6:
Code:
# ls -l /var/cpanel/vps_optimized/
total 0
-rw-r--r-- 1 root root 0 Mar 25 17:01 1.0
-rw-r--r-- 1 root root 0 Apr 2 13:24 1.3
-rw-r--r-- 1 root root 0 Apr 4 13:42 1.7
Note time timestamp of March 25th for v1.0. That date coincides with these notes
at changelog.cpanel.net for EDGE:
Code:
Edge 22346
2008-03-25 13:09:14
Added cpanel/bin/low_mem_mods to install memory-optimized cPanel Perl modules
Improved overall memory consumption by switching to memory-optimized modules and removing the POSIX module
Note the reference to "cpanel/bin/low_mem_mods". Let's take a peek:
Code:
# file /usr/local/cpanel/bin/low_mem_mods
/usr/local/cpanel/bin/low_mem_mods: perl script text executable
Viewing the file you'll see what appears to be some new cPanel modules
which you can find here:
Code:
/usr/local/cpanel/src/Cpanel-POSIX-Tiny-0.6/
/usr/local/cpanel/src/Cpanel-Cleanup-0.4/
/usr/local/cpanel/src/Cpanel-FastMath-0.2/
This is pretty self explanatory:
Code:
Edge 22347
2008-03-27 13:35:20
Updated cpsrvd to remove usage of Whostmgr::ACLS for memory reduction.
This is covered at the cPanel blog:
Code:
Edge 23019
2008-04-04 06:59:25
Replaced eximstats, antirelayd and cpbandwd with new Tailwatch application
So, instead of having 3 separate, constantly running applications, there is now
1 lightweight (uses less resources, such as memory) application to handle the same tasks.
I don't know how much memory easyapache used to typically use in the past on
average, but a test I did earlier showed that a VDS idling on 71M of mem would use
up to 138M of mem when recompiling Apache 2.2.8, PHP 5.2.5 with Zend and
ionCube, as well as modsecurity 2.1.4 and 41 various PHP modules. The memory
usage of the VDS was checked every second, and only twice did it peak at 138M.
Most of the time it was around 110M or so. This is likely an improvement over
past runs of easyapache3 due to this:
Code:
Easyapache 3999
2008-03-18 12:13:48
Limit gcc memory usage on VPS systems by increasing frequency of garbage collection
Garbage collection basically means freeing up memory by applications that no longer
need it. A good explanation I found on reddit recently that everyone can understand is here.
Tradeoffs? I see no so far, although someone did post on webhostingtalk.com about
seeing higher CPU utilization with no user activity taking place. However, that means
little without any detail having been provided, in my opinion (where was the CPU
utilization taking place? What processes were running at the time? Were backups
being run? Was MySQL completely idle? etc). My test VDS idles at 0.00 with 0% CPU
utilization, and it sits on a node with other servers, most, if not all of which are using cPanel.
Reasons why the optimizations haven't been pushed to non VDS servers? I speculate that
this is because coding is a process of careful planning, development, and testing. Non
critical updates don't typically get pushed out in a rushed manner to every product
you have. Doing so can be disastrous. That's why cPanel has the different trees: EDGE,
RELEASE, CURRENT, etc. New features are usually added to EDGE first, then they work
their way down to the other trees over time when proven to be stable enough to do so.
If you're concerned when cPanel implements new features, I would recommend using STABLE
and waiting to see what others have to say when they've test driven any new changes,
then updating. This isn't a major overhaul of cPanel by any means from what I've seen,
but an improved way of doing tasks that were already part of the software (and without the
expense of crippling or removing any features that were already there and necessary for
using it).
That's my $0.02. Kudos to cPanel for the improvements where they currently matter most.