Optimizing PMF Performance

In this section:

The PMF data mart and application are pre-tuned for optimal reporting and update performance, so further tuning of the application itself is not of concern for our customers. On the application side, every process entering and extracting data from the data mart has been already optimized to take advantage of enhancements possible in database construction, SQL performance with WebFOCUS, and optimal use of resources from your environment.


In looking at performance you must look at the entire chain of connected processes that are involved when running PMF. The factors that can affect performance of the PMF application are listed below, from back-end to front-end:

  1. RDBMS configuration.
  2. WebFOCUS Application Server configuration.
  3. WebFOCUS Client configuration.
  4. Web server configuration.
  5. Network, Web access, and connectivity speed.
  6. Web speed.
  7. Browser version and configuration.
  8. Other processes running on the actual PC that is running the browser.

RDBMS Configuration

In this section:

In some cases, customers may notice suboptimal performance doing RDBMS query in PMF. These are most likely due to the demand placed by other applications on the machine. This can occur when a customer configures the PMF data mart in a busy application environment with other reporting applications and other transactional applications in the same RDBMS context.

To diagnose this issue, examine the configuration of your RDBMS server machine and determine if enough resources are allocated for the RDBMS to run at optimal speed. In some cases, an RDBMS server might be running on a multi-use machine that also runs other applications besides the RDBMS. Your RDBMS server might be sharing a machine with RDBMS or other application servers used by other parts of your organization.

Other things that should be considered are:

To test for optimization as you tune, perform queries of PMF data using SQL direct against the RDBMS server, using RDBMS tools. Also, perform queries of other data on the server. There are utilities included with PMF to simplify this testing for Oracle. They are located in C:\ibi\apps\pmfdbms\db_utils. Make sure to test this in isolation, outside of the WebFOCUS environment or PMF application.

The best practice for this configuration is a number of customers using PMF have a database exclusively configured for use with PMF, since this type of environment permits faster performance.

Diagnosing RDBMS

Review the following performance settings to diagnose application performance:

  • DB version.
  • Processor cores.
  • Available memory.

Note: PMF asks the RDBMS to perform the summarization of your metrics, since transferring many millions of rows of metric data over to WebFOCUS for summarization would cause very slow performance. The SQL issued from PMF is optimized to request summaries from the RDBMS on the dimensional intersections used for the metrics.

You can check the timings for your RDBMS query by running a PMF report, or looking at the View Source in your browser, and reviewing the traces as shown below the final </html> tag.

To help determine if the RDBMS should be optimized, look for the following line:

-* ++++++++++++++++++++++++++++++++++++++++ Run time for Step(s) Extract Normal Measure Data: nn.nnn seconds

If nn.nnn is more than 3 seconds, the RDBMS should be optimized.

Note that if you set Application Tracing to ON in the PMF Settings section in the Manage tab, you will see a very detailed trace of RDBMS queries from PMF.

Optimizing RDBMS

We recommend you:

  • Use a 64-bit version of the RDBMS and OS on the RDBMS machine.
  • Maximize the available memory on the box to permit in-memory processing of the core tables. Use the base row space calculation to determine the amount of memory needed. You can find this calculation in Estimating PMF Database Size.
  • Check for long-running jobs running during hours when high performance is expected. Consider scheduling long-running jobs for non-peak hours.
  • Use Materialized Views (Oracle or DB2) or Indexed Views (SQL Server), which provide a 10x improvement in response time for queries. These will require some planning to implement, as they must be optimized for common access. They also require processing, as they must be dropped before any changes to PMF Dimension structure are made and then rebuilt.

WebFOCUS Application Server Configuration

In this section:

Customers that install PMF into a WebFOCUS configuration with other WebFOCUS high-demand reporting and multiple transactional applications might find that these other applications can place a stress on PMF that causes less than optimal performance. PMF Dashboards typically use multiple server agents at run time.

Some best practices for this configuration are:

Diagnosing Reporting Server Performance

Review the following performance settings to diagnose application performance:

  • WebFOCUS version.
  • Processor cores.
  • Available memory.
  • Number of pre-started agents.
  • Max agents.
  • Is the tracing turned on?

Optimizing the Reporting Server

We recommend you:

  • Use a 64-bit version of both the WebFOCUS Reporting Server and the underlying OS on the WebFOCUS Server machine, if possible.
  • Maximize the available memory on the box. Use the following average per-agent server load calculation to determine how much memory you will need.

    For prestarted agents, use the following calculation:

    total users * total estimated concurrency factor * total expected simultaneous demand * 8

    This determines the number of pre-started agents that you will need to support PMF concurrency with limited latency,

  • Maximize available and ready agents to the maximum available processor and memory that it can handle.

    To calculate the real memory needed for agents, assume that an average memory footprint is 7MB/agent. The calculation would be pre-started agent count x 7MB. For example, if the max total users is 300, the concurrency factor is 50%, and the demand factor is 10%, you get (300 * 0.5 * 0.1) or 7.5. Multiply this by 8 agents and get 60. 60 * 7MB = 420MB of memory to support agents.

  • Make sure that the maximum limit for the maximum allowed agents is identical with the number allowed by your license. If it is unlimited, use 50% above the minimum concurrency requirements.
  • Ensure that WebFOCUS Server and Client tracing are disabled.
  • If WebFOCUS is being used heavily for other purposes on the same box, such as running batch jobs, consider the following:
    • Scheduling long-running jobs for non-peak hours.
    • Moving any high-demand batch or non-real time jobs to another machine.
    • Configuring PMF with a dedicated running service and maximize the number of ready agents for this service. You can also increase the priority of PMF and other real-time application and decrease the priority of the batch jobs and any other job that may be running.

WebFOCUS Client and Web Server Configuration

In this section:

WebFOCUS Client Configuration

Some best practices for this configuration are:

Web Server Configuration

If your web server has been configured in a multi-server load-balanced environment, allowing shared disk space between those multiple servers to enable all clients to receive web-server resident resources (such as pre-run charts or cached data), make sure the access to the shared network folder is as fast as possible, and that the shared folder is resident on the fastest-responding machine possible.

Diagnosing the Web Server Box

Review the following performance settings to diagnose application performance:

  • Processor cores and available memory.
  • Web server. Version, configuration.
  • Is it running HTTPS or HTTP?
  • Is HTTP compression turned on?
  • App server (usually Tomcat). Configured heap size. Is tracing turned on?

Optimizing the Web Server/App Server Machine and the WebFOCUS Client

We recommend you:

  • Use a 64-bit version of the OS on the WebFOCUS Server machine.
  • Maximize the available memory on the box.
  • Enable HTTP Compression for the following document MIME types: HTML, HTM, XML, SVG, and JS.
  • Increase available Java Heap size to the maximum that is possible for allocated memory on the box, Java Heap size alone can make a huge difference for Web App Server performance. For a 32-bit OS, the maximum is 1.5GB. For a 64-bit OS, you can double the maximum to 3GB.

Network, Web Access, and Connectivity Speed

In this section:

Slow network connections between your RDBMS server and your RDBMS Client (which feeds data over the adapter to the WebFOCUS Reporting Server), or slow network connections between your WebFOCUS Reporting Server and your WebFOCUS Client machine (which enables transmission of data to and from your web server) can adversely affect performance. It is best to ensure that you keep the fastest network connection between these machines, as the connections make up the heart of your PMF and WebFOCUS environment.

Diagnosing the Network and Browser

Review the following performance settings to diagnose application performance:

Network. What is the speed of pipes between each choke point? Are there are special items to take note of? For example, are you logging on through a security bridge or a switch that might be slowing down traffic? How is the user conducting the test accessing the application? Are they using a T1 line, 10baseT, 100baseT, gigabit, or wifi B/G/N?

Browser. What is the browser type and version? Is the site configured to the browser as a local Intranet? Is caching turned on? Is Flex caching turned on if Flex is being tested?

Optimizing Browsers

We recommend you:

  • Use a recent browser release. IE10 performs much faster than older versions, and allows up to 10 simultaneous HTTP threads to run on an Intranet configured application. Note that IE6, IE7, and IE8 are no longer supported by Microsoft, and is not recommended for use.
  • In IE, configuring caching to Automatic permits as many files as possible to be cached. You can configure caching across your site by using a Policy. If you are running an Internet version of PMF, advise your users to turn on the browser caching feature.
  • Turn on Flex caching. A number of PMF Gadgets use Adobe Flex (Flash) technology, and they are clearly marked in the Gadget catalog. If any of the Dashboards you use have Adobe Flex compounds, your users must activate and expanding their Adobe Flash caching. For more information, see the Adobe website.

Web Speed Capabilities

In this section:

PMF has the capability to run faster over slower Internet connections using:

Ensuring Web Speed

PMF is a complex application with many dependencies on your RDBMS, WebFOCUS Server, WebFOCUS Client, web server, and browser. For optimal performance, and to operate PMF at full speed capacity, you need to tune your environment so it performs optimally. This is especially important if you are running the application on the Internet or in the cloud.

It is not possible for any application to speed up your network, optimize the standard web servers of your company, or increase the processing capacity of your provisioned server hardware.

Diagnosing Application Performance

Application performance is never automatic. It must be designed into the application and then enforced in the environment. Depending on the performance and response time expected, optimizing application performance might require you to review every possible choke point.

The first thing that must be determined is what is the expected performance of the application in seconds. Once you know the expected speed, you should review the entire setup of the environment in order to explore all of the possible performance choke points.

Getting Optimal Application Speed

The following is a set of guidelines to maximize the response capability of your WebFOCUS environment in order to allow optimum performance of any real-time applications, including PMF.

Disabling Minification

If you need to disable minification for any reason, you can find the setting to enable or disable minification by going to the Manage tab, selecting Settings and then System. Setting Run Minimized to OFF will disable minification. The default is on and should be left ON for the best web performance.

Changing AJAX Timeout

If you system is not optimized for performance, your PMF Dashboards or other operational parts of the application might run more slowly than expected. If this situation occurs, you may see a semaphore timeout message from PMF, which indicates that AJAX processes have taken longer than expected.

You can extend the amount of time PMF waits for AJAX processes to complete by changing the AJAX Timeout setting. In the Manage tab, select Settings and then System. Set the number of seconds PMF should wait for AJAX processes to complete and return in the Ajax Timeout field. 30 seconds is the default.

Browser Version and Configuration

The browser version you use can cause slow down performance and speed tests conducted on more recent browsers show performance increase. For example, JavaScript and HTML rendering speed differences between MS Internet Explorer 6 and MS Internet Explorer 10 reveal a speed increase by a factor of 50.

Another aspect to take into consideration is browser configuration. If PMF is loading very slowly after a fast display of the portal, make sure the website from which you are accessing PMF has been configured in Internet Explorer as an intranet site. The security status of the current site can typically be seen on the Internet Explorer status bar.

If the Internet Explorer status bar says the PMF Website is Internet, then the PMF JavaScript components are being examined by Internet Explorer every time you access the site, which considerably slows down PMF runtime.

If you certify the site in your browser as Local Intranet, you will skip the extra examination steps and PMF will run considerably faster. Since the PMF server is already an intranet site by definition, this action simply confirms this.

As of MS Internet Explorer 8, and with all previous versions, you certify this by clicking Tools, selecting Internet Options, and then clicking the Security tab. Then, click Local Intranet Site or Trusted Site, click Sites and then Advanced. Make sure the web server root of your site is listed there. If it is not, add it.

If the procedure above does not match your version of Internet Explorer, consult the Internet Explorer Help for more information.

Note: If you have a lot of PMF users at your site, you can configure a Site Policy to mass-configure this for all your users. For more information on how to set up a Site Policy, please consult your Microsoft Windows administration documentation.

Browser Support

Microsoft Internet Explorer

PMF Release 8.1.1 supports MS Internet Explorer 10 and 11 only. Internet Explorer 6, 7, 8, 9, and earlier are not supported. PMF end users using Internet Explorer 8 or 9 need the latest Adobe SVG plug-in for PMF to run correctly.

Note: Although Internet Explorer 9 and higher have native SVG and HTML5 support, these capabilities are not available if PMF is running within WebFOCUS BID or WebFOCUS 8 Portal and the Adobe SVG plug-in must be installed. If you upgraded from Internet Explorer 8 and you previously had the plug-in installed, you must reinstall it.

Mozilla Firefox, Google Chrome, and Apple Safari

Pmf Release 8.1.1 supports full operation in Mozilla Firefox, Google Chrome, and Apple Safari browsers on Mac or iOS only. No SVG plug-in is required for these browsers, and it is recommended that you run the latest versions of each browser.

General Browser Note

The latest version of Adobe Flash must be installed so that PMF’s Adobe Flex Gadgets work correctly.

PC Running the Browser

If the PC running the browser has a lot of resident applications and not enough memory to run them, browser performance can be adversely affected. Make sure your machine is configured with enough real memory to enable fast performance.

Also, ensure that any anti-virus software is not checking needed browser application components at run time. Certain anti-virus applications can be configured to examine JavaScript resources and other components indiscriminately.

Information Builders