One my server with perl external script time to time is stopping processing SIP messages. Perl script make calls to kamailio database on mysql.
I have found this in logs
DEBUG: <core> [core/io_wait.h:380]: io_watch_add(): DBG: io_watch_add(0x56427eb40c40, 495, 2, 0x7f1a9f9ba408), fd_no=33 DEBUG: <core> [core/io_wait.h:602]: io_watch_del(): DBG: io_watch_del (0x56427eb40c40, 495, -1, 0x0) fd_no=34 called DEBUG: <core> [core/tcp_main.c:4196]: handle_tcpconn_ev(): sending to child, events 1 DEBUG: <core> [core/tcp_main.c:3871]: send2child(): WARNING: no free tcp receiver, connection passed to the least busy one (56) DEBUG: <core> [core/tcp_main.c:3875]: send2child(): selected tcp worker 4 20(24) for activity on [tcp:0.0.0.0:81], 0x7f1a9f9ba408
And no next messages.
How get info what is load on "tcp receiver". This host in dev mode and handles not more 5 devices.
Sergey
Hello,
On 18.07.18 06:41, Sergey Safarov wrote:
One my server with perl external script time to time is stopping processing SIP messages. Perl script make calls to kamailio database on mysql.
I have found this in logs
DEBUG: <core> [core/io_wait.h:380]: io_watch_add(): DBG: io_watch_add(0x56427eb40c40, 495, 2, 0x7f1a9f9ba408), fd_no=33 DEBUG: <core> [core/io_wait.h:602]: io_watch_del(): DBG: io_watch_del (0x56427eb40c40, 495, -1, 0x0) fd_no=34 called DEBUG: <core> [core/tcp_main.c:4196]: handle_tcpconn_ev(): sending to child, events 1 DEBUG: <core> [core/tcp_main.c:3871]: send2child(): WARNING: no free tcp receiver, connection passed to the least busy one (56) DEBUG: <core> [core/tcp_main.c:3875]: send2child(): selected tcp worker 4 20(24) for activity on [tcp:0.0.0.0:81 http://0.0.0.0:81], 0x7f1a9f9ba408
And no next messages.
How get info what is load on "tcp receiver". This host in dev mode and handles not more 5 devices.
this messages are printed when all tcp workers are assigned to handle traffic on a tcp connection. They are harmless if there is a lot of traffic on many tcp connections, but if you say the traffic is low, then the tcp workers are blocked in some operations, likely the database query.
You can use benchmark module or play with latency* core parameters in order to detect what action in config takes very long time to execute.
You can also increase the value for tcp_children global parameter.
Cheers, Daniel
Thanks you Daniel We removed perl code calls from kamailio configs and issue is resolved. Very help full your suggestion.
Sergey
ср, 18 июл. 2018 г. в 14:37, Daniel-Constantin Mierla miconda@gmail.com:
Hello,
On 18.07.18 06:41, Sergey Safarov wrote:
One my server with perl external script time to time is stopping processing SIP messages. Perl script make calls to kamailio database on mysql.
I have found this in logs
DEBUG: <core> [core/io_wait.h:380]: io_watch_add(): DBG: io_watch_add(0x56427eb40c40, 495, 2, 0x7f1a9f9ba408), fd_no=33 DEBUG: <core> [core/io_wait.h:602]: io_watch_del(): DBG: io_watch_del (0x56427eb40c40, 495, -1, 0x0) fd_no=34 called DEBUG: <core> [core/tcp_main.c:4196]: handle_tcpconn_ev(): sending to child, events 1 DEBUG: <core> [core/tcp_main.c:3871]: send2child(): WARNING: no free tcp receiver, connection passed to the least busy one (56) DEBUG: <core> [core/tcp_main.c:3875]: send2child(): selected tcp worker 4 20(24) for activity on [tcp:0.0.0.0:81], 0x7f1a9f9ba408
And no next messages.
How get info what is load on "tcp receiver". This host in dev mode and handles not more 5 devices.
this messages are printed when all tcp workers are assigned to handle traffic on a tcp connection. They are harmless if there is a lot of traffic on many tcp connections, but if you say the traffic is low, then the tcp workers are blocked in some operations, likely the database query.
You can use benchmark module or play with latency* core parameters in order to detect what action in config takes very long time to execute.
You can also increase the value for tcp_children global parameter.
Cheers, Daniel
-- Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda Kamailio World Conference -- www.kamailioworld.com