Hi there.

My company is in the process of developing a CMS for a very large teen web site. One of the best options we've seen so far is a PHP/MySQL combo. I am confident in PHP's ability to handle the load, but not so confident in MySQL. Currently, our traffic averages a little over 2 million per month, and we're projecting that to triple or quadruple once the CMS and other community features are in place.

We haven't purchased new servers yet, but our hosting facility can supply all the bandwidth and rack space that we may need. What I'm wondering is what sort of server configuration would we need and is MySQL a wise choice to handle this amount of traffic? If not, is there a way to run MySQL on multiple servers so that it's serving power is increased?

Any help would be appreciated!

AC

    MySQL does support database replication; see www.mysql.com for details.

    Those numbers don't look all that frightening, though.

    Are you going to generate everything dynamically? Do any caching?

      MySQL seems to run Slashdot just fine and I'm sure it gets at least that much traffic.

        MySQL folds up under about 5,000 connections, and gets inconsistant a bit before that.

          Ted,
          Does 5,000 connections mean concurrent connections?
          Thanks,
          Jim

            Right. 5,000 connections at the same time.

              Well, I think that the application that our company is developing will be able to work with this for a while. Now the problem becomes...What about the company that is hosting my server...hmmmmm. Guess I can go with a dedicated one.
              Anyway, thanks for the quick response Ted.
              Jim

                From past experience, I've worked with smaller sites with twice the traffic using this setup. As far as I can tell, there was no slowdown or glitches even with well over 5,000 hits at a time.

                I'm just curious if it might be a better solution to set up a multiple server configuration to offset any peaks in traffic...

                Thanks for the info. Very helpful.

                  • [deleted]

                  Jim - amihotornot uses MySQL servers on the backend in a multi-tiered configuration, and they (at least used to) get mega-hits. I read something on how they configured it before, but I can't find it again. Anyway, to answer your question in short, you could probably do it with one server, but I'd use the info on MySQL's website to repllicate and set it up with two servers.

                  You might use some of the articles on caching here on PHP Builder to make your front pages cache-friendly.

                    5,000 hits at a time is different from 5,000 conecurrent connections to mysql. If they all clicked a link at exactly the same time, bad stuff would happen 😃

                    Anyways, you could try to put together a load balancing scenerio. I haven't had much experience with them, but it's what major sites do.

                      Write a Reply...