I. Why performance optimization
Do you encounter a long loading time when accessing a report? Or frequent access to large amount of data report takes up too much server memory and leads to memory overflow? Or too many users concurrent access when the server is under too much pressure, resulting in server crash?
Do you have such a feeling that after visiting a complex report for a few minutes, you visit the same report again, only to find that you have to wait for the same time to see the result, which is too inhuman!
Are you annoyed by frequent request timeouts?
If you encounter the above situations, it shows that your reporting system needs to optimize its performance. Take action quickly to make your reporting system run faster and more smoothly!
If the row-based engine in the user's scenario can't support it, you can try the new computing engine plug-in. The plug-in realizes the paginating query function in the case of multiple data sources. Users don't need to write complex SQL or JS buttons, so that the report can quickly complete the loading of the home page.
Note: the plug-in supports Oracle, SQL server, mysql, Hana, PostgreSQL, impala, DB2 and most of the mainstream JDBC data sources.
II. Factors affecting performance
How do the above performance defects come into being? Generally, there are performance problems in the following aspects:
1. Report access
Generally speaking, the more complex the report is, the more background database basic tables are involved. In addition to the simple tabular report, which needs to display a large amount of data in the report, most of the reports are filtered and calculated from hundreds of thousands or millions of source data, and return dozens or hundreds of data results. If the data retrieval method is not appropriate, the data retrieval time will be too long, which will affect the performance.
2. Report making
The built-in functions such as field association, highlight, data dictionary and formula calculation are often used in report making. If these functions are used incorrectly or there are redundant settings in the report, the calculation time will be increased because of these unnecessary settings, which will affect the performance.
3. server performance
Finereport, as a pure java software, can be seamlessly integrated with J2EE applications. The report integrated into the server will inherit the resources of the server. Server virtual memory, connection pool settings and so on often lead to many performance problems.
III. How does the optimization performance?
According to the factors that affect the performance, finereport has different optimization schemes. Such as SQL optimization, using stored procedures to optimize the data retrieval process; reducing redundant cells and unnecessary settings to speed up the report calculation time; using concurrent settings, cache settings, clustering to improve server performance, etc.
In short, finereport performance optimization mainly includes two aspects: first, report performance optimization; second, server performance optimization. Specific optimization methods will be introduced in detail in the following chapter.
IV. Who needs performance optimization
This part of the document is suitable for report designers who have a preliminary grasp of report design and need to further optimize the performance of the report; or deployment engineers who need to optimize the server in the process of deploying to the server after the report development.
V. Index
Type | Reference | Main performance optimization scenarios |
---|---|---|
Performance optimization plug-in | Performance optimization plug-in |
|
New computing engine plug-in | New computing engine plug-in |
|