Fine Tunning Elixir Server
The time taken for report generation depends on various factors such as
the report complexity, type of datasource, generation format and
hardware configuration as well as the network traffic.
In another word, the response time of the report generation will be longer
if the network traffic is high. Also, the very first report generation will
take considerably longer time than the subsequent as this time utilize for
initializing the
ReportRuntime? object and to warm up the JVM hotspot engine.
For your information, below are some of the areas that you can work on
to optimize the report response time:-
- Java Virtual Machine
- Check with your JVM Vendor for the options that are available for
optimizing the performance.
For example, SUN JDK provide a "-server" option to improve
the
performance of the HotSpot? and java.awt.headless to reduce the heap
size required for the JVM.
- Ensure the right JVM is being used for the hardware platform. For
example, if your hardware platform is of 64 bits you will have to
use a 64 bit JVM.
- Optimizing of SQL statement
- To optimize the query performance in your database while generating
the reports, instead of using the complex SQL statements or joins
on the client side. You can make use of the server side (database
server) to manage these complexities to maximum the performance.
Stored procedure is one of the few methods that can be used, Elixir
Report allows you to pass stored procedure with parameter to the
database server and receive a return result.
For more information, please refer to the User Manual that is
shipped together with the product.
- Tune your SQL Statement
- Instead of using "Select * from Table", you should only select
the
column that are required for the report.
- Derivate the simple calculation field in the database level
instead
of report level.
- Sorting and grouping is a resource-intensive process especially
for large recordset.
To improve the response time for the report
generation, instead
of doing the sorting and grouping in the report template level.
You should try to sort the data in your database level and
select "Already Sorted"while creating the grouping in the
report template.
- Optimizing of Report Template
- Avoid writing long length business logic in template level
- For image, you should always try to store the local file system instead of loading the image through the network
- Reduce the size of the image to be the actual size that is required
for display in the report, instead of reading a large image.
--
TanDunlin - 27 Apr 2006