Whether new users or seasoned experts, customers using IBM Jazz products all want the same thing: They want to use the Jazz products without worrying that their deployment implementation will slow them down, that it will keep up with them as they add users and grow. A frequent question we hear, whether it’s from a new administrator setting up Collaborative Lifecycle Management (CLM) for the first time, or an experienced administrator tuning their Systems and Software Engineering (SSE) toolset, is “How many users will my environment support?”
Back when Rational Team Concert (RTC) was in its infancy we built a comprehensive performance test environment based on what we thought was a representative workload. It was in fact based upon the workload the RTC and Jazz teams itself used to develop the product. We published what we learned in our first Sizing Guide. Later sizing guides include: Collaborative Lifecycle Management 2011 Sizing Guide and Collaborative Lifecycle Management 2012 Sizing Report (Standard Topology E1). As features were added and the release grew, we started to hear about what folks were doing in the field. The Jazz products, RTC especially, are so flexible that customers were using them with wonderfully different workloads than we had anticipated.
Consequently, we stepped back from proclaiming a one-size fits all approach, and moved to presenting case studies and specific test reports about the user workload simulations and the loads we tested. We have published these reports on the jazz.net Deployment wiki at Performance datasheets. We have tried to make a distinction between performance reports and sizing guides. Performance reports document a specific test with defined hardware, datashape and workload, whereas sizing guides suggest patterns or categories of hardware, datashape and workload. Sizing reports are not specific and general descriptions of topologies and estimations of workloads they may support.
Throughout the many 4.0.x release cycles, we were still asked “How many users will my environment support?” Our reluctance to answer this apparently straightforward question frustrated customers new and old. Everyone thinks that as the Jazz experts we should know how to size our products. Finally, after some analysis and messing up countless whiteboards, we would like to present some sizing strategies and advice for the front-end applications in the Jazz platform: Rational Team Concert (RTC), Rational Requirements Composer (RRC)/Rational DOORS Next Generation (DNG) and Rational Quality Manager (RQM). These recommendations are based upon our product testing and analysis of customer deployments.
A sizing estimate is an approximation of the hardware or software resources required to support an application set that is either currently implemented or new. The level of effort and scope of sizing degree of variability can range from small to very significant. Sizing does not constitute a performance guarantee. Customer results may vary, and IBM assumes no liability for actual results that differ from any estimates provided by IBM.
The data in this sizing advice document comes from tests executed by the Rational Performance Engineering team and hardware and sizing models generated by IBM Global Techline, an internal pre-sales technical support organization. Further refinements of user patterns are derived from our analysis of many customer deployments. Specific references to the relevant data and test reports are cited below.
We have outlined recommended deployment topologies for the CLM and SSE products on the jazz.net Deployment wiki. Customers implementing the Rational solution for Collaborative Lifecycle Management (CLM) or the Rational solution for Systems and Software Engineering (SSE) often ask how they should deploy the tools so that they perform well, run robustly, and can evolve without restriction. To simplify the wide range of choices, the Standard Topologies article series outline several standard topologies which are the expected and most frequently chosen deployment patterns.
We suggest an ideal minimum of 4 logical processors and 8 GB RAM on a 64-bit machine. The absolute minimum is 4 GB of RAM on a 64-bit machine, but for an enterprise deployment we prefer to suggest the ideal minimum. Also see System Requirements for Collaborative Lifecycle Management 4.0.5 and 4.0.6 and System Requirements for Systems and Software Engineering 4.0.5 and 4.0.6.
You will notice that the published test reports utilize hardware (cores and RAM) which are sized generously. A well designed deployment will be able to handle peak loads and unexpected usage patterns. We customarily size environments so that they may be able to accommodate bursts of up to double the amount of expected normal load. However, we do not recommending presuming an environment can handle such extreme loads for more than 4% of their standard operational time.
The performance and behavior of a CLM or SSE deployment can be influenced by many factors or dimensions. These dimensions fall into two categories: application and product related (functional dimensions) and environment or topology related (non-functional dimensions). CLM and SSE’s flexibility and performance can be undermined by unintentional functional and non-functional design choices.
It is easy to design an ideal topology which presumes zero-second latency, unlimited bandwidth and ever-increasing storage capacity, but such capabilities are impossible in real deployments where there are known and possibly unexpected constraints and limits. It is important to be mindful of the gamut of possible constraints for the various dimensions of a CLM and SSE environment.
This table collects some of the factors which may influence performance. This table is by no means comprehensive. There may be other factors not listed here. A factor listed here may have different effect in different environments.
Dimension | Factors unique to every customer deployment which may influence performance |
---|---|
Product specific |
|
Network |
|
Storage |
|
Browser clients |
|
Desktop clients |
|
Build agents |
|
Application server |
|
Database server |
|
License server |
|
Authentication server |
|
Load balancer |
|
Business continuity |
|
Users |
|
Organizational Maturity |
|
When we talk about users, we generally talk about registered or licensed users and a subset of concurrent or active users. Registered users refer to the number of users who are licensed and permitted to use a system. A company of 1200 employees may have 800 registered users. Concurrent users are the number of users logged in and actually using the system at any given time. A company of 1200 employees may have 800 registered users, but only 200 are logged in and actively working at any given time. We call these 200 users concurrent and active regardless of the intensity of how they may be working.
The number of concurrent users can often be estimated from the number of registered users. In an organization located on one continent or spanning just a few time zones, the number of concurrent users can be estimated to be between 20% and 25% of the total number of registered users. In an organization which spans the globe where registered users work in many different time zones, the number of concurrent users can be estimated to be between 10% and 15% of the total number of registered users.
For now we discuss server load in terms of users. This can be potentially misleading as different organizations’ users will work differently. We plan to add more precise transaction-rate and workload-rate data to our reports and sizing estimates, but for now, we specify server load in terms of users.
Of all the Jazz products, Rational Team Concert (RTC) permits the widest variety of end-user and automated workflows. When estimating a RTC workload it is important to consider what percentage of the anticipated usage will come from work item users, SCM users and build agents or any combination of the three. Description of representative RTC workload we use in our sizing estimates can be found here.
Rational Team Concert (RTC) has three major workload types which can be used concurrently:
Our representative workloads combine these major workload types:
Given this representative base hardware (configured as hypervisor): |
Model | x3550 M4 |
Processor | Intel XEON processor E5-2670v2 | |
Processor speed | 2.5 Ghz | |
And given a virtual machine (VM) of this size: | Logical cores | 4 vCPUs |
RAM | 8 GB or more | |
We estimate that this workload will perform comfortably | Approximate range of concurrent work item users: Between 400 and 600 |
Given this representative base hardware (configured as hypervisor): |
Model | x3550 M4 |
Processor | Intel XEON processor E5-2670v2 | |
Processor speed | 2.5 Ghz | |
And given a virtual machine (VM) of this size: | Logical cores | 4 vCPUs |
RAM | 12 GB or more | |
We estimate that this workload will perform comfortably | Approximate range of concurrent work item users: Between 200 and 300 | |
Approximate range of concurrent SCM users: Between 100 and 200 |
Given this representative base hardware (configured as hypervisor): |
Model | x3550 M4 |
Processor | Intel XEON processor E5-2670v2 | |
Processor speed | 2.5 Ghz | |
And given a virtual machine (VM) of this size: | Logical cores | 8 vCPUs |
RAM | 16 GB or more | |
We estimate that this workload will perform comfortably | Approximate range of concurrent work item users: Between 200 and 300 | |
Approximate range of concurrent SCM users: Between 100 and 200 | ||
Approximate range of concurrent build agents (presuming all clients, servers and build agents are at same version level): Between 100 and 200 |
Description of representative RRC workload we use in our sizing estimates can be found here.
Given this representative base hardware (configured as hypervisor): |
Model | x3550 M4 |
Processor | Intel XEON processor E5-2670v2 | |
Processor speed | 2.5 Ghz | |
And given a virtual machine (VM) of this size: | Logical cores | 4 vCPUs |
RAM | 8 GB or more | |
We estimate that this workload will perform comfortably | Approximate range of concurrent RRC/RDNG users: Between 300 and 400 |
Description of representative RQM workload we use in our sizing estimates can be found here.
Given this representative base hardware (configured as hypervisor): |
Model | x3550 M4 |
Processor | Intel XEON processor E5-2670v2 | |
Processor speed | 2.5 Ghz | |
And given a virtual machine (VM) of this size: | Logical cores | 4 vCPUs |
RAM | 8 GB or more | |
We estimate that this workload will perform comfortably | Approximate range of concurrent RQM users: Between 350 and 500 |
Given this representative base hardware (configured as hypervisor): |
Model | x3690 X5 |
Processor | Intel XEON processor E7-2830 | |
Processor speed | 2.13 Ghz | |
Ideal Minimum Generic Evaluation Topology: | Logical cores | 8 vCPUs |
RAM | 16 GB or more | |
Ideal Minimum Departmental Topology: | Logical cores | 24 vCPUs |
RAM | 96 GB or more | |
Ideal Minimum Enterprise Topology: | Logical cores | 32 vCPUs |
RAM | 256 GB or more |
A sizing estimate attempts to forecast the number of users which a prescribed hardware configuration may comfortably support with a maximum response time at a defined interaction rate and a typical datashape. A sizing document is often created before a product is deployed in order to estimate the anticipated hardware needs for a deployment. Sometimes the sizing document’s most immediate goal is to specify hardware for allocation or procurement. Very often the sizing document specifies a maximum or largest anticipated target number of users simply so that the corresponding hardware allocation will not be exceeded and the anticipated hardware is requested only once.
Every CLM sizing document is an estimate: The CLM products are flexible and can be deployed to meet customers’ needs; customer hardware and deployment environments are unique for each customer; customer workload and habits will be unique and can be expected to vary across the products’ deployment lifetime.
A sizing estimate represents the best-guess assessment at a given point in time. As an environment is uses and grows, it is natural that assumptions made to support the sizing estimate may change. After deploying the environment we strongly recommend monitoring the environment and re-evaluating the assumptions and conclusions made during the planning phase as part of a deployment’s maintenance strategy. It is typical that an environment will grow and mature differently than the sizing estimate may anticipate. A standard maintenance and monitoring plan should include revisiting the sizing estimate and appropriately adjusting and tuning your deployment at key milestones, if not at a yearly minimum.
IBM System x3550 M4, http://www-03.ibm.com/systems/x/hardware/rack/x3550m4/
Standard deployment topologies overview , Steven Beard, Grant Covell, Tim Feeney, David Chadwick, Vaughn Rokosz: https://jazz.net/wiki/bin/view/Deployment/StandardTopologiesOverview
Performance impact of sharing a Jazz Team Server, Joseph Stellrecht, Vaughn Rokosz; July 24, 2013: https://jazz.net/wiki/bin/view/Deployment/PerformanceImpactOfSharingAJazzTeamServer
Collaborative Lifecycle Management 2012 Sizing Report (Standard Topology E1), Vaughn Rokosz, Skye Bischoff, David Chadwick, and Tim Feeney; June 13, 2012: https://jazz.net/library/article/814/
Collaborative Lifecycle Management 2011 Sizing Guide, David Chadwick, Tim Feeney, Philippe Mulet, Anuradha Ramamoorthy, and Skye Bischoff; June 24, 2011: https://jazz.net/library/article/641
Rational Team Concert (RTC) 2.0 sizing guide, Paul W. Weiss, Scott Rich, Jean-Michel Lemieux; June 24, 2009: https://jazz.net/library/content/articles/rtc/2.0/enterprise-configuration/sizing-guide/index.html
System Requirements for Collaborative Lifecycle Management 4.0.5 and 4.0.6, Deborah Weil-O'Day: https://jazz.net/wiki/bin/view/Deployment/CLMSystemRequirements405406
System Requirements for Systems and Software Engineering 4.0.5 and 4.0.6, Cindy McKeen: https://jazz.net/wiki/bin/view/Deployment/SSESystemRequirements405
Warning: Can't find topic Deployment.CLMSizingStrategyComments
Status icon key: