Performance Tuning Guide
General Performance Tuning Guidelines
Application performance is affected by many factors. This chapter discusses a few of the initial aspects that can affect performance and provides links to documentation resources that can assist you.
Understanding Performance Tuning and BEA WebLogic Portal
Performance tuning is a process which spans development, testing and deployment. During all phases, performance should be monitored and appropriate adjustments made.
Tips for Load Testing WebLogic Portal
BEA recommends that you establish an environment where you can load test the installation for the following reasons:
- Testing your prototype under load will help you validate design decisions early in the development cycle that may significantly alter the performance of your application.
- Any configuration change can dramatically affect application performance (hardware, database, clustering environment, application tuning parameters, and so on). Load testing your application whenever design changes are made provides a way to narrow down performance problems to a particular area.
- Testing early and often increases the likelihood that your site implementation will be successful and scalable.
The recommended approach for load testing is to start with the simplest aspect of the installation and then move into areas of increased complexity. If you observe slow behavior in any portion of this testing process, you should begin a more thorough investigation into its causes.
General Architecture
First, perform the following steps to identify performance issues with your network, database, or other software that is independent of WebLogic Portal.
- Test your network for sufficient bandwidth, and check that the TCP/IP parameters on the server's operating system can sufficiently handle the application load you expect. It is possible that the network is the slowest aspect of your deployment.
- Test your Web server, ensuring that it has sufficient capacity to serve static HTML pages when many concurrent threads are running.
- Test your servlet engine by running a load test against a trivial servlet such as a HelloWorld servlet. If this simple servlet does not perform and scale horizontally (meaning that as you add Java Virtual Machines, performance increases accordingly), the performance problems you encounter may be related to an infrastructure or resource issue.
WebLogic Portal
Now, perform the following steps to identify performance issues with WebLogic Portal:
- Verify that your BEA WebLogic Server database configuration is optimal. WebLogic Portal makes extensive use of the database. Check that your connection pool is large enough, and verify that your database handles connection failures in an efficient manner. For example, you may want to increase the number of connections at start up, increase the wait time before requesting new connections, determine whether your pool can shrink, and so on.
- Verify that each portlet is optimized for speed as follows:
- Avoid using forms in a portlet that update the data within the portlet. This causes the entire portal to refresh its data, which can be very time consuming.
- Place items that require heavy processing in an edit page or a maximized URL. If you do not, the portal must wait for the portlet to process, and this considerably slows down the eventual rendering of the portal.
- Avoid large amounts of data retrieval that can take significant time to process.
- Test your application's components, starting from the data access layer. Then proceed toward the GUI one step at a time. Pay attention to performance and scalability differences at each component and between each layer of your application. Finally, do end-to-end testing from a browser-based load-testing tool using a proxy server,
- Test the behavior and performance of your application under simulated, real-world conditions. (Many tools are available to help you do this.) Be sure to use both anonymous and logged-in users simultaneously.
Tuning Your WebLogic Server
Because WebLogic Portal runs on WebLogic Server, it is expected that factors impacting the performance of WebLogic Server will also impact the performance of WebLogic Portal.
For more information about tuning WebLogic Server, see http://download.oracle.com/docs/cd/E13222_01/wls/docs81/perform/index.html
Tuning Your Database
Keeping your database tuned is an important part of using WebLogic Portal. Portal uses the database to store content, rules, portal framework customizations, and user profile data.
See your vendor database documentation on how best to tune your database for your needs and production environment.
For more information about database tuning for WebLogic Portal see, the WebLogic Portal Database Administration Guide.
Upgrading to Latest Service Packs
Service packs almost always include improvements to some area of performance. Service packs are available individually for download to Contract Support Customers. Go to the http://support.bea.com to login to eSupport. Navigate to Product Download and Service packs in the left navigation bar. Choose the product of interest and follow links to the version and service pack you are interested in.
In addition to WebLogic Portal service packs, you should also check available improvements with WebLogic Server. For example, the WebLogic Server proxy plug-in for SP4 contains several performance improvements. For more information about proxy plug-ins, see Using Web Server Plug-ins with WebLogic Server.
The following table lists the available services packs for WebLogic Portal 8.1 and the performance improvements found in each.
Table 1-1 WebLogic Portal Service Pack Information
WebLogic Portal 8.1 SP2
|
|
WebLogic Portal 8.1 SP3
|
|
WebLogic Portal 8.1 SP4
|
|
Other Resources
Remember that WebLogic Portal uses many components from WebLogic Platform. See the following documentation for more information about tuning WebLogic Portal.