RMsis Performance : known issues and suggested solutions
There have been few cases, where customers have run into performance problems with RMsis. This small guide should be able to give some pointers to possible solutions.
In this section, we will share known issues related to RMsis performance, including a few, which were shared by some of our customers.
Generic Issues applicable to all versions
Issue : System is low on memory
Continuous swapping of memory / Thrashing can lead to performance issues with JVM. Symptoms are
- Close to 100% memory is being utilized
- CPU running at 100% utilization
- High amount of disk I/O being reported by the system
Resolution
The following can be considered for improvement in system performance.
- Using a system with larger memory
- OR reducing the number of processes on the server
- If there are memory leaks in any application, a system reboot can help.
Unusual cases reported
- Rackspace 2 GB instance : The system was running JIRA + RMsis and worked well for couple of days, but then slowed down to an unacceptable level. Switching over to a 4GB instance resolved the problem.
- Windows server : The RMsis application slowed down considerably, even though the system had adequate memory. Since the machine was heavily loaded, customer suspected issue related to memory fragmentation and decided to reboot the machine. This solved the problem, but the exact cause was never confirmed.
RMsis 1.7.x and older versions
Issue : Slow response due to Browser performance
The current version of RMsis tries to load all available data on the browser, but the Browsers can typically render only about 1000 to 1500 requirements at any one point of time (Depending upon browser / client machine hardware configuration).
This would impact display of large tables which do not support pagination, like Planned Requirements and Traceability.
Resolution
Currently the only way to handle a larger requirement set is to
- either develop a hierarchy of requirements and view it selectively
- OR use the filters in column headers to reduce the number of requirements displayed at any one point of time.
A fix for this problem will be introduced later, where we will fetch and display only a partial data set on the browser.
Issue : Slow response due to Server side performance
The server side implementation has performance bottlenecks, when loading a Hierarchy of requirements OR performing complex operations like cyclic dependency checks.
The performance bottleneck becomes apparent, when doing bulk operations with large data (like indenting 1000 requirements).
Resolution
This requires an architectural fix and expect a solution to be available with RMsis 2.0.