High CPU spikes with PJSIP and Asterisk 13.15

We are using the Freepbx Distro 7 using asterisk 13.19.1

Some of the times when we get high CPU spikes are:

  1. We perform a reload. The new dial plan is fed into asterisk and it processes it. Then the Freepbx portion is done and the cpu stabilizes for a few seconds. After that asterisk seems to rebuild the subscriptions/BLF’s and that causes the CPU to spike like crazy and stay crazy. Optimizing or splitting subscription processing to another core would really help to stabilize our asterisk. That main asterisk thread gets up to 200%+ usage during reloads now.
    a) Our system has a little under 1000 active extensions on one of our servers. Many of our phones are Yealinks and some of them are Yealink T29’s with 27 BLF keys and all 27 keys are filled with other BLF’s. So 20 phones with 27 subscriptions each. We have probably over 300 phones with 20 or more BLF keys each. Subscription processing gets massive so reloads are a major problem. During a reload BLF lights on yealinks will shut off for a few seconds on both Chan_SIP and PJSIP.
  2. With 1000 active extensions we have a massive CDR/CEL table, so perhaps it is causing part of this. When we have 30+ active calls being made, ended, transfered, etc I notice that CPU use jumps quite a bit with even 2-3 new calls. If 10 calls come in at once it can jump the asterisk thread from 50% to 100% use. It seems like new calls cause significant jumps in usage. However this might be a mix between asterisk and Freepbx. Thought I should at least let the asterisk devs know since this affects a system that depends on asterisk.
1 Like