Infrastructure Suggestion

RobrtBoka

New Member
I am currently a VPS customer of InterServer, however my business is growing and I have to consider some key requirements / needs of the business.

My business model revolves around ticket sales. It is a newer "product/service" that we are offering to our clients. While current system demand is low, we have been sending out proposals to bigger clients who offer ticketed events. Visitor demand may be sporatic. If tickets were made available to a highly sought after event, we may receive 3-4,000 visitors in an instant. We want to be able to handle this with ease. What would be the best REDUNDANT route to go? The system is written in PHP / MySQL currently running on a CentOS 5 ( I think, could be 6, haven't checked) box. The average load is very low, but as I said I am trying to be proactive instead of reactive. Obviously want to consider cost as well. What is most cost effective?

I have come up with several different options myself, but wanted a professional suggestion (I am more on the development side of things, but I do some sysadmin stuff as required).

1. High Availability MySQL / Apache cluster
2. Cloud based VPS
3. Dedicated Server - (What are the capabilities of a properly equipped dedicated? 2xQuad Core 8gb ram, e.g. what kind of visitor load can it handle at any time?)

Any input would be appreciated.
 

Quags

Administrator
Staff member
As I understand it, generally you have a low load, but want to scale up if needed (then scale down).

If this is the case openvz is best for this, which is our lower cost vps solution. This is because openvz can scale up or down easily. The current downside with KVM is that while it can scale up, it can not scale down, at least yet. This is because it is built in LVM and shrinking a file system has not proven to be 100% safe yet. Multiple openvz systems can be turned into an apache cluster.

Neither openvz, kvm or a dedicated server have any redundancy to them built it, that is something cloud has however because it is built on multiple servers. If scaling is important to you, and around 99.9% uptime works, then openvz is ok to go with. Our Openvz systems have proven very reliable and have all exceeded that 99.9% uptime. However, it is possible that something could fail (for example motherboard, cpu, powersupply). We do keep replacements in stock for just these issues.

Cloud on the other hand can have systems fail and remain online. If you need 99.99%+ uptime this is the way to go, but it is built on KVM so it scales up but not down yet.

On a dedicated server you get the most power, but like OpenVZ it is not fully redundant.

> 1. High Availability MySQL / Apache cluster

A set up like this is best done with 3 systems (ie three vps). The set up I am familiar with is

1 load balancer -> 2 vps's (running apache). MySQL master / slave is normally used. This is the most complex set up and cpanel does not support it, so it needs a manual set up (we are able to do this). MySQL master / slave is something your code would need to be aware of.


> 2. Cloud based VPS
Since redundancy is built in, only 1 cloud vps is needed for full redundancy on the hardware side. Software will not be redundant, for example if apache goes down the webserver will not load, unlike an apache cluster.

> 3. Dedicated Server - (What are the capabilities of a properly equipped dedicated? 2xQuad Core 8gb ram, e.g. what kind of visitor load can it handle at any time?)
The dedicated server will be able to handle the most amount of visitors and upgrade to the most amount of ram / hd space.


Out of all of these, if hardware redundancy is what you need, then Cloud Based VPS is what you are looking for.
 

RobrtBoka

New Member
John,

Thanks for your response. Glad to see the owner of the company rolling up his sleeves and being in touch with customers! I work for a company (I work a full time job while starting some of my own ventures on the side) that uses you for some managed dedicated servers and you have actually helped us out with some suggestions on some of the servers we host ourselves in our office.

Is there a way to gauge a certain number of "clients" that could be on the site at one time? I'm looking to be able to serve several thousand requests at once when need be, and I kind of like the thought of a completely private box separate of anyone else.

The client base that I work with will particularly have a heavy load on New Years Eve and the weeks leading up to it. I want to insure that everything runs smoothly. I may ask to have a call with you to see what your thoughts are in the coming months about growing our infrastructure to handle such requests, and your personal suggestion based on the exact nature of the business.
 

Quags

Administrator
Staff member
It is hard to give a hard number for connections that can be handled. Depending on what the backend is, there are some things that can be done to improve performance. Is it php based? If so there is the standard caching tools like APC or eaccelerator, or newer tools like hip hop ( see http://en.wikipedia.org/wiki/HipHop_for_PHP )

For the webserver using something like nginx (open source) or litespeed (commercial product) will be able to handle more connections that apache 2.2 and under set ups.

A dedicated server will have the best disk speed, since no one is sharing that same disk. With the right set up a core i7 with 16+GB ram probably can handle what you need.
 
Top