Boston Linux & Unix (BLU) Home | Calendar | Mail Lists | List Archives | Desktop SIG | Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings
Linux Cafe | Meeting Notes | Blog | Linux Links | Bling | About BLU

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss] AWS Linux server scaling question



Drew,

While I'm by no means an expert when it comes to AWS (having only
just recently started to host in their environment myself), I do now
have a few months of experience and instances in multiple locations.
Most of my stuff is fairly static or non-web; however, I have been using
an assortment of their technologies including RDS (Relational Database)
to handle my MySQL needs - it works and takes the requirement 
to have to provide additonal Infrastructure to run an instance of MySQL
(which I was doing). Combined with VPC (Private Cloud) instances it
becomes a very secure & stable environment on which to deploy upon.  Of
course you'll have to make some other calls in regards to storage
(standard vs. Provisioned IOPS) and any additional features &
functionality your environment may require.

You may also want to consider looking at Nginx as your web engine.
It took me the longest time to start poking around with it and now, I
wonder why I ever hesitated.  Its lighter and cleaner than Apache and
in micro or small instances works perfectly with an exceptionally
small footprint.  I just Googled "nginx wordpress" and it seems
wordpress installations are not uncommon.

IMHO - the key to AWS is scalability and at any time if you need
additional capacity, you can simply spin up an instance, add a
load-balancer and grow.  Even if you end up with only a single small
EC2 instance using RDS, think and plan like you'll someday have 50
instances and look at setting up that way so you can easily grow.

Just my .02 - YMMV. ;-)

Regards,
--Tim


On Thu, 21 Mar 2013 11:58:11 -0400
Drew Van Zandt <drew.vanzandt at gmail.com> wrote:

> Up front: While I'm solid on Linux for personal use, and use it
> daily, and have been sysadmin for a tiny company with just one
> internal server, I've never been what I consider a "real" sysadmin.
> 
> I'm working with an all-volunteer group trying to figure out what our
> cheapest AWS setup to handle things for ~3500 users is.  Right now the
> webserver, which is basically just a Wordpress install, is running on
> a Micro instance.  When we released a half dozen documents that
> everyone wanted right away last week, of course it fell over a couple
> of times, (slow, nonresponsive, reboot needed once, etc.)  I joined
> the tech team pretty much the day before this happened.
> 
> memcached was added sometime during the explosion.
> 
> We're regrouping for next time this happens, and given the limited
> admin experience of everyone on the team, there are some
> disagreements on the best approach.  I'll present a few of the
> options under discussion, if anyone cares to comment I'd be happy to
> hear discussion.
> 
> Option A:
> * Upgrade to a Small instance (1.7GB instead of 610MB)
> * Tune apache prefork config so the max number of clients does not
> cause much swapping at full load
> * Tune Apache: FollowSymlinks, AllowOverrides None (symlinks is
> security risk, accepting that)
> * Add indexes for any SQL query WHERE clauses that are common to the
> setup
> * Tune PHP and MySQL a bit for the limited available memory
> 
> Option B:
> * Use several micro instances with load balancing
> * Apache/PHP/SQL tuning identically per instance
> 
> Option C:
> * Two Small instances
> ** One runs Apache/wordpress
> ** One runs MySQL and lighttpd for static files (lighttpd may be
> unnecessary complexity)
> ** Each optimized as per A
> 
> Other items considered:
> Amazon S3 for static files
> AWS DB-specific instance for SQL
> Medium instance
> Varnish
> 113 other caching solutions
> 
> Based on making embedded Linux handle things with tiny, tiny memory
> models, I'm inclined to think that A would suffice for the load I
> expect folks to throw at it - the only reason even the Micro instance
> couldn't mostly handle it is that it had stock settings on
> everything, no tuning at all.  A Small instance is more than enough.
> 
> Based on having survive office politics for years, I'm inclined to
> think that C is perfect, we're likely to get budget since Things Just
> Happened, and it should be able to handle loads far beyond what I
> ever expect our users to throw at it.  (Though we do get surges of
> 500+ users at high activity for a few days just before
> conventions...I would expect C with tuning to handle even that pretty
> gracefully.)
> 
> In either A or C I'm inclined to ask for an identical config but with
> Micro instances for release prestaging/testing, I should be able to
> stress those with just a script on my server, and test load handling
> - the Small version should be strictly (and vastly) better than the
> prestaged test.
> 
> Are we thinking along the right lines?
> 
> *
> Drew Van Zandt
> Cam # US2010035593 (M:Liam Hopkins R: Bastian Rotgeld)
> Domain Coordinator, MA-003-D.  Masquerade aVST
> *
> _______________________________________________
> Discuss mailing list
> Discuss at blu.org
> http://lists.blu.org/mailman/listinfo/discuss
> 



-- 

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.




BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org