06-13-2011, 08:05 AM
Thumbs Must Hurt
Join Date: Apr 2006
Location: Leeds, UK
Post Thanks: 0
Thanked 0 Times in 0 Posts
| | Re: Message delays on BES 5.0.2
My env't is 5.0.2 MR5, mixed Exchange (2003, SP2 and 2010, Sp1, RU3). 2200 BB users across 4 HA BESs running on Win2K8 VMs each having 2 x dual-core CPUs and 8GB RAM.
I think I have been pointed towards the solution to this. Whilst the throttling policy changes are important they don't fully resolve - at least not for me. In my env't the problem was all down to the way BES handles Messaging Agents.
RIM have configured it such that a single Messaging Agent handles all BES to Exch2010 traffic for the first 500 users. This always struck me as a very large number of users for a single Messaging Agent and it turns out to be the case because each Messaging Agent can only handle a maximum of 100 threads. So once you go above 100 Exch2010 users, or once you have sufficient hung threads you're going to see latency and possible red Xs when users try to send.
Giveaway entry in the MAGT logs was multiple instances of "Failed to reach user's mailbox"
Fix is a registry hack and it has worked 100% in my env't. This changes Agent allocation such that after making this change users will be divided evenly amongst the number of agents specified in the values below:
Take HA BES out of Automatic failover mode.
Make change on the live Primary BES first then implement on the standby afterwards. The standby will actually spawn the same number of agents as the primary as it gets the AgentID from the SQL database. The reason you must make the change on the registry is in the event that both servers are shutdown and the Standby comes up first, triggers a failover and everyone is back on 1 agent. This will only work on a server with more than 10 users.
Stop Controller, Dispatcher & Router BlackBerry services in this sequence.
At HKEY_LOCAL_MACHINE\SOFTWARE\Research In Motion\BlackBerry Enterprise Server\Dispatcher create a DWORD registry value called AgentOptimizeAlgorithm (capitalisation is critical) and give it a value of 1.
At HKEY_LOCAL_MACHINE\SOFTWARE\Research In Motion\BlackBerry Enterprise Server\Agents create a DWORD registry value called NumAgents (capitalisation is critical). 5 is the default number of agents, recommendation is to increase to a value of 10.
At HKEY_LOCAL_MACHINE\SOFTWARE\Research In Motion\BlackBerry Enterprise Server\Agents create a DWORD registry value called NumAgentsFullServer (capitalisation is critical). 5 is the default number of agents, recommendation is to increase to a value of 10.
Start Router, Dispatcher & Controller BlackBerry services in this sequence.
Repeat on Standby BESs.
Put back into Automatic HA failover state.