Linode Forum
Linode Community Forums
 FAQFAQ    SearchSearch    MembersMembers      Register Register 
 LoginLogin [ Anonymous ] 
Post new topic  Reply to topic
Author Message
PostPosted: Mon Aug 20, 2012 2:54 pm 
Offline

Joined: Mon Aug 20, 2012 2:38 pm
Posts: 1
Title says it all. I have a new site (local newspaper) and I decided to opt for the 8GB Linode considering the previous amount of traffic they had before moving in with me.

The site was built with ExpressionEngine 2.5, server is currently running Ubuntu 64 12.04 LTS with Apache2.2 with the following conf:

MaxKeepAliveRequest 100
KeepAliveTimeout 5

PHP Memory Limit is currently set to 128MB

MySQL conf is as follows:

Max_Connections 1000
table_cache 120
query_cache_limit = 1M
query_cache_size = 120M

Problem is, as soon as the site hits 500 users at a time, CPU goes to about 50% and everything gets really really slow, to the point of getting pingdom alarms, yet I still have 4GB of free RAM at my disposal that I'm not using. (See attached graphic. I launched the site around 12:25pm. The funky MYSQL graphs are simply me restarting the service)

Image

Where do you guys think is the bottleneck and how do I make sure to use the RAM available to speed up things for users and even go beyond the 500 limit?

Would you guys be kind enough to share with me your optimized settings for Apache/Mysql/Php on a 8GB Linode?


A N D F I N A L L Y

Should I even try mpm_worker_module?

Thank you so much for your kind help and for saving my chops.


Top
   
PostPosted: Mon Aug 20, 2012 5:18 pm 
Offline
Senior Member

Joined: Wed May 13, 2009 1:18 am
Posts: 681
I suppose I'd look at any parameters that relate to how many parallel requests you can satisfy, and see if you've got anything set to low to prevent full resource utilization.

For example, what is MaxClients in your apache configuration, and are you achieving that number of clients at peak? You mention PHP - are you using mod_php or php_fpm? If the latter, how do you have it configured in terms of max_children for your application's pool?

Depending on how long it takes for a single client request to be satisfied (do you have any test metrics on what to expect for that?) you could be creating a backlog of clients waiting for a free apache slot (or php-fpm child) leading to increased latency.

At least at first glance it doesn't appear that you are cpu or memory bound. Not positive about I/O, but given that your iowait time is low on the cpu chart, I'm guessing that's not really an issue yet either.

I'm also assuming that by pingdom errors you mean in respect to your web site, and not a pure "ping" test against the node. If the latter is failing too, then I'd be a little more confused since you would seem to have plenty of resources (and network bandwidth) to respond to basic traffic even under load. But if it's the former, then the pingdom request could just be getting caught up in the same queue backlog as other clients.

-- David


Top
   
PostPosted: Sat Aug 25, 2012 8:18 am 
Offline
Senior Member

Joined: Sat Jun 12, 2010 4:53 pm
Posts: 77
For mysql, ubuntu has an app to suggest proper values.

Code:
$ sudo apt-get install mysqltuner


Then run:

Code:
$ mysqltuner


You may also want to look into things like php-apc, varnish, or other caching technologies to help?


Top
   
PostPosted: Mon Mar 25, 2013 4:50 am 
Offline
Newbie

Joined: Sun Jan 29, 2012 4:16 pm
Posts: 3
Location: Copenhagen, Denmark
If you're running EE, are you already caching your pages? If not then I highly recommend CE Cache.


Top
   
PostPosted: Mon Mar 25, 2013 9:54 am 
Offline
Senior Member

Joined: Sun May 23, 2010 1:57 pm
Posts: 315
Website: http://www.jebblue.net
I don't know annything about ExpressionEngine but here's a page that describes some things you might want to look at:

http://ellislab.com/expressionengine/us ... ching.html


Top
   
PostPosted: Tue Apr 09, 2013 11:51 am 
Offline
Senior Newbie

Joined: Thu Mar 11, 2010 10:42 am
Posts: 15
ICQ: 33922655
Location: Ireland
Always check your ulimit also for high capacity sites.

My default build of ubuntu has 1024 open files... I'd bump that at least 8x and see if it improves.

_________________
Linode 512 @ cbr250.com


Top
   
PostPosted: Tue Apr 09, 2013 6:29 pm 
Offline
Senior Member
User avatar

Joined: Tue Apr 13, 2004 6:54 pm
Posts: 833
Are you running 32bit code? That has an inherent 4GB per-process limit. Make sure your kernel and programs are 64bit.

_________________
Rgds
Stephen
(Linux user since kernel version 0.11)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
RSS

Powered by phpBB® Forum Software © phpBB Group