-4

We are building a huge real estate website (startup) with the next year goal of having about 30.000-40.000 visitors/DAY and 9.000.000-10.000.000 pages per month. This inferior estimate is based on several of our competitors in the same field. Since we are a small self-funded startup with a very limited budget, we don't want to spend too much money on server yet. The real estate website that we are developing will be a database intensive website that must be able to perform thousands of MySQL queries per second fast! On every page that is displayed, there will be tens of real estate pictures loaded. PHP, MySQL, CSS, JavaScript, jQuery, etc will be optimized as much as possible in every area.

There are 2 server solutions that we have been researching on with the main goal of being able to serve 1000 concurrent online users (fast and stable) where each and every user will require tens of MySQL queries.

  1. Everything runs from One Single dedicated server

  2. Multiple servers:

VPS #1 for 12 MySQL DATABASEs

VPS #2 for Hundreds of PHP FILES, CSS, and JS

VPS #3 for Million of IMAGES (Max 100KB/image)

Which server solution will be faster and more stable when serving 1000 concurrent users? How many GB of RAM the server(s) need? I tend to think that the Multiple Server solution is more scalable but maybe it's not a good idea for load balancing(?). I am a newbie when it comes to server management for high traffic website, so I need the expert's advice.

Thanks.

womble
  • 96,255
  • 29
  • 175
  • 230

2 Answers2

2

"Which server solution will be faster and more stable when serving 1000 concurrent users?"

You're pretty unlikely to get 1,000 concurrent users at 9 million pageviews a month. That's about three pageviews per second, which virtually any modern server should be able to handle (assuming competent coding).

Hand off your image storage and delivery to something like Amazon's S3 + CloudFront CDN and your server won't have to have any involvement with those items. You can do that with the JS and CSS as well, even.

ceejayoz
  • 32,910
  • 7
  • 82
  • 106
1

There's a pretty good chance you won't get the performance you want even out of a single dedicated server -- 1000 simultaneous users, with 10 queries each, is 10000 queries per second -- a respectable rate of query execution. Tack on all of the other work that a machine needs to do to service those requests, and a single machine is quite possibly going to be unhappy.

This isn't an either-or question, though. You'd be far better off building your infrastructure from the start in such a way that it tells you what your capacity is, with enough advance warning that you can scale up as you need to, and with enough flexibility that doing so isn't difficult. However, this isn't a problem that can be answered in a Server Fault question -- you really need to bring in someone who knows what they're doing, unless you want to learn by downtime. People spend years learning how to do this properly; you're either going to have to lean on their experience, or gain the experience yourself through significant pain.

womble
  • 96,255
  • 29
  • 175
  • 230
  • Nearly -1. Nice on 1000 users, but he also talks about 9 million pageviews a month, which means the 1000 users are idiotic - the numbers do not match up. – TomTom Jun 01 '13 at 07:42