Last Updated: | Applicable Hub Versions: All
One of the benefits of Planview Hub is that it was designed with scalability in mind. Its architecture and core paradigms enable customers to flow a large number of artifacts between tools — spanning many different repositories, projects, and artifact types.
When considering scale within Planview Hub, there are two main factors to consider: throughput and manageability.
In this section, we will only cover scalability as it relates to throughput. To learn more about manageability, please refer to our User Guide.
Throughput can be impacted by the following factors, for large-scale integration scenarios:
The sections below outline recommended practices in order to improve throughput.
Note: Best practices can diverge depending on each specific use case. As such, please view the guidelines below as a set of general rules, which may be altered depending on your unique scenario. We recommend reaching out to the customer care team with any questions regarding your organization's specific use cases.
For best results, Planview Hub should be deployed in an environment that has good network throughput and low latency to all repositories and databases involved in an integration.
Please see our Hardware Sizing Recommendations for Deployment Scenarios in our Installation Primer to review our recommendations for scenarios of various sizes.
Planview has worked hard to optimize throughput of artifacts in customer integrations, using two core strategies:
While Hub has built in behind-the-scenes optimization, there are some key configuration updates customers can make if noticing slower performance.
The Concurrency Limit is set at the Repository level, and it limits how much work Hub can do in parallel in that repository. It does this by limiting the number of concurrent tasks where the connection is used. We recommend leaving this field blank/set to the default (having no specified limit), though if you notice that Hub is placing too high a load on a specific repository, you can modify this setting. If setting a value is needed, we recommend starting with a value between 3-10 and engaging with support to determine an appropriate value for your specific environment.
The ideal Concurrency Limit is highly dependent on each customer's unique environment. Determining the appropriate value is best achieved through experimentation, using feedback from performance monitoring to tune the value, and making adjustments as necessary. Setting the value too low when there is a large number of projects configured in your collections and a low Change Detection Polling Interval setting can potentially cause Hub to be unable to process artifact changes.
Here is a potential recommended workflow:
You can learn more about the repository-based Concurrency Limit here.
The Integration Maximum Concurrency limit, on the other hand, is specified on the Settings screen. Though the word 'concurrency' is used in both, they are measuring different things. Thus, the Integration Maximum Concurrency limit cannot override the Repository Concurrency Limit (or vice versa). The Integration Maximum Concurrency limits how many activities Hub can process at once for each integration. Activities are shown on the Activity screen. This limit defaults to 10, and we recommend that users do not change it, unless they are working directly with Support.
You can learn more about the Integration Maximum Concurrency limit here.
The Polling Interval refers to how frequently Hub will check for, and then flow, updates in each repository.
There are two intervals specified:
The recommended polling interval varies based on the repositories being integrated and on your organizational practices. If you are flowing artifacts with a high frequency of change, the default 1 minute interval may serve your needs. However, if you are flowing artifacts with less frequent updates (such as requirements), a longer interval may be preferred. Note that the polling interval assigned applies to all integrations in your Hub instance.
Above, we have outlined several ways to configure Hub to ensure that throughput is maximized. Additionally, there are some practices at the repository level and at the server level, that will also facilitate improved throughput.
Though we recommend making use of Hub's built-in filtering capabilities as a first step, if you are experiencing performance issues, a repository query may help mitigate those issues. By creating a saved query in your repository that is accessible to Hub via an API, the burden is placed on the repository, rather than on Hub. This alleviates some of the work from Hub, and improves throughput. You can learn more about filtering and repository queries here.