基本上我的目标是将.Net / Java TCP服务器支持的性能/最大连接数与MySQL数据库与使用Mongo db的Node tcp服务器进行比较。
我为每个节点TCP服务器,SQL db,Mongo服务器,> Net TCP服务器设置了一个单独的Windows Server 2008 R2 VM,其中包含4 GB RAM。
客户端发送的数据非常简单(<100字节)。服务器接受它并将该数据插入数据库(MySQL或Mongo)。 .Net / Java TCP服务器 - &gt; MySQL的 节点 - &gt; Mongo db。
客户端使用线程创建1000个并发请求。 我看到Node TCP服务器无法处理超过700个请求,大约200-300个请求失败,因为服务器拒绝连接。 (节点TCP服务使用非阻塞Mongo操作)
.Net TCP服务器能够最多处理1500个请求,即使超过该数量也会失败。
我知道最大并发连接是根据许多因素(硬件,操作系统等)决定的。
我很惊讶地知道Node声称支持10K +并发连接。但是我甚至无法实现1000+,我知道与Mongodb的交互可能会导致这个问题。但是在这种情况下如何支持10k +并发连接。
任何人都可以帮助我理解这一点。
提前谢谢你 -Patil
答案 0 :(得分:0)
您的问题是您的操作系统,您需要针对这种负载进行调整。你考虑过linux吗?它比Windows强大且稳定,并且与Windows(有目的地“削弱”(低TCP默认限制)以鼓励追加销售)不同,Linux开箱即用,可以提供更高的工作负载,并且还可以调整比微软提高10倍。