0

问题描述

我简单描述下我遇到的问题:
用户进来握手成功之后我将fd存入redis里面,用swoole_timer_tick定时1000 =1秒 去读取所有的fd 然后用foreach 推送数据 server->push($fd, $data) ;推送的时候我走的task,我的配置是

        'worker_num' => 8,                 
        'task_worker_num' => 80,
        'task_max_request' => 10000,
        'task_ipc_mode' => 3,               
        'max_request' => 1,

问题出现的环境背景及自己尝试过哪些方法

开始以为是读取数据的时候耗费的时间,但是redis读取的。我个人感觉是传输数据大小的问题

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

有没有批量推送数据的

2019-08-09 提问

查看全部 2 个回答

0

你机器有这么大 20核cpu? swoole在线上多次压测 进程数为cpu1-4倍最好,多了之后性能大大降级, 你task进程设置80个,每次投递任务去检查task进程繁忙状态,使进程间切换多浪费。。

推广链接