如何设置进程数

您所在的位置:网站首页 进程数多少正常开游戏 如何设置进程数

如何设置进程数

2024-06-11 20:13| 来源: 网络整理| 查看: 265

应该开启多少进程 如何设置进程数

进程数是由count属性决定的(windows系统不支持进程数设置),例如下面代码

use Workerman\Worker; require_once __DIR__ . '/vendor/autoload.php'; $http_worker = new Worker("http://0.0.0.0:2345"); // ## 启动4个进程对外提供服务 ## $http_worker->count = 4; ... 进程数设置需要考虑以下条件

1、cpu核数

2、内存大小

3、业务偏向IO密集还是CPU密集型

进程数设置原则

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

2、如果是IO密集型,也就是业务中涉及到一些阻塞式IO,比如一般的访问Mysql、Redis等存储都是阻塞式访问的,进程数可以开大一些,如配置成CPU核数的3倍。如果业务中涉及的阻塞等待非常多,可以再适当加大进程数,例如CPU核数的8倍甚至更高。注意非阻塞式IO属于CPU密集型,而不属于IO密集型。

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

进程数设置参考值

如果业务代码偏向IO密集型,则根据IO密集程度设置进程数,例如CPU核数的3-8倍。

如果业务代码偏向CPU密集型,则可以将进程数设置成cpu核数。

注意

Workerman自身的IO都是非阻塞的,例如Connection->send等都是非阻塞的,属于CPU密集型操作。如果不清楚自己业务偏向于哪种类型,可设置进程数为CPU核数的3倍左右即可。 另外进程数并非越多越好,进程开得太多,进程切换开销会增大,对性能有一定影响。

相关帖子 worker进程数设置 进程数设置问题 设置进程数量问题 workerman 如何设置内存极限值 聊天室项目的进程数设置为多少? 编辑于2024-03-13 17:37:19 完善本页 +发起讨论


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3