app_voicemail: Add taskprocessor alert level options.

On heavy loaded system with IMAP or DB storage,
'app_voicemail' taskprocessor queue could reach 500 scheduled tasks.
It could happen when the IMAP or DB server dies or is unreachable.
It could happen on startup when there are many (thousands)
realtime endpoints configured with unsolicited mwi.
If the taskprocessor queue reaches the high water level
then the alert is triggered and pjsip stops processing new requests
until the queue reaches the low water level to clear the alert.

This patch adds 2 new 'general' configuration options
to tune taskprocessor alert levels:
'tps_queue_high' - Taskprocessor high water alert trigger level.
'tps_queue_low' - Taskprocessor low water clear alert level

ASTERISK-26229 #close

Change-Id: I766294fbffedf64053c0d9ac0bedd3109f043ee8
This commit is contained in:
Alexei Gradinari
2016-07-22 17:37:06 -04:00
committed by Richard Mudgett
parent 8d6a7b89bd
commit ea71bd6e3e
3 changed files with 42 additions and 0 deletions

View File

@@ -376,6 +376,16 @@ sendvoicemail=yes ; Allow the user to compose and send a voicemail while inside
; defaults to being off
; backupdeleted=100
; Asterisk Task Processor Queue Size
; On heavy loaded system you may need to increase 'app_voicemail' taskprocessor queue.
; If the taskprocessor queue size reached high water level, the alert is triggered.
; If the alert is set then some modules (for example pjsip) slow down its production
; until the alert is cleared.
; The alert is cleared when taskprocessor queue size drops to the low water clear level.
; The next options set taskprocessor queue levels for this module.
; tps_queue_high=500 ; Taskprocessor high water alert trigger level.
; tps_queue_low=450 ; Taskprocessor low water clear alert level.
; The default is -1 for 90% of high water level.
[zonemessages]
; Users may be located in different timezones, or may have different