首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
一些关于swoole的问题(7个),求版主回答
问题1: swoole的C架构是什么样子,你使用的是HS/HA 还是 L/F 管理工作节点。 问题2: swoole每次接收到连接是否是创建新的work进程或work线程,然后关闭连接后销毁,还是有其他机制比如prework,如果是prework这个阀值是多少。 问题3: swoole是如何有效利用多核的,比如线程或者进程过多竞争情况下。 问题4: 看官方介绍swoole是异步非阻塞,可以理解异步是epoll提供的事件复用机制,非阻塞swoole是怎么体现的,比如一个事件就绪了,我对他操作就block了这个事件。 问题5: 是否是一个work线程或者一个work进程对应多个连接,如果是这样的,(异步模式下Proactor)事件安全是怎么做的,比如我读一个事件的缓冲区数据,我如何知道读到的数据属于哪个socket描述符。 问题6: swoole是如何处理粘包问题的,能否给出一段实例代码。 问题7: 长连接下多次发不同类型的业务包,work线程或者work进程是否会出现阻塞状态,这个怎么处理
发布于9年前 · 3 次浏览 · 来自
提问
动
动了情的痞子♚
问题1: swoole的C架构是什么样子,你使用的是HS/HA 还是 L/F 管理工作节点。 问题2: swoole每次接收到连接是否是创建新的work进程或work线程,然后关闭连接后销毁,还是有其他机制比如prework,如果是prework这个阀值是多少。 问题3: swoole是如何有效利用多核的,比如线程或者进程过多竞争情况下。 问题4: 看官方介绍swoole是异步非阻塞,可以理解异步是epoll提供的事件复用机制,非阻塞swoole是怎么体现的,比如一个事件就绪了,我对他操作就block了这个事件。 问题5: 是否是一个work线程或者一个work进程对应多个连接,如果是这样的,(异步模式下Proactor)事件安全是怎么做的,比如我读一个事件的缓冲区数据,我如何知道读到的数据属于哪个socket描述符。 问题6: swoole是如何处理粘包问题的,能否给出一段实例代码。 问题7: 长连接下多次发不同类型的业务包,work线程或者work进程是否会出现阻塞状态,这个怎么处理
赞
0
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2015-08-16
淡
淡╯悠悠
你的提问非常专业。 1、swoole的C架构可以是全异步(异步Reactor线程+异步Worker进程),也可以是半异步半同步(异步Reactor线程+同步Worker进程) 2、swoole是采用固定静态worker进程的模式,不存在请求创建新的进程/线程问题 3、swoole会根据CPU核数创建N个Reactor线程,开启了CPU亲和设置后,每一个线程都会绑定到1个核。多进程Worker在多核机器中是完全可以利用到多核的。 4,5、这个不谈了,你需要再多了解一下 6、包处理这部分实际上是协议层的东西,
赞
0
回复
微信公众号
热门内容
作者其它话题
- worker_id is exceed serv->worker_num + SwooleG.task_worker_num
暂无回复的问答
- CodeGalaxy K3s 轻量集群节点之间如何实现负载均衡
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。