I took a look at that vBulletin forums thread as well as the phpinfo()
and all I can say here is that the people posting over there are
a big bunch of morons where it comes to their not-so-good
performance optimization recommendations.
What they are asking you to do basically (confusing ISAPI terminology)
is asking you to drop phpSuExec and go back to insecure Apache module
which would only give you a marginal boost in performance (if even that)
at the expense of an enormous reduction in security.
Most of the various optimizations recommended in that thread for
Apache and MySQL are also just plain wrong or written and tuned
specifically for their own servers only and would more likely hurt
your performance than help it.
There are many things you can do to optimize performance but little
to none of the recommendations made in that thread would apply.
The single #1 most powerful thing you could do in terms of improving
performance is upgrading Apache to 2.0 or higher which in and of
itself gives drastic performance and resource management
enhancements to your entire server.
For your MySQL databases, open your forums and all larger databases
in phpMyAdmin and see if those databases are carrying any overhead
in the tables. Chances are they need to be optimized and this
will also improve performance for you.
PHP and MySQL versions also make a big difference. For MySQL,
you need a minimum of MySQL v4.1 with fast cache enabled but
I would recommend going up to 5.0 or higher for added performance
enhancements and capabilities. PHP should be v5.1 or higher.
Upgrade the Zend Optimizer on your PHP installation to the latest
version which is currently 3.2.6 which can be done with the following
command in SSH:
Code:
/scripts/installzendopt 3.2.6
Increasing the amount of memory allocated to Apache processes and
PHP script executions can also have a dramatic impact on performance.
If you are often going heavy into your memory swap, it might be time
to also look at upgrading the physical hardware memory on your server.
Altering the MaxClients and related settings on Apache can also sometimes
be beneficial as well.
Watch your "Apache Status" in WHM and also review the log files in
/etc/httpd/domlongs and keep an eye out for large file downloads and / or
image files that might be heavily hotlinked from other servers. Both of
these items will drastically reduce your server performance because
those connections are using up your server's available network resources
and open available connection sockets.
Disable any hostnamelookups in use in httpd.conf and make sure that
you don't have any .htaccess files anywhere performing authentication
functions by domain instead of IP or CIDR as this will significantly
drop the performance of your server as well.
All log files should be cleared or archived after statistics processes are run.
Otherwise, your log files can grow quite large and you end up using a lot
more memory and time running statistics updates which can negatively
impact the performance of your entire server. I recommend running
AwStats only and disabling webalizer and analog entirely.
Check your /etc/httpd/logs/suexec_log for Perl scripts that are being executed.
One of the major flaws in the Perl language is it's incredible inefficiency in
memory and cpu resource management and sites running larger application
scripts written in Perl may be where you are getting a large resource drain.
For those sites, running Perl applications (Yabb for example), I would strongly
recommend getting the site owners to change to something written in PHP
which is infinitely better and far more efficient at resource management issues.
How many accounts do you have on the server? All the accounts you have on
your server are splitting the network, memory, and cpu resources and the more
accounts you have on the server, the slower the server is going to perform.
The list goes on and on and I could really spend all week here telling you all
the various ways you could improve the performance of your server but I really
don't have the time to sit here trying to build an all inclusive list. What I would
recommend is that everyone sit down and look at their own servers very closely
and take note of where their resources are being most used because that will
give you the best clue as to what optimizations would be the most beneficial
for you and your server.