workerman多进程执行怎么做,进程数设置原则是什么
Admin 2022-07-22 群英技术资讯 765 次浏览
为了充分发挥服务器多CPU的性能,WorkerMan默认支持多进程多任务。
WorkerMan开启一个主进程和多个子进程对外提供服务, 主进程负责监控子进程,子进程独自监听网络连接并接收发送及处理数据,由于进程模型简单,使得WorkerMan更加稳定,更加高效。 (推荐学习: workerman教程)
创建一个主进程(守护进程),一旦启动长时间运行在后台,即使关掉浏览器页面.
主线程定时查询数据库(MySQL),一旦发现有符合条件的URL(可能多条),即创建对应的数量的子进程.
子进程也需要长时间存在,定时轮询URL对应的服务器取回数据.
子进程一旦取回所需要的数据,将结果保存到数据库,自我结束(或被主进程关闭).
进程数设置原则
1、每个进程占用内存之和需要小于总内存(一般来说每个业务进程占用内存大概40M左右)
2、如果是IO密集型,也就是业务中涉及到一些阻塞式IO,比如一般的访问Mysql、Redis等存储都是阻塞式访问的,进程数可以开大一些,如配置成CPU核数的3倍。
如果业务中涉及的阻塞等待很多,可以再适当加大进程数,例如CPU核数的5倍甚至更高。注意非阻塞式IO属于CPU密集型,而不属于IO密集型。
3、如果是CPU密集型,也就是业务中没有阻塞式IO开销,例如使用异步IO读取网络资源,进程不会被业务代码阻塞的情况下,可以把进程数设置成和CPU核数一样
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在本篇文章里小编给大家整理的是一篇关于PHP7 preg_replace 出错及解决办法,有需要的朋友们可以跟着学习下。
这篇文章给大家分享的是Laravel框架Eloquent ORM删除数据的方法。小编觉得挺实用的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
在laravel中,依赖注入是将组件注入到应用程序中的一种行为,属于依赖的显示申明;控制反转是面向对象编程的一种设计原则,用于减低计算机代码之间的耦合度,是一个类把自己的的控制权交给另外一个对象,类间的依赖由这个对象去解决。
对于php发送网络请求,我们最常用的请求就是curl,有时我们也会用到file_get_contents函数发送网络请求。本文为大家总结了php实现网络请求的方法及函数,感兴趣的可以学习一下
swoole框架栏目介绍传统的nginx+FPM模式的PHP程序而言,每次请求FPM的worker都会连接一次mysql,然后请求结束便会断开连接。对于并发小的应用来说这不会有什么问题,但是对于高并发的应用来说...
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008