压力测试 Gateway与BusinessWorker进程显示busy

@walkor

我在workerman服务端用WebSocket进行图片接收与存储转发,压力测试出现连接断开;

测试环境:
gateway 4个进程;
businessWorker32个进程;

图片发送端50个;
每个3秒发送一张100kb左右的图片给workerman;

请问如何解决和优化?
2015-01-21_152218.png
已邀请:

walkor

赞同来自:

不清楚业务逻辑是怎样的,如果50个客户端每个客户端3秒将一张100k图片广播给所有其它客户端,将带来大概每3秒5050100K=250M的通讯量,那么千兆网卡几乎是满负荷,百兆网卡则会打满,导致数据阻塞进而导致socket超时,连接断开。

如果是聊天发图
一般做法是将图片通过http post到单独的web服务器,并返回一个可以访问图片的url,然后websocket将url广播给其它客户端,其它客户端通过img标签http从单独的文本服务器下载这个图片,这样的好处是websocket通讯量很小,消息发送接收非常及时,不会因为广播大图造成网络阻塞无法聊天。

要回复问题请先登录注册