使用gateway worker搭建了一个聊天室 服务器配置:4核、8G内存、2.5GHz、带宽10M 使用python脚本模拟100用户登陆每个用户1秒发送一条消息,过几分钟,客户端抓包得出tcp zerwindow,导致客户端超时断开了链接,问下walker这种情况该如何去处理或者优化。
像这种服务器环境最高能够承载多少并发量?已经按照手册优化了linux配置,及装了event扩展。
可能是客户端没有及时recv消息,也就是客户端一直发消息但不接收消息,导致客户端socket接收缓冲区满,然后发给服务器tcp zeroWindow。
是的,脚本确实没写收消息的,谢谢了~~~!像这种配置的话一般能够抗住多少并发量?业务逻辑里面没有mysql处理,程度不是很复杂。能够承受住多少用户量。
聊天室类的应用注意全局广播数据时会占用比较大的带宽,10M带宽的话估计可以支撑1万人在线。
@1:现在是这种场景,脚本模拟100个用户登陆并每秒发送1条消息,也就是每秒并发1W,导致有用户被T掉,是目前的带宽导致的吗?还是其他原因。
如果100个用户每个用户每秒给1万个客户端发消息那么就是每秒向外发100万条消息,你的服务器肯定扛不住,一般服务器能每秒向外发送10万条消息就非常不错了。 服务器每秒发送100万条消息出去,服务器需要配备千兆网卡,服务器带宽需要上G,cpu也要N核。
可能是客户端没有及时recv消息,也就是客户端一直发消息但不接收消息,导致客户端socket接收缓冲区满,然后发给服务器tcp zeroWindow。
是的,脚本确实没写收消息的,谢谢了~~~!像这种配置的话一般能够抗住多少并发量?业务逻辑里面没有mysql处理,程度不是很复杂。能够承受住多少用户量。
聊天室类的应用注意全局广播数据时会占用比较大的带宽,10M带宽的话估计可以支撑1万人在线。
@1:现在是这种场景,脚本模拟100个用户登陆并每秒发送1条消息,也就是每秒并发1W,导致有用户被T掉,是目前的带宽导致的吗?还是其他原因。
如果100个用户每个用户每秒给1万个客户端发消息那么就是每秒向外发100万条消息,你的服务器肯定扛不住,一般服务器能每秒向外发送10万条消息就非常不错了。
服务器每秒发送100万条消息出去,服务器需要配备千兆网卡,服务器带宽需要上G,cpu也要N核。