
09-12-2009, 12:17 PM
|
 |
Proprietor
|
|
Join Date: Nov 2008
Posts: 2,238
|
|
KB13404 - Extended Threading Model for BES in IBM Domino environment
KB13404 - What is the Extended Threading Model for BlackBerry Enterprise Server in IBM Domino environment
Environment
- BlackBerry® Enterprise Server versions 4.0 SP5 to 4.0 SP7 and 4.1 SP2 to 4.1 SP6 for IBM® Lotus® Domino®
Overview
The extended threading model was introduced with BlackBerry Enterprise Server for IBM Lotus Domino 4.0.5 and 4.1.2. Additional information on threading models can be found in KB04909.
Upon startup, the BlackBerry Enterprise Server looks at the following registry keys found in HKEY_LOCAL_MACHINE\SOFTWARE\Research In Motion\BlackBerry Enterprise Server\Agents:
| ALTThreadModel | 0 = Old threading model (one pool for all mail servers) | | 1 = Default current model (one thread pool per mail server) | | 2 = Extended threading model (multiple thread pools per collection of mail servers) | | ThreadpoolOptimizationInterval | Default value is 240 min | | NumThreadPools | Default value is 10 | | NumWorkerThreads | Default value is 5 | | MaxTotalThreads | Default value is 40 | To switch to the extended threading model, change the DWORD value for the registry key ALTThreadModel to 2.
The extended threading model can work well in an environment where the BlackBerry smartphone users are spread across a large number of mail servers with uneven BlackBerry smartphone user distribution. This allows the consolidation of mail servers with fewer users into one thread pool. However, in a scenario where the threads in a particular thread pool become busy or hung, BlackBerry smartphone users on all the mail servers in that thread pool may experience performance issues.
The following shows a comparison between the thread allocation for the default current model (value = 1) and the extended threading model (value = 2):
Note: In this case, there was a large number of mail servers being serviced by the BlackBerry Enterprise Server, with a fairly small total number of users and an uneven user distribution between the mail servers:
Thread Pool with the default Threading Model (ALTThreadModel=1):
[30000] (05/22 00:38:35.392):{0x18A8} Before optimization: total number of worker threads 74, where 74 non-removable
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail1/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail220/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail39/ab/cde/efg) has 2 threads to serve 4 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail04/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail5/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail60/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail17/ab/cde/efg) has 2 threads to serve 3 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail8/ab/cde/efg) has 2 threads to serve 2 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail9/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail10/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail11/ab/cde/efg) has 2 threads to serve 2 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail12/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail13/ab/cde/efg) has 2 threads to serve 4 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail14/ab/cde/efg) has 2 threads to serve 3 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail15/ab/cde/efg) has 2 threads to serve 29 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail16/ab/cde/efg) has 2 threads to serve 4 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail17/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail18/ab/cde/efg) has 2 threads to serve 5 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail19/ab/cde/efg) has 2 threads to serve 3 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail1/ab/cde/efg) has 2 threads to serve 40 handhelds -------> only 2 threads allocated to this Mail Server
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail20/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail21/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail22/ab/cde/efg) has 2 threads to serve 2 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail32/ab/cde/efg) has 2 threads to serve 6 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail25/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail51/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail28/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail40/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail60/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail55/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail76/ab/cde/efg) has 2 threads to serve 3 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail89/ab/cde/efg) has 2 threads to serve 3 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail47/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail66/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail39/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail23/ab/cde/efg) has 2 threads to serve 12 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail166/ab/cde/efg) has 2 threads to serve 4 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail204/ab/cde/efg) has 2 threads to serve 8 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail564/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail148/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail161/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail199/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail111/ab/cde/efg) has 2 threads to serve 7 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail124/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail187/ab/cde/efg) has 2 threads to serve 2 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail423/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail376/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail396/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail273/ab/cde/efg) has 2 threads to serve 3 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail183/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail113/ab/cde/efg) has 2 threads to serve 2 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} Thread pool for mail server (mail100/ab/cde/efg) has 1 threads to serve 1 handhelds
[30000] (05/22 00:38:35.392):{0x18A8} After optimization: total number of worker threads 74, where 74 non-removable
Thread Pool with the Extended Threading Model (AltThreadModel=2)
[30000] (05/25 01:35:32.207):{0x17E0} Before optimization: total number of worker threads 40, where 20 non-removable
[30000] (05/25 01:35:32.207):{0x17E0} Thread pool for mail server (mail141/ab/cde/efg) has 3 threads to serve 16 handhelds
[30000] (05/25 01:35:32.207):{0x17E0} Thread pool for mail server (mail139/ab/cde/efg) has 3 threads to serve 16 handhelds
[30000] (05/25 01:35:32.207):{0x17E0} Thread pool for mail server (mail17/ab/cde/efg) has 3 threads to serve 12 handhelds
[30000] (05/25 01:35:32.207):{0x17E0} Thread pool for mail server (mail18/ab/cde/efg) has 3 threads to serve 16 handhelds
[30000] (05/25 01:35:32.207):{0x17E0} Thread pool for mail server (mail16/ab/cde/efg) has 5 threads to serve 29 handhelds
[30000] (05/25 01:35:32.207):{0x17E0} Thread pool for mail server (mail141/ab/cde/efg) has 3 threads to serve 12 handhelds
[30000] (05/25 01:35:32.207):{0x17E0} Thread pool for mail server (mail1/ab/cde/efg) has 11 threads to serve 41 handhelds -------> More realistic Thread : User ratio
[30000] (05/25 01:35:32.207):{0x17E0} Thread pool for mail server (mail113/ab/cde/efg) has 3 threads to serve 16 handhelds
[30000] (05/25 01:35:32.207):{0x17E0} Thread pool for mail server (mail148/ab/cde/efg) has 3 threads to serve 13 handhelds
[30000] (05/25 01:35:32.207):{0x17E0} Thread pool for mail server (mail125/ab/cde/efg) has 3 threads to serve 12 handhelds
[30000] (05/25 01:35:32.207):{0x17E0} After optimization: total number of worker threads 40, where 20 non-removable
__________________
http://blog.port3101.org/hdawg/
The views expressed by me on Port3101 and its affiliated sites are my own and do not necessarily reflect the views of my employer.
|