通常在开发服务器应用程序时,您会听到开发人员说
"我从多线程开始,可以达到~1,000个并发用户,
当我使用异步编程时,数字增长到~10,000"。
我们通常把重点放在代码上。
但是暂时假设理想场景:
你写了一个非常好的代码,可以获得真正大量的并发用户,
而且你还拥有非常强大的互联网连接,具有高带宽和极低的延迟。
所以如果你把这两个部分放在一边(为了这个问题),并假设它们是理想的,
它们之间的部分是否有任何限制?
"他们之间的部分"例如:
- NIC(HW)
- 司机(SW)
- OS(SW)
- .NET的CLR(SW - 假设我们正在使用.NET)
其中一个是否存在一些限制?
例如,打开TCP连接数量的限制..
重要说明:
该应用程序不是在Web服务器上运行的Web应用程序
它是一个.EXE,在Windows上运行(在CLR上,如果准确的话)。