?
Solved

What settings could I set the Global Configuration of Apache in order to take full advantage of server resources?

Posted on 2012-03-25
7
Medium Priority
?
297 Views
Last Modified: 2012-04-29
What settings could I set the Global Configuration of Apache in order to take full advantage of my servers resources?  My site gets 40,000+ people per a day so I want my settings to be configured properly to handle all of the traffic and at the same time take full advantage of the resources of my server (btw I have my DB on a separate server and my site is coded in PHP).

There's all kinds of settings I can adjust which include: Start Servers, Minimum Spare Servers, Maximum Spare Servers, Server Limit, Max Clients, Max Requests Per Child, Keep-Alive, Keep-Alive Timeout, Max Keep-Alive Requests, Timeout, and so many more (most of them I don't really understand).

Here are the specs of my server:
Dual Intel Xeon 5620 Quad Core Processors with Hyperthreading (16 threads)
18GB DDR3 RAM
1x 1TB Hard drive
10TB Bandwidth
cPanel (WHM Accelerated 2)

Thanks
0
Comment
Question by:davideo7
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
7 Comments
 
LVL 79

Assisted Solution

by:arnold
arnold earned 2000 total points
ID: 37763947
You have to adjust the number of clients you want to start with to 20, with a max of 100.
How much resources does your site require for a single page access is everything database driven?

You can start with that and then adjust,

There are several tools you can use to load test your setup
http://stackoverflow.com/questions/250866/php-load-testing-framework
There are similar tools for mysql that you should tune as well phpmyadmin, etc.
There are slow query option in mysql to log such that you could see whether you have queries that take a long time.

etc.

From the looks of the apache server, your harddrive will likely be the bottleneck.

Presumably you have 1GB network possibly two one for the web responses and one for the access to the DB.
0
 

Author Comment

by:davideo7
ID: 37768856
arnold: What do you mean I have to adjust the number of clients I want with to 20 and a max of 100?

I don't completely understand your question.
0
 
LVL 79

Assisted Solution

by:arnold
arnold earned 2000 total points
ID: 37768957
The default setup is 5 spare with 50 or so max.  Without knowing what the single user connection trigger in terms of how many follow up requests it generated.
There are tools that you can use to load test your setup
25 spare
150 max
50 requests per client
Keep alive timeout 15 seconds
Timeout 5 seconds
Max keep alive requests 15
0
Building an interactive eFuture classroom

Watch and learn how ATEN provided a total control system solution including seamless switching matrix switch, HDBaseT extenders, PDU, lighting control to build an interactive eFuture classroom.

 

Author Comment

by:davideo7
ID: 37768970
arnold: Are you suggesting that I use those settings?
0
 
LVL 79

Expert Comment

by:arnold
ID: 37768996
Yes, and then use the tool to load test then configuration.
It is hard to predict the distribution of the 40,000+ unique visitors could reflect an active user or a few non complex page accesses.
0
 

Author Comment

by:davideo7
ID: 37769195
arnold: That didn't really help, sorry.  

Here's a little more information.

In the past 15 minutes, there's been 1100+ people on my site and according to google analytics, there's 556 people no my site at this very second.  Also my site gets nearly 500,000 page views a day.
0
 
LVL 79

Accepted Solution

by:
arnold earned 2000 total points
ID: 37769228
It is still telling me nothing.  Are you having issues with the server?
Have you deteremined that the issue is with the apache configuration rather than with your PHP, mysql?

Tunning is for improving performance.  I have no way of knowing what issues you are trying to address.

information on the parameters are such
when your system boots, the number of start servers means how many httpd process will be started without waiting for a single request.

max requests per client deals with how many sequential requests within the same connection will be allowed prior to forcing the client to reconnect.  Setting the number too high could contribute to a DoS i.e. a client connects and keeps making requests multiply this by max and that is what it will take to lock your web server so that it can not respond to new requests.

http://httpd.apache.org/docs/2.0/misc/perf-tuning.html

Your question provides no context so I am trying to set one and see how your system would perform under load.
0

Featured Post

Get MySQL database support online, now!

At Percona’s web store you can order your MySQL database support needs in minutes. No hassles, no fuss, just pick and click. Pay online with a credit card.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
Suggested Courses

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question