发布于 2015-08-09 09:39:08 | 422 次阅读 | 评论: 0 | 来源: 网络整理
此配置影响swoole 2个方面
调整连接发送缓存区的大小。TCP通信有拥塞控制机制,服务器向客户端发送大量数据时,并不能立即发出。这时发送的数据会存放在服务器端的内存缓存区内。此参数可以调整内存缓存区的大小。
如果发送数据过多,客户端阻塞,数据占满缓存区后Server会报如下错误信息:
swFactoryProcess_finish: send failed, session#1 output buffer has been overflowed.
调用 swoole_server->send, swoole_http_server->end/write,swoole_websocket_server->push 时,最大发送的数据不得超过 buffer_output_size 配置。
buffer_output_size默认为2M,缓存区塞满后send将会失败
注意此函数不应当调整过大,避免拥塞的数据过多,导致吃光机器内存
开启大量worker进程时,将会占用worker_num * buffer_output_size 字节的内存