asp.net.vin wrote:
1)To avoid performance issue when 1 million user accessing what way I should design my system
It depends really. Can you take a guess at peak times? The resources being used at any single moment by any user? Is it data centric or processor centric? Is there much data being exchanged between the user and that app?
One thing that you would have to take into consideration is that you'll want to offload quite a bit of the work onto the front end (javascript) so as to minimize the number of necessary roundtrips on the server.
asp.net.vin wrote:
2) what Physical infrastructure (no of servers - web server, sql server, mail server, is need domain server ?, web servers internet speed) need to have good performance for 1 million user
Well, without answering the first question, you cannot really answer this one. Assuming a ,relatively speaking, light-weight web application, you
might be able to serve 10,000 users with just one server. Or it might be heavy enough to stagger with 100 users. Database servers generally scale VERY well (that's one of their primary purposes of being) but again, and this is heavily dependent on 2 things, the volume of data and the number of concurrent users at peak times.
asp.net.vin wrote:
3)how much cost may differ to have my own physical infrastructure , or given third party to host it with monthly fee , which one is best solution for performance
Performance wise, and some will argue against this, it is my personal opinion that scaling it out on a respectable cloud services provider is MUCH cheaper. However, there are political and security considerations that you need to bear in mind. Shop around.
Amazon EC2[
^] is an example of a respectable cloud services provider; there are others.
asp.net.vin wrote:
4)what other things should be consider while designing this type of system ?
Time considerations. Everything takes time and something like this will take A LOT of time. Bear in mind also that you have to consider security, data security and integrity, scalability (what happens if you end up with more than 1 million users?) and change mechanisms.
Best of luck, but the start to all of your answers is to figure out how much load will one user incur on a system.