asterisk/configs/samples
Matthew Jordan 1106e8fd0f main/stasis: Allow subscriptions to use a threadpool for message delivery
Prior to this patch, all Stasis subscriptions would receive a dedicated
thread for servicing published messages. In contrast, prior to r400178
(see review https://reviewboard.asterisk.org/r/2881/), the subscriptions
shared a thread pool. It was discovered during some initial work on Stasis
that, for a low subscription count with high message throughput, the
threadpool was not as performant as simply having a dedicated thread per
subscriber.

For situations where a subscriber receives a substantial number of messages
and is always present, the model of having a dedicated thread per subscriber
makes sense. While we still have plenty of subscriptions that would follow
this model, e.g., AMI, CDRs, CEL, etc., there are plenty that also fall into
the following two categories:
* Large number of subscriptions, specifically those tied to endpoints/peers.
* Low number of messages. Some subscriptions exist specifically to coordinate
  a single message - the subscription is created, a message is published, the
  delivery is synchronized, and the subscription is destroyed.
In both of the latter two cases, creating a dedicated thread is wasteful (and
in the case of a large number of peers/endpoints, harmful). In those cases,
having shared delivery threads is far more performant.

This patch adds the ability of a subscriber to Stasis to choose whether or not
their messages are dispatched on a dedicated thread or on a threadpool. The
threadpool is configurable through stasis.conf.

Review: https://reviewboard.asterisk.org/r/4193

ASTERISK-24533 #close
Reported by: xrobau
Tested by: xrobau
........

Merged revisions 428681 from http://svn.asterisk.org/svn/asterisk/branches/12
........

Merged revisions 428687 from http://svn.asterisk.org/svn/asterisk/branches/13


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@428688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-12-01 17:59:21 +00:00
..
acl.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
adsi.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
agents.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
alarmreceiver.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
alsa.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
amd.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
app_mysql.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
app_skel.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
ari.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
asterisk.adsi configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
asterisk.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
calendar.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
ccss.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cdr.conf.sample Documentation: Revise explanation of cdr.conf option 'Unanswered' 2014-11-14 18:12:05 +00:00
cdr_adaptive_odbc.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cdr_custom.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cdr_manager.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cdr_mysql.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cdr_odbc.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cdr_pgsql.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cdr_sqlite3_custom.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cdr_syslog.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cdr_tds.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cel.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cel_custom.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cel_odbc.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cel_pgsql.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cel_sqlite3_custom.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cel_tds.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
chan_dahdi.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
chan_mobile.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cli.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
cli_aliases.conf.sample Sample Configurations: make 'pjsip reload' reload all reloadable pjsip modules 2014-10-17 22:45:27 +00:00
cli_permissions.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
codecs.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
confbridge.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
config_test.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
console.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
dbsep.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
dnsmgr.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
dsp.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
dundi.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
enum.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
extconfig.conf.sample app_queue: Add RealTime support for queue rules 2014-08-11 00:14:53 +00:00
extensions.ael.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
extensions.conf.sample ASTERISK-24419, fix incorrect syntax for setting language in extensions.conf.sample 2014-10-28 13:13:16 +00:00
extensions.lua.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
extensions_minivm.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
features.conf.sample Allow for transferer to retry when dialing an invalid extension. 2014-11-17 16:58:52 +00:00
festival.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
followme.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
func_odbc.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
hep.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
http.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
iax.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
iaxprov.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
indications.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
logger.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
manager.conf.sample ASTERISK-23512, correct inaccurate comment in manager.conf.sample 2014-10-28 18:09:32 +00:00
meetme.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
mgcp.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
minivm.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
misdn.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
modules.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
motif.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
musiconhold.conf.sample musiconhold: Add preferchannelclass=no option to prefer app class. 2014-09-25 20:49:04 +00:00
muted.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
ooh323.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
osp.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
oss.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
phone.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
phoneprov.conf.sample res_phoneprov: Refactor phoneprov to allow pluggable config providers 2014-10-09 17:46:23 +00:00
pjsip.conf.sample res_pjsip_sdp_rtp: Add support for optimistic SRTP. 2014-11-19 12:50:47 +00:00
pjsip_notify.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
queuerules.conf.sample app_queue: Add RealTime support for queue rules 2014-08-11 00:14:53 +00:00
queues.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
res_config_mysql.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
res_config_sqlite.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
res_config_sqlite3.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
res_corosync.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
res_curl.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
res_fax.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
res_ldap.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
res_odbc.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
res_parking.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
res_pgsql.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
res_pktccops.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
res_snmp.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
res_stun_monitor.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
rtp.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
say.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
sip.conf.sample sip.conf.sample - note that media_address does not change listen address, just the SDP 2014-11-21 13:59:45 +00:00
sip_notify.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
skinny.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
sla.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
smdi.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
sorcery.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
ss7.timers.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
stasis.conf.sample main/stasis: Allow subscriptions to use a threadpool for message delivery 2014-12-01 17:59:21 +00:00
statsd.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
telcordia-1.adsi configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
test_sorcery.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
udptl.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
unistim.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
users.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
voicemail.conf.sample app_voicemail: Add the ability to specify multiple email addresses. 2014-08-08 19:16:29 +00:00
vpb.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00
xmpp.conf.sample configs: Move sample config files into a subdirectory of configs 2014-07-17 21:17:28 +00:00