我正在Linux中开发一个TCP服务器,该服务器最初可以处理成千上万个并发客户端,这些客户端的寿命很长。但是,在开始实现某些功能之后,我为那些阻塞的调用创建了线程池,这些调用应分开进行,例如数据库或磁盘访问。
经过一些测试,在高负载下请求“许多”异步功能的情况下,由于许多任务被排队,服务器开始滞后,因为它们到达的速度快于它们的处理速度。这些任务可以在十亿分之一秒之内解决,但是有很多。我确实知道这是完全正常的。
我当然可以在负载均衡器后面发展,也可以购买具有更多内核的更好的服务器,但是,在实践中,作为行业的标准,在这样的服务器中,有多少个并发的长期TCP会话被认为是“好”数目就像我要描述的那样吗?我怎么能说我获得的并发连接数“足够好”?
答案 0 :(得分:0)
不幸的是,没有一个神奇的数字可以回答您的问题,但是我有一些考虑事项可以帮助您找到您的电话号码:
请记住,即使同时连接,多核CPU等,响应也将由同一网络发出并造成瓶颈。因此,我建议您对整个体系结构进行负载和压力测试,以找到可接受的延迟限制。
TL; DR: 没有神奇的答案,您应该进行负载和压力测试才能找到它。