EclipseLink/UserGuide/JPA/Advanced JPA Development/Performance
For current information, please see "Enhancing Performance" in the EclipseLink Solutions Guide: http://www.eclipse.org/eclipselink/documentation/latest/solutions/toc.htm
|Mailing List • Forums • IRC • mattermost|
|Open • Help Wanted • Bug Day|
EclipseLink provides a diverse set of features to measure and optimize application performance. You can enable or disable most features in the descriptors or session, making any resulting performance gains global.
Introduction to Optimization
Performance considerations are present at every step of the development cycle. Although this implies an awareness of performance issues in your design and implementation, it does not mean that you should expect to achieve the best possible performance in your first pass.
For example, if optimization complicates the design, leave it until the final development phase. You should still plan for these optimizations from your first iteration, to make them easier to integrate later.
The most important concept associated with tuning your EclipseLink application is the idea of an iterative approach. The most effective way to tune your application is to do the following:
- Measure EclipseLink Performance with the EclipseLink Profiler.
- Identify sources of application performance problems and modify application components;
- Measure performance again.
To identify the changes that improve your application performance, modify only one or two components at a time. You should also tune your application in a nonproduction environment before you deploy the application.
Identifying Sources of Application Performance Problems
For various parts of an EclipseLink-enabled application, this section describes the performance problems most commonly encountered and provides suggestions for improving performance. Areas of the application where performance problems could occur include the following:
- Identifying General Performance Optimization
- Mappings and Descriptors
- Data Access
- Unit of Work
- Application Server and Database Optimization