I have heard polling the server isn't the better of ideas.

Let us say I create a client-server application. An easy game for instance. Where each client polls the server every 30 seconds. The number of clients can you really have before it overlaods a wamp server? Essentially how robust is Apache with this type of stuff? Obtaining a request, aggregating data from mysql server, after which coming back the information within an xml format.

This can be a really open ended question. It entirely is dependent in your configuration, the number of apache services have you got running, the number of physical servers have you got, how's your mysql server setup (could it be by itself machine)? You need to also bear in mind that by polling the server you need to initiate an association every time and allocate assets for your communication (within the lower level networking as well as your program).

If whatsoever possible it may be better for that server to push content towards the client (presuming a push happens less often than polls happen).

Can't really provide you with amounts. It is dependent on a lot of factors (including hardware).

In addition vital that you you: The number of concurrent customers you are able to support or how real-time the outcomes are?

Should you searching for real-time results, you most likely wish to investigate something similar to Comet or long polling.

If you are searching for supporting lots of customers, the lengthy polling approach most likely is not ideal and you will most likely want some thing lightweight than Apache. Personally, I am a fan of nginx.

EDIT: And when you are feeling really stylish, your best choice legitimate-time results here's Web Sockets, but when you are a microsoft guy this is not likely to would you much good as IE does not support them.

My prediction is that you simply will maxout regardless of the request is handling and also the mysql database before Apache server turns into a problem.

However, heading out on the limb, if proper caching is within place, along with a sufficiently wise architecture and practical design, and effectively just the 30 sec polling, you need to have the ability to support a few 1000 customers.

But : mock up, fast and dirty, do roughly what you believe you'll be doing, striking it with JMeter (or similar) with 3, 10, 30, 100, 300, 1000, 3000, ... until you discover the performance wall.

I'm scared concerning the aggregating data part... if aggregation is actually needed, carefully architect it so you don't need to visit the DB, as this will kill you being produced, and also you wont think it is in development.