onWorkerStart 只在这个地方加了两个定时器
# strace -ttp 16327strace: Process 16327 attached
19:48:34.299833 select(7, , , , {92, 246878}) = 1 (in , left {74, 993026})
19:48:51.554064 recvfrom(6, "\0\0\0\10ping", 65535, 0, NULL, NULL) = 8
19:48:51.554310 select(7, , , , {100, 0}) = 1 (in , left {75, 23492})
19:49:16.530954 recvfrom(6, "\0\0\0005a:2:{s:3:\"cmd\";s:3:\"get\";s:3"..., 65535, 0, NULL, NULL) = 53
19:49:16.531085 sendto(6, "\0\0\0\na:0:{}", 10, 0, NULL, 0) = 10
19:49:16.531339 select(7, , , , {100, 0}) = 1 (in , left {99, 999896})
19:49:16.531571 recvfrom(6, "\0\0\0007a:2:{s:3:\"cmd\";s:3:\"get\";s:3"..., 65535, 0, NULL, NULL) = 55
19:49:16.531725 sendto(6, "\0\0\0\na:0:{}", 10, 0, NULL, 0) = 10
19:49:16.531927 select(7, , , , {100, 0}) = 1 (in , left {99, 999997})
19:49:16.532070 recvfrom(6, "\0\0\0Ba:2:{s:3:\"cmd\";s:3:\"get\";s:3"..., 65535, 0, NULL, NULL) = 66
19:49:16.532201 sendto(6, "\0\0\0\10i:0;", 8, 0, NULL, 0) = 8
19:49:16.532378 select(7, , , , {100, 0}) = 1 (in , left {99, 999997})
19:49:16.532472 recvfrom(6, "\0\0\0@a:2:{s:3:\"cmd\";s:3:\"get\";s:3"..., 65535, 0, NULL, NULL) = 64
19:49:16.532597 sendto(6, "\0\0\0\10i:1;", 8, 0, NULL, 0) = 8
19:49:16.533351 select(7, , , , {100, 0}) = 1 (in , left {99, 979448})
19:49:16.554093 recvfrom(6, "\0\0\0\10ping", 65535, 0, NULL, NULL) = 8
19:49:16.554277 select(7, , , , {100, 0}
php 16327 root 0u CHR 136,1 0t0 4 /dev/pts/1
php 16327 root 1u CHR 136,1 0t0 4 /dev/pts/1
php 16327 root 2u CHR 136,1 0t0 4 /dev/pts/1
php 16327 root 3u unix 0xffff88433b51f000 0t0 2459367 socket
php 16327 root 4u IPv4 2459355 0t0 TCP 127.0.0.1:2207 (LISTEN)
php 16327 root 5u unix 0xffff88433b51e800 0t0 2459368 socket
php 16327 root 6u IPv4 2459369 0t0 TCP 127.0.0.1:2207->172.27.16.14:59486 (ESTABLISHED)
从截图结果看进程是正常的。
SendBufferToWorker fail 参考 手册定位
http://doc2.workerman.net/send-buffer-to-worker-fail.html
有可能是onWorkerStart里定时器里面业务逻辑运行缓慢影响了businessWorker与gateway建立连接逻辑导致。
业务有问题的时候运行 status看是否有busy进程,根据手册
http://doc.workerman.net/debug/busy-process.html
定位
谢谢哈