laravel5.5框架使用workerman启动不了服务器

回复

提问momeak 发起了问题 • 1 人关注 • 0 个回复 • 11 次浏览 • 9 小时前 • 来自相关话题

请问怎么在onclose的时候知道当前链接是因为什么原因关闭的

提问智佳思远 回复了问题 • 2 人关注 • 1 个回复 • 23 次浏览 • 11 小时前 • 来自相关话题

workerman 是否支持微妙定时(使用event扩展)

提问智佳思远 回复了问题 • 2 人关注 • 1 个回复 • 25 次浏览 • 11 小时前 • 来自相关话题

没创建连接,怎么接收数据呢

回复

提问wokemaner 发起了问题 • 1 人关注 • 0 个回复 • 17 次浏览 • 14 小时前 • 来自相关话题

workerman第一次启动时正常,再次启动报错,大神帮忙看看

提问walkor 回复了问题 • 2 人关注 • 1 个回复 • 44 次浏览 • 1 天前 • 来自相关话题

欢迎提交自己workerman相关的项目

提问showx 回复了问题 • 10 人关注 • 8 个回复 • 1539 次浏览 • 1 天前 • 来自相关话题

请问如何在一个connection上面做标记

提问walkor 回复了问题 • 2 人关注 • 3 个回复 • 40 次浏览 • 1 天前 • 来自相关话题

workerman启动时报错无法启动使用,大神帮忙看看

提问walkor 回复了问题 • 2 人关注 • 1 个回复 • 33 次浏览 • 1 天前 • 来自相关话题

如何清空当前连接的缓冲数据

提问walkor 回复了问题 • 2 人关注 • 4 个回复 • 58 次浏览 • 1 天前 • 来自相关话题

沃克曼可以处理游戏封包吗。

提问walkor 回复了问题 • 2 人关注 • 5 个回复 • 53 次浏览 • 1 天前 • 来自相关话题

workerman中,需要发送的数据包比较大,不希望被切割成分包发送 请问要如何实现?

提问walkor 回复了问题 • 2 人关注 • 1 个回复 • 59 次浏览 • 2 天前 • 来自相关话题

timer是如何运转的呢?

提问walkor 回复了问题 • 2 人关注 • 1 个回复 • 43 次浏览 • 2 天前 • 来自相关话题

GatewayWorker Worker进程内存溢出

回复

提问黑老怪 发起了问题 • 1 人关注 • 0 个回复 • 54 次浏览 • 3 天前 • 来自相关话题

phpsocketIO中如何对某一分组中的某一个用户进行发送消息?

提问wsad7900031 回复了问题 • 4 人关注 • 3 个回复 • 981 次浏览 • 4 天前 • 来自相关话题

workerman怎么实现一个进程一个端口监听不同的https网站

提问walkor 回复了问题 • 2 人关注 • 1 个回复 • 52 次浏览 • 4 天前 • 来自相关话题

在程序中开启的worker,能结束吗,怎么结束.

提问walkor 回复了问题 • 2 人关注 • 1 个回复 • 42 次浏览 • 4 天前 • 来自相关话题

微信小程序部分用户弹出 request:fail url not in domain list 解决了吗?

提问taozywu 回复了问题 • 2 人关注 • 1 个回复 • 36 次浏览 • 4 天前 • 来自相关话题

GlobalTimer最大数量疑问

提问keytehu 回复了问题 • 2 人关注 • 1 个回复 • 41 次浏览 • 5 天前 • 来自相关话题

php终极数据缓存,比redis、GlobalData等快200倍以上,极致性能

分享dingfei 发表了文章 • 3 个评论 • 78 次浏览 • 5 天前 • 来自相关话题

一、效果:每秒读取2000万条。写入2200万条。cpu开销很小二、原理:1.将数据以数组方式存储在内存中,php进程需要数据时直接通过内存地址访问数据,没有任何IO开销以及CPU开销。 三、具体实现:1.利用linux的写时复制技术。运行php主 ...查看全部
一、效果:每秒读取2000万条。写入2200万条。cpu开销很小二、原理:1.将数据以数组方式存储在内存中,php进程需要数据时直接通过内存地址访问数据,没有任何IO开销以及CPU开销。
三、具体实现:1.利用linux的写时复制技术。运行php主进程一次性读取所有的数据保存到数组中,然后通过workerman监听端口。每次收到请求时:创建一个子进程去执行任务,执行完成之后子进程自动结束。
      2.子进程完全共享主进程的数组,不消耗内存。
四、代码
        ini_set('memory_limit','5872M');    // 临时设置最大内存占用为5G
$a = [[[[]]]];
$start = microtime(true);
for ($i=0; $i<=200; $i++) {
for ($j=0; $j<=100; $j++) {
for ($k=0; $k<=1000; $k++) {
$a[$i][$j][$k] = '我是一条数据';
}
}
}
// 2000万数据,时间1秒,消耗内存720M。 相当于1000万-0.5秒-360M
echo microtime(true) - $start, "s。主进程写入完成,当前内存:" . (memory_get_usage() / 1024 / 1024) . "MB
";
$start = microtime(true);
for ($i=0; $i<=200; $i++) {
for ($j=0; $j<=100; $j++) {
for ($k=0; $k<=1000; $k++) {
$m = $a[$i][$j][$k] ;
}
}
}
echo microtime(true) - $start, "s。主进程读取完成,当前内存:" . (memory_get_usage() / 1024 / 1024) . "MB
";
$start = microtime(true);
$intNum= 1; // 进程总数
$pids= array(); // 进程PID数组
for($i= 0; $i<$intNum; $i++)
{
$pids[$i] = pcntl_fork();// 产生子进程,而且从当前行之下开试运行代码,而且继承父进程的所有变量
if($pids[$i] == -1){echo"couldn't fork". "\n";
}elseif(!$pids[$i]){
$m= 0;
$start = microtime(true);
for ($i=0; $i<=200; $i++) {
for ($j=0; $j<=100; $j++) {
for ($k=0; $k<=1000; $k++) {
$m = $a[$i][$j][$k] ;
}
}
}
echo microtime(true) - $start, "s。子进程读取完成,当前内存:" . (memory_get_usage() / 1024 / 1024) . "MB
";

sleep(100);
exit(0);//子进程要exit否则会进行递归多进程,父进程不要exit否则终止多进程
}
}
echo microtime(true) - $start, "s。子进程创建完成,当前内存:" . (memory_get_usage() / 1024 / 1024) . "MB
";
sleep(200);

五:代码运行结果:
1.0883929729462s。主进程写入完成,当前内存:719.90679168701MB
0.66096806526184s。主进程读取完成,当前内存:719.90679168701MB
0.0097589492797852s。子进程创建完成,当前内存:719.90715026855MB
0.72923994064331s。子进程读取完成,当前内存:719.90715026855MB

如何在workerman和gateway中使用swoole协程?

提问caiqy 回复了问题 • 3 人关注 • 3 个回复 • 493 次浏览 • 5 天前 • 来自相关话题

GatewayWorker分布式部署时的Gateway连接失败解决办法

分享caiqy 发表了文章 • 0 个评论 • 50 次浏览 • 5 天前 • 来自相关话题

问题场景: 分布式部署gateway时,businessworker频繁从gateway查询数据(如 getSession, getOnlinexxx, getxxx),当用户量上升到一定程度会出现unable to connect to tcp: ...查看全部
问题场景:
分布式部署gateway时,businessworker频繁从gateway查询数据(如 getSession, getOnlinexxx, getxxx),当用户量上升到一定程度会出现unable to connect to tcp://xxxx 或者 can not to conect to tcp://xxxx,导致用户请求未处理,如果未在外层捕获异常会导致businessworker进程重启
 
原因猜测:
getxxx在Lib/Gateway.php中都是用的短链接,每一次请求都会创建新的连接,两台服务器之间建立连接频率过快 
解决办法:
起初发现netstats中存在几千个连接gateway内部端口的TIME_WAIT连接,就加大了TIME_WAIT最大容量,开启了tcp_tw_reuse,用户量上去后,TIME_WAIT不多了,但还是出现了上面的问题
最终通过修改Lib/Gateway.php的代码,使用长连接解决了问题
 

启动文件中增加如下代码
Lib\Gateway::$persistentConnection = true;

rpcClicent

提问blogdaren 回复了问题 • 2 人关注 • 1 个回复 • 37 次浏览 • 6 天前 • 来自相关话题

jsonNL

提问blogdaren 回复了问题 • 2 人关注 • 1 个回复 • 38 次浏览 • 6 天前 • 来自相关话题

分享下nginx配置HTTPS WSS

提问mrliuuu 回复了问题 • 8 人关注 • 6 个回复 • 8717 次浏览 • 6 天前 • 来自相关话题

rpcClicent

回复

提问孟子说2012 发起了问题 • 1 人关注 • 0 个回复 • 30 次浏览 • 6 天前 • 来自相关话题

json_rpc可以运行在windows吗

提问孟子说2012 回复了问题 • 2 人关注 • 2 个回复 • 299 次浏览 • 6 天前 • 来自相关话题

Worker 不间断执行任务最佳实践

提问walkor 回复了问题 • 2 人关注 • 3 个回复 • 88 次浏览 • 6 天前 • 来自相关话题

GatewayWorker 底层和mqtt疑惑

提问walkor 回复了问题 • 2 人关注 • 1 个回复 • 47 次浏览 • 6 天前 • 来自相关话题

workerman测试失败请求过多可能时哪方面导致的

提问damao 回复了问题 • 2 人关注 • 3 个回复 • 53 次浏览 • 6 天前 • 来自相关话题

如果客户端出现异常死循环请求如何快速定位

提问walkor 回复了问题 • 2 人关注 • 2 个回复 • 70 次浏览 • 2019-05-14 19:01 • 来自相关话题

后台运行的workerman,怎么查看它的输出?

提问walkor 回复了问题 • 2 人关注 • 1 个回复 • 72 次浏览 • 2019-05-14 18:37 • 来自相关话题

监听端口bug,无法查看status

建议walkor 回复了问题 • 2 人关注 • 1 个回复 • 66 次浏览 • 2019-05-14 18:32 • 来自相关话题

phpsocket.io如何向一个组广播?

提问计算机爱好者 回复了问题 • 2 人关注 • 4 个回复 • 53 次浏览 • 2019-05-14 18:00 • 来自相关话题

onWorkerStart中运行多个定时器

提问walkor 回复了问题 • 2 人关注 • 1 个回复 • 60 次浏览 • 2019-05-14 15:36 • 来自相关话题

workerman的socketio跑了十几个小时后,广播不了

提问walkor 回复了问题 • 2 人关注 • 1 个回复 • 57 次浏览 • 2019-05-14 13:27 • 来自相关话题

本地,内网测试都可以,换成外网IP就不行。

提问walkor 回复了问题 • 2 人关注 • 1 个回复 • 67 次浏览 • 2019-05-14 13:22 • 来自相关话题

GatewayWorker使用两个websocket连接session丢失

提问walkor 回复了问题 • 2 人关注 • 3 个回复 • 78 次浏览 • 2019-05-14 13:19 • 来自相关话题

怎么接收TCP同步返回的数据信息啊

提问walkor 回复了问题 • 2 人关注 • 3 个回复 • 81 次浏览 • 2019-05-14 11:45 • 来自相关话题

多进程如何共享大型数组?

提问walkor 回复了问题 • 3 人关注 • 1 个回复 • 95 次浏览 • 2019-05-14 11:42 • 来自相关话题

getwayworker定时器时间长了出现异常

提问walkor 回复了问题 • 2 人关注 • 1 个回复 • 48 次浏览 • 2019-05-14 10:38 • 来自相关话题