首页 >php框架 >Workerman > 正文

workerman可以多进程执行吗

原创2019-12-12 10:10:4102856

为了充分发挥服务器多CPU的性能,WorkerMan默认支持多进程多任务。

WorkerMan开启一个主进程和多个子进程对外提供服务, 主进程负责监控子进程,子进程独自监听网络连接并接收发送及处理数据,由于进程模型简单,使得WorkerMan更加稳定,更加高效。 (推荐学习: workerman教程

workerman-1.jpg

创建一个主进程(守护进程),一旦启动长时间运行在后台,即使关掉浏览器页面.

主线程定时查询数据库(MySQL),一旦发现有符合条件的URL(可能多条),即创建对应的数量的子进程.

子进程也需要长时间存在,定时轮询URL对应的服务器取回数据.

子进程一旦取回所需要的数据,将结果保存到数据库,自我结束(或被主进程关闭).

进程数设置原则

1、每个进程占用内存之和需要小于总内存(一般来说每个业务进程占用内存大概40M左右)

2、如果是IO密集型,也就是业务中涉及到一些阻塞式IO,比如一般的访问Mysql、Redis等存储都是阻塞式访问的,进程数可以开大一些,如配置成CPU核数的3倍。

如果业务中涉及的阻塞等待很多,可以再适当加大进程数,例如CPU核数的5倍甚至更高。注意非阻塞式IO属于CPU密集型,而不属于IO密集型。

3、如果是CPU密集型,也就是业务中没有阻塞式IO开销,例如使用异步IO读取网络资源,进程不会被业务代码阻塞的情况下,可以把进程数设置成和CPU核数一样

以上就是workerman可以多进程执行吗的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:workerman
  • 相关文章

    相关视频


      网友评论

      文明上网理性发言,请遵守 新闻评论服务协议

      我要评论
    • 专题推荐

      作者信息
      推荐视频教程
    • PHP基于Cookie的购物车模块设计PHP基于Cookie的购物车模块设计
    • PHP图形计算器PHP图形计算器
    • PHP投票系统PHP投票系统
    • PHP发送邮件功能PHP发送邮件功能
    • 视频教程分类