Professional Documents
Culture Documents
2 Added information for fax weightings and guidelines on the November 22, 2006
maximum number of directory numbers (DNs).
4 Made minor changes to call weightings and added an explanation March 26, 2007
of business trunking.
5 Updated system architecture section and added reference to the April 30, 2007
Network Server Memory Estimator tool.
5 Fixed example Network Server capacity calculation. Added April 25, 2007
information on assumptions for real-time accounting configuration.
Clarified 10,000 Conferencing Server administrator limit.
8 Clarified Application Server and Network Server database sizing August 30, 2007
rules.
9 Added information on BEA integration. Added content on high November 15, 2007
performance IBM systems. Removed section on base system
capacities.
10 Removed restriction on number of enterprises for Release 14.sp4. February 14, 2008
Added additional service weightings to table in Appendix B.
12 Updated Application Server Growth Estimate procedure to used April 23, 2008
licensing number of users instead of the SNMP number.
15 Deleted BEA section and added Sun x64 series. October 20, 2008
16 Described Capacity Planner changes to support input of multiple- March 24, 2009
packaged configurations.
Removed references to the Network Server Memory Estimator
since this has been incorporated into the Capacity Planner.
Updated Java heap utilization examples.
17 Updated section 7.1.3 Generic Port Calculation Rules for EV May 15, 2009
89418.
17 Cleaned up database “temp” size calculation and removed Thread June 1, 2009
Activity as a platform KPI.
19 Added section to explain how to use the System Capacity Planner August 21, 2009
to input live data.
Updated growth estimate to clarify that busy CPU should only
include system and user activity.
Added UC-Connect specifications.
20 Described enhancements to System Capacity Planner Live Data October 20, 2009
Input mode.
Described impact of Simple Object Access Protocol (SOAP)
transactions on the Web Server, according to EV 98133.
Added provisioning guidance for Communication Barring Fixed
feature.
21 Made small correction, changing CPUs to CPU Units and December 18, 2009
published document.
22 Updated section 4.2.1 Scaling Characteristics for EV 106924. February 17, 2010
22 Updated Media Server engineering rules in section 7.1 Media February 24, 2010
Server Engineering Rules.
23 Synchronized document with System Capacity Planner, version March 29, 2010
3.3. Added formulas for Video-enabled Media Server. Renamed
Web Server.
25 Removed reference to 5,000-user limit in the Application Server May 19, 2010
scaling constraints section and cleaned up OCP/ODP provisioning
guidelines.
25 Updated call weightings for call center calls. May 19, 2010
28 Added CTI-Connect Xtended Services Platform (Xsp) deployment May 23, 2011
model.
28 Fixed garbage collection (GC) heap collection example error in June 9, 2011
section 10.2.1.1 Execution Server Post Full Collection Heap Size
for
EV 143495.
29 Updated Media Server port weightings. Added Open Client December 12, 2011
Interface (OCI) over SOAP rating.
30 Changed Growth Estimate procedure to identify number of users April 30, 2012
on an Application Server.
30 Corrected Access Mediation Server (AMS) example calculation. July 28, 2012
Added section to document restriction on compressed codec
usage for conferencing on UltraSPARC Media Server for EV
154886.
Removed Conferencing Server.
Added Service Control Function (SCF) Server.
32 Added section 7.6 Service Control Function Network December 10, 2012
Requirements.
33 Added information on the Virtualized System Capacity Planner December 10, 2013
worksheet.
Added Communicator Xtended Services Platform information.
Added details on Device Management system engineering.
Removed CDS information.
Added information on provisioning guidelines for Communication
Baring (Hierarchical) feature.
Increased supported group size.
Added information on Session Access Control.
Added EVRC-A codec and described maximum generic and
maximum RTP port requirements.
Added video conferencing.
Updated performance guidelines to support additional CPU
configurations.
34 Added Messaging Server (UMS), Sharing Server (USS), and April 11, 2014
WebRTC Server (WRS).
Updated Media Server calculations to match capacity planner.
Added Adaptive Multi-Rate Wideband (AMR-WB).
Added guidelines for disposition/unavailable codes for EV 191987.
Updated voice mail storage requirements for
EV 213785.
38 Added Growth Estimate for additional server types. March 11, 2016
Added restriction on enterprise trunk number ranges.
Corrected Application Server bandwidth formula.
47 Edited changes and completed latest rebranding for Cisco. September 21, 2020
50 Adjust number of entities calculation on the Network Server to add November 15, 2022
new systemNbLinePorts PM and remove obsolete systemNbExts
PM.
1 Introduction....................................................................................................................................... 13
2 Definitions ......................................................................................................................................... 14
2.1 Average Call Hold Time ............................................................................................................ 14
2.2 Erlang ......................................................................................................................................... 14
2.3 Busy Hour Call Attempts/Calls per Second ............................................................................. 14
2.4 Simultaneous Calls .................................................................................................................... 14
2.5 Call Model .................................................................................................................................. 15
2.6 Call Weighting ............................................................................................................................ 15
3 Server Capacity Disclaimer ............................................................................................................ 16
4 System Architecture and Scalability ............................................................................................ 17
4.1 Network Server .......................................................................................................................... 17
4.1.1 Centralized Location Repository ...................................................................................... 17
4.2 Centralized Routing Engine ...................................................................................................... 17
4.2.1 Scaling Characteristics ..................................................................................................... 17
4.2.2 Scaling Constraints ........................................................................................................... 18
4.3 Application Server...................................................................................................................... 20
4.3.1 Scaling Characteristics ..................................................................................................... 20
4.3.2 Scaling Constraints ........................................................................................................... 21
4.4 Execution Server (XS Mode) .................................................................................................... 22
4.5 Media Server.............................................................................................................................. 22
4.6 Application Delivery Platform .................................................................................................... 23
4.7 Xtended Services Platform ....................................................................................................... 23
4.7.1 Xtended Services Platform Web Container Dimensioning ............................................ 23
4.7.2 Xtended Services Platform Transaction Ratings ............................................................ 23
4.7.3 Xtended Services Platform Deployment Configurations ................................................ 24
4.8 Cisco BroadWorks Device Management Profile Server ......................................................... 26
4.8.1 Profile Server Deployment Configurations ...................................................................... 26
4.9 Database Server........................................................................................................................ 27
4.9.1 Database Server Dimensioning ....................................................................................... 28
4.9.2 Database Server Disk Requirement ................................................................................ 28
4.10 Access Mediation Server .......................................................................................................... 28
4.11 Service Control Function ........................................................................................................... 29
4.12 Messaging Server...................................................................................................................... 29
4.13 Sharing Server ........................................................................................................................... 29
4.14 WebRTC Server ........................................................................................................................ 29
4.15 Network Function Manager....................................................................................................... 29
4.16 Network Database Server ......................................................................................................... 29
4.17 Video Server .............................................................................................................................. 30
5 Hardware Capacities ....................................................................................................................... 31
Figure 1 Execution Server Sh Transaction Rate Example, Full Business User .................................... 68
Figure 2 Execution Server Sh Data Volume Example, Full Business User ........................................... 68
2.2 Erlang
Call load is measured in Erlang units. Erlang units represent traffic intensity or load as
traffic volume per time unit. An Erlang can be defined as one telephone line carrying traffic
continuously for one hour.
For example, if a system receives 100 calls per hour with each call requiring three minutes
(0.05 hour) of service, then the traffic volume in an eight hour period is 100 * 0.05 * 8 = 40
Call Hours (Ch). One Erlang equals one Ch/hour, so the traffic load is 40/8 = 5E.
Peak or busy hour is the busiest one-hour (60 minutes) period of the day. This is typically
the load for which resources are calculated since it represents the “worst case” scenario.
Average call hold time defines how long a call is connected (call duration), on average.
Following are metrics typically used in the industry:
Residential: 0.1 Erlang with three-minute average call hold times
Enterprise: 0.2 Erlang with three-minute average call hold times
For Business Trunking applications, the number of simultaneous calls is used for licensing
instead of the number of users. The number of simultaneous calls is equivalent to the
overall system trunk group call capacity. However, for capacity planning purposes, the
effective number of users must be estimated to determine the database size and expected
number of web and provisioning transactions. The effective number of users is determined
from the number of simultaneous calls and the Erlang per user.
The server capacities are shown in this document as an indication only as to the expected
performance of a standard system, using a typical system configuration and feature mix.
Variations in hardware platforms, operating system updates, selected customer feature
sets, and customer mix affect the maximum number of users actually supported by the
system.
Cisco makes every effort to provide useful data in the sections that follow, but the
information should be viewed as guidelines rather than absolute performance figures.
The following sections briefly describe the architecture and associated scalability aspects
of each of the Cisco BroadWorks nodes.
For the descriptions of the supported hardware configurations for each Cisco BroadWorks
server, see the Cisco BroadWorks Platform Dimensioning Guide [1].
The following tables show base single server capacity based on CPU for the various
supported CPU Unit footprints, where a CPU Unit is equivalent to a CPU core or thread.
For example, a quad core E5405 CPU would be equivalent to 4 CPU Units, while a quad
core L5520 CPU with hyper-threading per core would be equivalent to 8 CPU Units.
These CPU-based numbers can be used for manual capacity planning as described in
section 6 System Capacity Planning. Numbers vary based on service usage and call
model. For more information, see the Cisco BroadWorks System Capacity Planner [2].
Intel Xeon-based Server CPU-based Capacities
Server Type Capacity
Xtended Services Platform (Xsp)/Application 1,500 iOS + 2000 Android (may further be
Deliver Platform (ADP) – Notification Push limited by connections/latency)
Server (NPS)
Xtended Services Platform (Xsp)/Application 150 TPS per CPU (maximum of 2,400)
Deliver Platform (ADP) – Xtended Services
Interface (Xsi)/CTI
NOTE 1: When a hyper-threading capable CPU is used with hyper-threading disabled, the
capacity can be multiplied by a factor of 1.5.
This section describes how to estimate system capacity and determine the required
number of nodes of each type required to handle the expected configuration.
Section 6.1 Use System Capacity Planner describes the usage of the Cisco BroadWorks
System Capacity Planner [2] tool.
NOTE: Capacity planning provides an estimate of the required number of nodes and their
capacity during system planning. It is not intended as a substitute for continuous live system
monitoring based on defined system indicators as described in section 9 Server Performance
Guidelines. In addition, future growth expectations should periodically be re-evaluated based on
current system information, as described in section 10 Server Growth Estimation Procedures.
NOTE: If the Apply Packaged Configurations button is selected again, it overwrites the manual
settings from the previous step.
6.1.2.1 Example 1: System with Mix Standard Residential and Business Trunking
1) Select the Standard Residential/SOHO User Package with Unified Messaging
package from the drop-down menu for Packaged Configuration Selection 1.
2) Enter the number of residential users.
3) Click the More Configurations button.
4) Select the Business Trunking package from the drop-down menu for Packaged
Configuration Selection 2.
5) Enter the number of simultaneous trunking calls.
6) Click the Apply Packaged Configurations button.
7) Select the hardware server types for each of the Cisco BroadWorks nodes (that is,
Application Server, Network Server, and so on).
6.1.2.2 Example 2: System with Mixed Standard Residential and Business Trunking but with
Additional Simultaneous Ringing Service Usage
1) Repeat the steps from the previous example.
2) Display the manual configuration settings by clicking the Toggle View button in the
Manual Configuration area.
3) Update the penetration percentage for the Simultaneous Ringing service. Note that
you must manually compute the weighting for this service. This weighting is for the
whole system and overrides the weighting computed for the mix of the packaged
configurations.
4) Select the hardware server types for each of the Cisco BroadWorks nodes (that is,
Application Server, Network Server, and so on).
The System Capacity Planner computes the server requirements.
NOTE: If the Apply Packaged Configurations button is selected again, it overwrites the manual
settings from the previous step.
This section outlines system engineering rules for Cisco BroadWorks servers.
G.711 IVR 1
G.711 Conferencing 1
G.722 Conferencing 6
G.726 Conferencing 2
G.729 Conferencing 8
AMR-NB Conferencing 11
AMR-WB IVR 4
AMR-NB Conferencing 23
Video IVR 2
FAX 2
EVRC-A IVR 3
EVRC-A Conferencing 14
EVRC-NW IVR 12
EVRC-NW Conferencing 56
The number of RTP sessions is limited to 4000 on a bare metal system and 1000 on a
virtualized system.
A 4000 port Media Server could support 4000 G.711 ports or 3200 (4000/1.25)
G.726 ports.
Given that transcoding is a fraction of playback time, a given transcoding process is only
involved in a fraction of the actual call hold time and can thus successively deal with many
calls within an average hold time. For example, if the average call hold time for a Media
Server call requiring transcoding is 30 seconds with a 20-second playback file requiring
H264 CIF transcoding, the transcoding time for the 30-second call would be (20/14) 1.4
seconds. Therefore, in that 30-second call hold time window, this transcoding process
could theoretically handle 21 other transcodings given an even distribution of calls.
In addition, the Media Server caches transcoded files. Therefore, a file that was previously
transcoded does not require re-transcoding. This reduces the number of actual
transcodings required on the system as greetings and prompts caching hits a steady state
over a period of time.
The Cisco BroadWorks System Capacity Planner [2] can be used to help calculate the
number of Media Servers and video processes per Media Server that would be required
based on the following:
a) target transcoding environment
CIF 70 195
u-law, A-law 1 1
G.729 8 1.7
Call Replication (Percent incoming network calls + = (0.5 + 0.5 + (2 * 0)) * (33 * 0.5 *
Bandwidth percent outgoing network calls + 2 * 1400) = 23.1 KB per second
Percent internal calls) * CPS * Basic
call log feature penetration * 1400
File Replication Number of files uploaded in busy = (1000 / 3600) * 160 = 44 KB per
Bandwidth hour/3600 * Average file size second
In the previous example, the Application Server busy hour peer-to-peer bandwidth
requirements would be 89 KBps or (89 KBps * 8 bits) = 712 Kbps.
User Hosting Migrations per second per cluster (up = 55 * 1 * 560 = 31 KB per
Replication Bandwidth to a maximum of 100) * Number of second
simultaneous failed Application
Server clusters * 560
In this example, the steady state busy hour replication bandwidth between a Network
Server and its peer is ~1 KBps or 8 KBps. In the event of a single Application Server
cluster resulting in a mass migration of users at busy hour, the replication bandwidth
requirement between peers would increase to 32 KBps or 256 KBps, but only for the time
required to migrate all users (for example, ~100K/55 CPS = 1,800 seconds).
This section outlines Application Server and Network Server provisioning guidelines.
See the Cisco BroadWorks System Monitoring Quick Reference Guide [4].
The Cisco BroadWorks System Capacity Planner [2] packaged and/or manual
configuration inputs provide an excellent mechanism for initial system planning when no
existing Cisco BroadWorks infrastructure exists. Once production nodes are deployed and
are in service, live nodes can be used to more accurately estimate the capacity of the
same hardware footprint and usage.
For cluster-type nodes like the Application Server, new cluster pairs must be added when
a cluster is full or close to full.
On farm-type nodes like the Network, Media, Profile, Xtended Services Platform, and
Application Delivery Platform servers, additional nodes can be added to support additional
growth. For farm-type nodes, at least one node is eliminated from the pool of available
resources to account for a single node failure/redundancy. When performing the growth
estimate procedure, any large difference in utilization between nodes should be
investigated since this means the load is not evenly distributed.
The growth estimate procedure can also be used to estimate the capacity of new
hardware with additional memory and/or CPUs.
Note that this procedure assumes no headroom for traffic growth or bursts. It is
based on current traffic levels and system usage. A general best practice would be to
cap systems at 85 to 90 percentage usage to account for bursts and future feature usage.
“804212K” is the heap size after a full garbage collection and “4194240K” is the maximum
heap size. After this full collection, 804212 /4194240 or 19.1% of the 4 GB heap is in use.
You can now obtain the maximum post-collection heap size from the post-
collection_heap.out file, for example, if post-collection_heap.out contains the following.
231662.434: [GC 231662.434: [ParNew: 24448K->0K(24512K), 0.0856301 secs]
811655K->791912K(1572800K), 0.0858999 secs]
231773.201: [GC 231773.201: [ParNew: 24448K->0K(24512K), 0.0795525 secs]
809310K->789781K(1572800K), 0.0798135 secs]
231883.193: [GC 231883.194: [ParNew: 24448K->0K(24512K), 0.0920691 secs]
821889K->803170K(1572800K), 0.0923137 secs]
231993.503: [GC 231993.503: [ParNew: 24448K->0K(24512K), 0.0683859 secs]
812462K->793207K(1572800K), 0.0686410 secs]
232104.661: [GC 232104.661: [ParNew: 24448K->0K(24512K), 0.0772532 secs]
800871K->781200K(1572800K), 0.0774966 secs]
232221.538: [GC 232221.538: [ParNew: 24448K->0K(24512K), 0.0713419 secs]
806474K->786846K(1572800K), 0.0715919 secs]
232335.614: [GC 232335.614: [ParNew: 24448K->0K(24512K), 0.0853518 secs]
803134K->783621K(1572800K), 0.0856315 secs]
232458.578: [GC 232458.579: [ParNew: 24448K->0K(24512K), 0.0922371 secs]
794432K->774487K(1572800K), 0.0924747 secs]
232579.809: [GC 232579.809: [ParNew: 24448K->0K(24512K), 0.0705055 secs]
789489K->769703K(1572800K), 0.0707344 secs]
… then 803170 is the maximum post-collection heap size and 1572800 is the configured
maximum heap size.
Command> dssize;
PERM_ALLOCATED_SIZE: 1310720
PERM_IN_USE_SIZE: 929406
PERM_IN_USE_HIGH_WATER: 936963
TEMP_ALLOCATED_SIZE: 348160
TEMP_IN_USE_SIZE: 4597
TEMP_IN_USE_HIGH_WATER: 71409
The average checkpoint duration (time between STARTTIME AND ENDTIME) and the
average time between checkpoints (time between ENDTIME and next STARTTIME)
should be computed. The checkpoint load is 100 times the average checkpoint duration
divided by the sum of the average checkpoint duration and average time between
checkpoints.
In the previous example, the average checkpoint duration is 208 seconds and the average
time between checkpoints is 110 seconds.
The average checkpoint load is 65.
1) First, calculate the per-user resource contribution (rounding down the users to
35,000).
Busy_CPU_Per_User = 28/35000 = 0.0008% per user
Post_Collection_Heap_Per_User = 803170 /35000 = 22.9K per user
DB_Perm__Per_User = 929406/35000 = 26.5K per user
Checkpoint+Load_Per_User = 57 / 35000 = 0.00163 per user
Heap
The current configured allocated heap is 1572800. 60% of this allocated heap value would
be 1572800 X 0.6 = 934680.
max_num_users_based_on_current_heap =
934680K/Post_Collection_Heap_Per_User = 934680K/22.9K = 40815 users
This server currently has 6 GB of memory. This server platform can support a memory
upgrade to 16 GB, so the maximum allocated heap could be increased to 4 GB
(4194240). Sixty percent (60%) of the allocated heap would then be 4194240 x 0.6 =
2516544, which would result in the following.
max_num_users_based_on_max_heap = 2516544K/Post_Collection_Heap_Per_User
= 2516544K/22.9 = 109892 users
Database Size
The current configured allocated PERM_ALLOCATED_SIZE is 1310720K. Ninety percent
(90%) of this is 1310720 X 0.9 = 1179648.
max_num_users_based_on_current_db = 1179648/DB_Perm__Per_User =
1179648K/26.5K = 44515 users
This server currently has 6 GB of memory. If the server platform can support a memory
upgrade to 16 GB then the maximum PERM_ALLOCATED_SIZE could be increased to
6G (6291360). Ninety percent (90%) of the PERM_ALLOCATED_SIZE would then be
6291360 X 0.9 = 5662224, which would result in the following.
max_num_users_based_on_max_db = 5662224/DB_Perm__Per_User =
5662224K/26.5K = 212668 users
Database Checkpoint
The checkpoint load is currently 57 and can be 95.
max_num_users_based_on_checkpoint = 95 / Checkpoint_Per_User = 58333
users
With 16 GB, the bottleneck is now CPU and restricts the growth to an estimate of 75,000
users.
When the database size and/or checkpoint load is a limiter, an attempt can be made to de-
fragment the database. See the section “Compact the Database” in the Cisco BroadWorks
Maintenance Guide.
10.3.1.3 CPU
The busy CPU high water mark should be gathered from each Network Server node
according to the procedure in section 10.2.1.4 Worst Case Busy Hour CPU.
More RAM can be added to each node (up to the supported maximum) to support a larger
system.
CPU
Total Available CPU = 60 * (N – 1)
Max Identities (CPU) = Total Available CPU / CPU per Identity
The maximum number of identities supported for a given system is the lowest of the three
Max Identities calculations.
Note that if the system is deployed in a redundancy scheme other than N+1, then the
calculation needs to account for failure of those nodes. For example, if redundancy
scheme is 2 * N, then the calculation needs to only assume available resources from N
nodes.
The maximum number of RTP sessions (MAX_RTP) is 1000 on a virtualized server and
4000 on a bare metal server.
The total system resources is the sum of these three individual metrics
(msMaxCapacityInPorts, msMaxCapacityInPorts, max RTP sessions) across all Media
Server nodes except to account for redundancy If nodes have different capacities, then
eliminate the highest capacity node from the overall count.
10.5.1.1.1 Connections
The following SNMP gauge should be sampled during the busy hour.
bwWebContainer/protocols/http/serverResources/workers/
bwHttpWorkerThreadsBusyMax
The total system usage is the sum of this value across all nodes.
The total system usage is the sum of this value across all nodes.
When using the TomcatOutput files to collect information, the procedure depends on
whether Tomcat is configured to use the Concurrent Mark Sweep collector (like the
AS/XS) or using the throughput collector (like the AS/PS). This can be determined by
looking at the profile the CLI context System/ProfileTuning/GeneralSettings. By default,
the throughput collector is used. For example, the “xsi” profile uses the Concurrent Mark
Sweep collector.
System/ProfileTuning/GeneralSettings> describe xsi
When the Concurrent collector is used the heap usage is obtained as described in section
10.2.1.1 Execution Server Post Full Collection Heap Size.
When the Concurrent collector is not used, obtain the information as follows.
cat /var/broadworks/logs/tomcat/TomcatOutput17.log |grep “Full GC” >>
post-collection_heap.out
You can now obtain the maximum post-collection heap size from the post-
collection_heap.out file. For example, if post-collection_heap.out contains the following:
393240.711: [Full GC (Ergonomics) [PSYoungGen: 2017K->0K(68608K)]
[ParOldGen: 1508556K->1433298K(1485824K)] 1510574K->1433298K(1554432K),
[Metaspace: 210158K->210158K(1255424K)], 2.3703940 secs] [Times:
user=4.29 sys=0.00, real=2.38 secs]
393987.634: [Full GC (Ergonomics) [PSYoungGen: 1867K->0K(61440K)]
[ParOldGen: 1484170K->1428214K(1478656K)] 1486038K->1428214K(1540096K),
[Metaspace: 210286K->210286K(1255424K)], 2.3891670 secs] [Times:
user=4.31 sys=0.01, real=2.39 secs]
The maximum number of web container threads is the sum of the available threads on all
nodes minus one to account for redundancy. If nodes have different capacities, then
eliminate the largest one from the overall count.
This table shows the number of provisioned devices by type at a system level. The
number of devices using Device Management can be calculated from the sum of the total
devices, eliminating device types that are not using Device Management.
The number of devices utilizing a particular Xtended Services Platform / Profile Server can
be determined by dividing the total number of devices in the system by the number of
Xtended Services Platform/ Profile Servers that are actively serving traffic.
NOTE: It is assumed that traffic is disturbed in a round-robin fashion. If this is not the case, a
different weighting must be used.
The Database Server provides an estimator tool to provide a view of disk array
characteristics such as total IOPS and data throughput. The tool is wrapped in the dbsctl
script and should be run after installation and schema deployment. The tool requests two
inputs:
Total number of physical disks in the DATA ASM disk group.
This should be equal to half of the total number of disks.
Acceptable latency (10 milliseconds [msec] is a good number to use).
Usage: dbsctl [-vxfha] <command> [OPTIONS]
Supported commands:
disk
calibrate the disk subsystem.
[latency] Specify maximum latency (in ms)
[disks] Specify number of physical disks in DATA disk
group.
bwadmin@lin180-3550M3$ dbsctl disk calibrate 10 8
!WARNING! Are you sure you want to run I/O calibration on DATA disk
group?
Do you want to continue (y/n) [n]?y
Running calibration process... [DONE]
Number of physical disks : 8
Maximum IOPS : 1047
Maximum MBPS : 120
Maximum MBPS (large request): 36
Target latency : 10
The input/output (I/O) calibrated results are only for the DATA ASM disk group. The FRA
ASM disk group should be sized the same as DATA ASM disk group, so that the total
disk capability is twice the disk-calibrated numbers provided.
This section provides information about planned Sh traffic, which can be used for capacity
planning purposes.
DISCLAIMER: This section only provides estimations. The real-life behavior highly depends on
numerous configuration parameters, enterprise/service provider organization, and service
penetration.
12.2.1 Patterns
Cold Start – Upon Execution Server start-up, the profile cache is empty, but the Network
Server is typically not proxying any SIP traffic (for example, the Network Server would
have migrated the subscribers to other Execution Servers in the cluster), and thus would
not generate Sh traffic.
Subscriber Migration – When the Network Server is performing enterprise or service
provider migration, this results in SIP traffic on the Execution Server for users whose
profile is not cached. This can result in a burst of profile fetch operations that gradually
fade as the cache fills up. The HSS also starts to send profile modification notifications for
the profiles just cached. Subscriber migration can take place on an already operating
Execution Server (which can be in steady state) or on a freshly started Execution Server.
The System Engineering traffic model usually sets the SIP REGISTER interval to “60”
minutes, which means that a Sh traffic burst caused by subscriber migration should last for
one hour (that is, it is remotely influenced by the time at which the subscriber migration
has been performed, such as if it was at busy hour or during the night). Subscriber
migration is typically caused by an Execution Server node that has failed or through a
manual subscriber-host calculation performed by the Network Server.
12.2.2 Example
The following figures illustrate the Sh traffic on a given Execution Server that is initially in
steady state. The Execution Server is hosting 300K full business users and is performing
notification subscriptions and profile refreshes as well as processing profile modification
notifications from the HSS, with higher traffic during daytime.
On Day 2, at 10:00 A.M., 200K subscribers are migrated by the Network Server after a
failure of an Execution Server in the farm. This causes a peak of profile fetches due to
cache misses for newly migrated subscribers. The following smaller peaks are profile
refreshes for the newly hosted subscribers, which occur within 70 percent and 90 percent
of the subscription’s expiration, to converge eventually to a constant rate. Note that when
the Execution Server performs profile fetches triggered from SIP traffic (and cache miss),
there are two Subscribe-Notification-Requests (SNRs) sent. The first fetches the user’s
main identity and the second downloads the remainder of the profile. When performing a
profile refresh, the Subscriber Agent already knows the main identity; thus, only one SNR
is sent per profile refresh.
140
120
100
80
SNR txns/sec
60
PNR txns/sec
40
20
0
Day Day Day Day
1 2 3 4
In this example, the 200K subscriber migration causes a peak of ~120 SNRs/sec in the
hour following the migration due to registrations and call setup.
3000
2500
2000
1500
Outgoing traffic volume (kbytes/s)
500
0
Day 1
Day 2
Day 3
Day 4
12.3.1 Patterns
Initial build-out – This is the initial subscriber profile load for newly installed systems. This
is typically performed by the OSS, which logs in with administrator accounts.
Steady State – This is a mix of administrator traffic (user create/delete) and customer
service and self-care traffic (mostly service configuration modification). Provisioning clients
usually create logical sessions, and all traffic for a given session goes through the same
Profile Servers. The next session created by a given user is likely on another Profile
Server in the farm, thus generating a cache miss on about every session login. Moreover,
it is intended to set the profile cache size to prevent subscriber profile fetches for
provisioning commands that occur within small (few minutes) interval. Therefore, a profile
fetch can even take place within a session, which for self-care usage, is typically set to
“30” minutes. With this pattern, the cache miss is high (compared to an Execution Server
in steady state) but is not impacted much by Profile Server failure.
System engineering guides usually allow for 80 percent reads (which may or may not
trigger profile fetch on the HSS) and 20 percent writes (which trigger profile updates on the
HSS for one or more transparent data and resulting notifications). Reads usually involve a
full profile fetch, while writes cause a Profile Update Request of single Repository-Data
(most likely BW-Services or MM-Tel Services). Even if the Profile Server is registering for
modification notifications on the HSS, the rate of Push-Notification-Requests (PNRs) is
expected to be negligible as the Profile Server is usually the initiator of profile modifications
(the HSS is not notifying the entity having done the profile update).
12.3.2 Example
This example is for a Profile Server in steady state during business activity. It assumes
that the cache hit is on average 66 percent on reads. Note that careful tuning of the profile
cache may yield better results. For a system of 5 million users, the intention is that a single
Profile Server should be able to handle the entire load of 750 PTPS. This represents 600
reads and 150 writes per second and it translates to 200 profile fetches per second (66
percent cache hit) and 150 profile updates per second.
Thus, for a full business user, this represents 200 SNRs/sec and 150 Profile Update
Requests per second (PURs/sec). The corresponding outgoing traffic volume is ~3000
KBps on the outgoing side (from the Profile Server to the HSS, assuming an update to the
BW-Services document) and ~7500 KBps on the incoming side.
This section describes the overload protections for each Cisco BroadWorks node type.
[1] Cisco Systems, Inc. 2021. Cisco BroadWorks Platform Dimensioning Guide. Available
here.
[2] Cisco Systems, Inc. 2021. Cisco BroadWorks System Capacity Planner. Available
here.
[3] Cisco Systems, Inc. 2022. Cisco BroadWorks Virtualization Configuration Guide.
Available here.
[4] Cisco Systems, Inc. 2020. Cisco BroadWorks System Monitoring Quick Reference
Guide. Available here.
[5] Cisco Systems, Inc. 2022. Cisco BroadWorks Network Server Product Description.
Available here.