Linode Forum
Linode Community Forums
 FAQFAQ    SearchSearch    MembersMembers      Register Register 
 LoginLogin [ Anonymous ] 
Post new topic  Reply to topic
Author Message
PostPosted: Tue Jan 18, 2011 10:41 am 
Offline
Senior Member

Joined: Sun Mar 28, 2010 2:43 pm
Posts: 76
Website: http://tomakefast.com
Location: Texas
Let's say you're running a website, PHP/MySQL.

From your point of view, what signals would tell you it's time to upgrade to a faster Linode plan?

_________________
PHP Development @ Tomakefast


Top
   
 Post subject:
PostPosted: Tue Jan 18, 2011 10:53 am 
Offline
Senior Member
User avatar

Joined: Tue May 26, 2009 3:29 pm
Posts: 1691
Location: Montreal, QC
When my databases were growing large enough to need bigger caches, or when all my PHP processes were saturated such that I needed more of them, but didn't have any more RAM?


Top
   
 Post subject:
PostPosted: Tue Jan 18, 2011 12:22 pm 
Offline
Senior Member
User avatar

Joined: Sat Aug 30, 2008 1:55 pm
Posts: 1739
Location: Rochester, New York
There is no explicit speed difference between the plans, so I wouldn't call it upgrading to a "faster" plan. However, more RAM per instance = fewer instances per server = less contention for CPU and I/O, so if you're bouncing against steal or iowait, sure. Also, more RAM = more room for caching by your kernel = less I/O.

Usually, for database servers, I look at being able to meet current peak traffic plus a generous safety margin, with a decent amount for caching. If you're using MySQL, http://mysqltuner.com/ is the bee's knees for tweaking the database:

Code:
wget http://mysqltuner.pl/
sudo perl mysqltuner.pl


For web/application servers, I'll usually try optimizing as much as I can within the memory allocation before upgrading, since that will more directly improve site performance and will pay dividends as things grow down the line.

If you've got your web stuff and your database on the same server and traffic is getting piquant, I would seriously recommend two 512 instances rather than one 1024 instance. Put the database on one and the web stuff on the other. This will let you tune and scale them both independently.

(Protip: With MySQL, use the InnoDB engine for your tables and turn on binlogging. When you do your nightly mysqldump, "--single-transaction --quick --master-data=1" will get you a consistent dump with metadata that can be used to bootstrap a slave in a hurry if shit hits the fan.)

Scaling is, like most things, a matter of personal preference and religion. I prefer to scale horizontally; others prefer to scale vertically. Neither of us are wrong, but I'm right. ;-)

_________________
Code:
/* TODO: need to add signature to posts */


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