首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache为每个WebSocket连接保留一个活动的工作进程

Apache为每个WebSocket连接保留一个活动的工作进程
EN

Stack Overflow用户
提问于 2018-08-14 20:40:10
回答 1查看 893关注 0票数 1

使用mod-proxy-wstunnel将Apache (2.4.29)配置为WebSocket请求的反向代理

代码语言:javascript
复制
ProxyPass "/myapp/ws" "ws://localhost:8080/myapp/ws"

对于每个活动的WebSocket客户端,只要该客户端保持活动状态(即使没有发送数据),我就会看到一个保持活动状态(处于“发送回复”状态)的Apache worker。实际上,这意味着我无法扩展WebSocket客户端,因为所有可用的连接都被消耗掉了。

在/server-status中,每个客户机对应一行:

代码语言:javascript
复制
Srv PID Acc M   CPU SS  Req Conn    Child   Slot    Client  Protocol    VHost   Request
0-0 10219   0/43/43 _   1.04    1828    984237  0.0 0.09    0.09    ::1 http/1.1    butler.openbravo.com:443    GET /myapp/ws/helloWs HTTP/1.1

使用不同的mpm配置(使用event、worker和prefork进行测试)对此没有影响。

我需要Apache能够在它们空闲时重用这些工作者(不传输任何数据),以便能够对其进行扩展。有可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-15 20:33:59

不,目前还不能以这种方式多路复用websockets连接。

在httpd主干(2.5.x)中,有一些实验性的选项,允许这些连接在空闲一段时间后转为异步。但它不太可能是向后移植到2.4.x的东西,目前还没有真正稳定的2.6.x版本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51841686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档