views:

100

answers:

3

I am developing a project that lately have been taking off with increased popularity.

This development is of course met with open arms and has also been somewhat expected. I have therefore taken every precaution I could about creating efficient and secure code. However, when it comes to server capacity I haven't had the financial means to create enough overhead.

I suspect my web site will start to show lacking performance sooner rather than later, and I need help to choose which way to go, and what to prioritize.

I have a few questions, and I would appreciate any input from your great pool of experience.

The site is currently based on PHP + MYSQL + jQuery. I've tried to keep in mind while coding it to make sure data traffic and server calls/database queries are kept strict and smart.

The big question first:

How do you go ahead scaling up site performance with your financial resources constantly limited?

I expect the site to bring revenue within short, making me able to invest more and more into developing a server park, perhaps localizing it to different regions and/or countries for faster access and better routing.

Are there people around with expertise in re-routing users to different servers, maybe round-robin-style put them on different servers to reduce load?

Is it worth dropping PHP + MySQL and going in some direction better able to handle the load?

Is it worth hiring someone specialized in web server security full time to handle and update the server park, maybe including backups etc.?

Is it worth hiring someone to go over code and make it more efficient?

These are just a few questions from the top of my head. Any tips on how to seamlessly migrate to bigger web server solutions are appreciated. Any pitfalls you guys have dropped into? Please discuss and enlighten me.

+3  A: 

How do you go ahead scaling up site performance with your financial resources constantly limited? You make of use of free hosts, make deals with other sites, and make sure your code is optimized, until your site can generate self-sustaining revenue. If your idea is good, you can get loans from banks.

Are there people around with expertise in re-routing users to different servers, maybe round-robin-style put them on different servers to reduce load? Yes. But you should look into a CDN (Content Delivery Network).

Is it worth dropping PHP + MySQL and going in some direction better able to handle the load? That depends on what you're using PHP/MySQL to do. More than likely they'll be able to handle the load. You might want more than one database though, since that is probably your largest bottleneck. w/o knowing what you're doing, it's impossible to determine if there is something more efficient/ideal for your project.

Is it worth hiring someone specialized in web server security to handle and update the server park, maybe including backups etc.? Yes. Web server security isn't as important as someone with network security, or someone with experience backing up and restoring the data. Availability of that person's services is also important.

vol7ron
+1 for CDN and restoring
Armando
Thanks, especially for the restoring part :)
Mattis
+1  A: 

I recently put my Ruby on Rails app on Heroku.

You adjust server capacity as the traffic increases with a slider.

There must be cloud hosting available for php sites too.

+1  A: 

How do you go ahead scaling up site performance with your financial resources constantly limited?

If your server max loads are only some peaks you should think about Cloud Computing with dynamically added instances if more resources are needed, and automatic removing of instances if server load goes down.

Are there people around with expertise in re-routing users to different servers, maybe round-robin-style put them on different servers to reduce load?

Yes I believe so, but you shouldn't need to find one, because for your application Code you can use a Load Balancer/Proxy like HAProxy if you have some experience in setting up servers, you should be able to setup HAProxy.

Also you could try to find things, that can be cached and you should take a look at APC and/or Memcached.

For your static content you should use a Content Distribution Network (CDN).

Is it worth dropping PHP + MySQL and going in some direction better able to handle the load?

It depends on how far developed you application is, and how much code and effort you already put into the project. And you should always use a system you're comfortable with. Also you can try something like HipHop for PHP: Move Fast, a php compiler, developed by Facebook, to make PHP code faster.

Is it worth hiring someone specialized in web server security full time to handle and update the server park, maybe including backups etc.?

If you can afford someone full time for this kind of job the first question shouldn't matter. Also you should hire someone for this kind of job if you can afford it, because a website that gets more and more popular to regular users, also gets more and more popular to hackers.

But most important is a secure and reliable workflow for backups. So if you get hacked, you can make a fast clean redeployment of your system.

Is it worth hiring someone to go over code and make it more efficient?

Same answer as the former question. If you can afford a programmer, and you think it the code can be made more efficient, you should hire someone.

jigfox
Thank you, you guys have all helped pointing me in the right direction :)
Mattis