We are building the server side of some gaming platform where a great load of mobile devices (thousands, if not tens of thousands) connect to a server, send some small information each second (let's say about 500 byte) and receive some small response based on calculations (about 1Kb).
The data has a RDBMS back end (sql server for now, could be anything else).
We have implemented the prototype using HTTP GET (with ASP.NET), but obviously it's not good or scalable for this need.
What would be the best approach for building this stack for best performance? (i.e - Windows/Linux, programming language, design patterns). It's very important that we could scale it up pretty easily and it should have maximum performance.