Performance Tweak
The openIMIS community continuously strives to enhance the performance and efficiency of the system. While openIMIS is a powerful and flexible solution for health insurance management, various performance bottlenecks can arise due to system configurations, database queries, or infrastructure limitations.
This section of the wiki aims to share key performance tweaks and custom optimizations that have been tested and implemented by the community. These recommendations will help improve system responsiveness, optimize database performance, and enhance overall user experience.
Whether you are managing a large-scale deployment or working with resource-constrained environments, these insights will assist you in fine-tuning your openIMIS instance for better scalability and stability.
Splitting Infrastructure for Reporting and Data Management
In large-scale openIMIS deployments, database performance can become a critical bottleneck, especially when handling complex reports that require extensive calculations. These reports may take several minutes to generate, putting significant stress on the database and impacting the overall system responsiveness.
To mitigate this issue, some openIMIS instances have adopted a split infrastructure approach, where the system is divided into:
Data Management Instance – This instance is responsible for handling all transactional operations, including policy management, claims processing, user interactions, and data entry.
Reporting Instance – This instance is optimized for running reports and analytics, preventing reporting queries from interfering with the performance of real-time operations.
How It Works
Database Replication: The primary database (used by the data management instance) is replicated to a secondary database, which is dedicated to the reporting instance.
Load Distribution: The reporting instance queries the replicated database instead of the primary database, reducing the impact of long-running queries on real-time transactions.
Improved Performance: This approach ensures that heavy reporting queries do not slow down critical system operations such as claim approvals and beneficiary management.
Benefits of Splitting the Infrastructure
✅ Reduces database read stress – Reporting queries do not interfere with day-to-day transactions.
✅ Enhances user experience – The main application remains responsive while reports are generated in the background.
✅ Improves scalability – The system can handle larger datasets without significant slowdowns.
✅ Ensures data consistency – With proper database replication strategies, reporting remains accurate while avoiding performance bottlenecks.
Manage lots of threads on SQL Server
Refresh Token Request Management
Mutation Logs History
Did you encounter a problem or do you have a suggestion?
Please contact our Service Desk
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/