tags:

views:

28

answers:

2

i have been using independent contractors from elance to create a social netowrking site for lunches, its almost ready (hosted on godaddy) with only php+mysql on the backend and htlm+css on the front end. Whenver i see other sites they use lot of other things like memacached, load balancers HAProxy host Amazon EC2 etc

When do i need to start getting the extra architecture? and how to even decide what other tools/hardware i need?

+1  A: 

First see how popular your site is going to be. Don't count your chickens before they are hatched ;). That said, watch the growth and address it with additional programming and hardware when it starts to get slow under peak loads.

You will need to go to a dedicated server before implementing memcached etc. A shared godaddy server will crumble very quickly under any appreciable load, and they are known to just shut you down without notice. Monitor your traffic well.

If the site wasn't built with scalability in mind, you will probably end up paying as much or more as you did to have the site developed to make it scale.

This is one reason why local developers are better in the long term, you can bring these types of concerns up in an informal conversation and have the architecture be planed for it. You either pay more now, or even more down the road.

Good luck.

edit

It is an impossible to know how many resources your application will take. Every site is different. It depends on the efficiency of the queries, etc.

I think go daddy has monitors on cpu, bandwidth, and memory for you to look at. You should use these and compare against your plan to figure it out.

"LAMPP" architecture has no meaning in this context.

You should probably think about moving your site over to a cloud (amazon cloud for example) IT will allow you hardware scalability, and you only pay for what you use.

That way you only pay for the cpu time memory and bandwidth you are actually using.

But an inefficient system can be much more expensive in the cloud than a optimized one. You don't, however, have to worry about your site going down overnight.

Byron Whitlock
so you after how much traffic i get on godaddy that they start shutting down the site or ask me for upgrade to dedicated server.precisely questions will be how much traffic can a just lamp architecture take in comfortably before scaling worries comeintp picture?
+2  A: 

Monitor the requests and the success of your site. And measure the response time and CPU usage of your webserver and the database, the load of the system and memory consumption.

Plot these out and stick them to the wall and keep them up to date. You need this historical information to make informed decisions down the line.

If you see exponential growth, then you're in trouble, but you still have some time.

Get an independent to review the scalability of your setup. You cannot just throw caches and proxies at the problems without knowing if they are going to be effective.

If you are growing you need to know which bottlenecks you will hit first. This is important because there always is only one bottleneck at any one time and fixing possible other "bottlenecks" are a diversion of time, focus and money, and they will only provide marginal benefits.

For one reason or another a lot of technical folks like to fix the things which are easy to fix instead of fixing the things which really need to be fixed. (I wonder if this is the root of the saying : "If you are not part of the solution, there is good money to be made in prolonging the problem").

Good luck with your launch!

Peter Tillemans
+1 good answer.
Byron Whitlock
how do i plan for which bottlenecks i am going to hit in advance,=? maybe finding a technical co-founder will solve the problem as someone will be there guiding the process all the time.
By analyzing the graphs you are collecting you will see which parameters are growing faster than others and are going to hit the ceiling first. Also some effects are highly non linear and they exhibit like a knee in the curve. Your historic data is important here. There are basically only 4 kind of bottlenecks : Memory, CPU, IO and access to shared resources (aka locks). The first 3 can be mitigated by paralellism. The 4th one is harder as it goes to the core of the design/architecture. Finding a "grey-beard" to help you through might indeed be a good move.
Peter Tillemans
thats where lean launching advice goes wrong where they advise us to not worry about scaling and that its a good problem to have.A middle path will be better.
Like scouts : Travel Light and Be Prepared.
Peter Tillemans