Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We envisage during a 30 minute time envelope approximately 500,000 hits onto our Facebook page.

The Dynamic - HTML - static content will be handled obviously by the web server, caching and CDN elements - so should be no issues with that.

What I need is some bullet points on how experts handle MySQL issues with such large user numbers.

  1. The Facebook page is basically just a competition form.
  2. We will insert a very small dataset
  3. There is no reading from the database during this time.\
  4. PHP will be the server side language
  5. We have to use MySQL on our host, cant use RDS or similar for example.

I have read up on Clustering / Queuing / Table Types - but just after some hands on experience from experts on Stack Overflow of the issues I may expect.

share|improve this question

migrated from Aug 19 '11 at 17:49

This question came from our site for professional and enthusiast programmers.

closed as not constructive by womble, Iain, Scott Pack, Shane Madden, MDMarra Nov 15 '11 at 19:35

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Just about the only useful answer is to benchmark your system and see what you need to achieve your goals. A more specific answer is difficult due to the large number of possible configurations (hardware, software, configuration, external load, usage, etc... ).

Generally, however, 1 million hits/hour may not be that hard depending on how many queries you have per hit and their complexity. For example, 1 query/hit works out 280 queries/sec which should be easily achievable on mid-end hardware. For example, I have a lower-end MySQL server averaging 150 queries/sec with a 10% CPU usage. Keep in mind this is a well optimized system with a read-heavy usage.

I would start by looking at if one server is capable of handling the load you expect as it will be much cheaper and easier to setup even if it requires higher end hardware. If a single server doesn't appear achievable I would look at a simple partitioning scheme: split up the writes to multiple independent MySQL servers (exactly how depends on what you are doing).

There are no doubt other more complex clustering/partitioning designs but I would try to keep the system as simple as possible, especially if you are no already familiar with setting up and using them.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.