Possible Duplicate:
Can you help me with my capacity planning?

We're about to launch a huge website, expecting a HUGE traffic especially in the first few weeks. It will be a Joomla CMS based community website. We expect 20k-50k unique visits each day. Usually pages make 25-35 mysql queries, but there are some with even 140 where Max memory usage is about 20-25MB.

Please can you look at this config and make some comments and suggestions. This I've tested using ab -n 500 -c 10 but my concern is that it's not a real benchmarking.

  • 2 x Intel X5650 Processor (total 24 cores)
  • 12 x 2.66 GHz HyperThreaded Cores
  • 32 GB
  • CentOS 6.2 on Virtuosso layer, cPanel
  • PHP 5.3.10 with mod_suhoshin, mod_fcgid, APC
<IfModule prefork.c>
    StartServers     5
    MinSpareServers   5
    MaxSpareServers   10
    ServerLimit      48
    MaxClients       44
    MaxRequestsPerChild  10000
Timeout 300
KeepAlive Off

<IfModule mod_fcgid.c>
    FcgidMaxRequestLen 1073741824
    FcgidMaxRequestsPerProcess 1000
    FcgidMaxProcesses 1000
  • There's no possible way we can help you with this question. It's far too site-specific. – womble May 19 '12 at 13:38
  • I was going to ask on stackoverflow, but found a similar question which was closed as they said it was rather related to server config. – WooDzu May 19 '12 at 13:43
  • 1
    Yes, it's off-topic for stack overflow, but that doesn't make it a good question for server fault. – womble May 19 '12 at 22:02

I think what counts in here is the MySQL-config as well as how well you've worked on sending the right caching-headers for static content. In fact your benchmark is telling you not what you were asking for, since it is only focused on the PHP-scripts + MySQL-queries. However a site-request is more.

Your benchmark does not include requests for

  • images
  • JavaScript-files
  • CSS-files
  • AJAX-calls (if relevant)

I recommend you to look for slow and inefficient queries as well. You could start here: MySQL's slow query log.

You should also keep in mind that "ab" takes only one specifig page-request into account. So if your server is well configured, you are hitting caches from the 2nd request on...

| improve this answer | |
  • Thanks Ems. For all static contents we're using CDN network. I haven't noticed any slow queries yet, but I suppose there'll be some on very heavy load? We're also testing GreenSQL database proxy, for query cache and SQL injection protection. – WooDzu May 19 '12 at 13:49
  • You can configure the slow query log - "slow" depends on your scenario and is subjective. Try to set your server under load and tweak that config to show you queries which might not use indices they way they should. – Ems May 19 '12 at 13:51

Not the answer you're looking for? Browse other questions tagged or ask your own question.