[asterisk-bugs] [JIRA] (ASTERISK-29340) stasis: PJSIP endpoint taskprocessor congestion after upgrading
Jan Blom (JIRA)
noreply at issues.asterisk.org
Fri Mar 12 05:40:15 CST 2021
[ https://issues.asterisk.org/jira/browse/ASTERISK-29340?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jan Blom updated ASTERISK-29340:
--------------------------------
Attachment: stasis statistics 18.2.2.txt
Asterisk 18.2.2 built with:
./configure --enable-dev-mode
Running a test with 4165 calls @ ~100 call per second
Log contains result from:
stasis statistics show messages
stasis statistics show subscriptions
stasis statistics show topics
> stasis: PJSIP endpoint taskprocessor congestion after upgrading
> ---------------------------------------------------------------
>
> Key: ASTERISK-29340
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-29340
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Core/Stasis, Resources/res_pjsip
> Affects Versions: 18.2.2
> Environment: 8 core vm, lots of RAM,
> CentOS Linux release 7.5, Asterisk 18.2.2
> Reporter: Jan Blom
> Assignee: Jan Blom
> Attachments: modules 18.2.2.txt, stasis statistics 18.2.2.txt, taskprocessors 16.6.1.txt, taskprocessors 18.2.2.txt
>
>
> After upgrading from Asterisk 16.6.1 to 18.2.2 I notice a difference in how tasks are processed by the taskprocessors.
> My setup is that the asterisk box receives inbound calls (using chan_pjsip) from a single endpoint (SIP proxy).
> There is one taskprocessor {{stasis/p:endpoint:PJSIP/<endpoint name>}} that handles a magnitude more messages than any other taskprocessor and the max depth is well above the high watermark.
> Using the older Asterisk 16.6.1 and identical configuration, the same taskprocessor receives no messages.
> This is the taksprocessor in question, after a testrun with 4170 calls at a rate of 100 calls per second.
> bq.stasis/p:endpoint:PJSIP/proxy-00000019 1579171 0 1597 450 500
> I have attached the complete list of taskprocessors (core show taskprocessors) after a testrun. For both Asterisk versions.
> The dialplan is quite simple, only answering, playing a prompt and hangup. It also involves a few ODBC database calls. However, changing the dialplan to just answer, wait a few seconds and hangup will result in the same behavior,. Even though the number of messages processed by the taskprocessor will decrease a bit, it will still be a huge number.
> I am not entirely sure this is a problem. Calls seem to be handles properly and audio is fine. However, it is a big change in behavior compared with Asterisk 16 and a potential bottleneck if a single task is going to process a huge amount of messages. Except from this taskprocessor, all other message handling is well distributed over the various taskprocessors.
> Another annoyance is that the log gets filled with these warnings:
> bq.taskprocessor.c:1160 taskprocessor_push: The 'stasis/p:endpoint:PJSIP/proxy-00000019' task processor queue reached 500 scheduled tasks again.
> Most bells and whistles are disabled, no ARI, AMI, AGI. SIP UDP only.
> The list of loaded modules in Asterisk 18.2.2 is attached.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list