5Scaling Your Deployment

This chapter describes how to manage the capacity of your deployment. By default, the Oracle Business Intelligence components are installed in a cluster configuration and are scalable. User Web requests can be directed to one of many Oracle BI Presentation Services components. In turn, each Presentation Services component can take advantage of the availability of multiple Oracle BI Servers.

You can expand or reduce the capacity of the system by adjusting the number of processes available to the cluster. Increasing or decreasing the capacity of a system by making effective use of resources is known as scalability. A scalable system can handle increasing numbers of requests without adversely affecting response time and throughput.

5.1 About Scaling Oracle Business Intelligence

Scaling is the process of increasing or decreasing the capacity of the system by changing the number of processes available to service requests from Oracle Business Intelligence clients. Scaling out a system provides additional capacity, while scaling in a system reduces capacity. Scaling is also a critical part of configuring a deployment for high availability.

Scaling the Oracle Business Intelligence environment applies principally to resource-intensive system processes and Java components. When you deploy more processes, Oracle Business Intelligence can handle more requests while staying responsive to requests.

Vertical scaling involves adding more Oracle Business Intelligence components to the same computer, to make increased use of the hardware resources on that computer. For example, Oracle Business Intelligence can be vertically scaled by increasing the number of system components servicing requests on a given computer and results in increased use of the hardware resources on a given computer.

Horizontal scaling involves adding more computers to the environment. For example, Oracle Business Intelligence is horizontally scaled by distributing the processing of requests across multiple computers.

The three system components that support both horizontal and vertical scale-out are Oracle BI Presentation Services, the Oracle BI Server, and the JavaHost.

Oracle BI Scheduler uses Presentation Services and Oracle BI Server processes to perform computationally intense work on its behalf, while the Cluster Controller only manages other components and does not itself do any computationally intense work. Because of this, there is no need to scale out either Oracle BI Scheduler or the Cluster Controller. You can distribute these two processes as needed for high availability deployments, but they do not need to be scaled for capacity.

5.1.1 How Do I Know When to Scale Out Processes?

Scale out system components and Managed Servers based on observed load. You can use the performance metrics that are provided in Fusion Middleware Control to monitor process state and to determine when you must increase capacity to improve performance. For example, you might want to add an additional computer to the deployment when CPU usage is over 50%, or when memory use is close to the system limit. See Section 7.1, "Monitoring Service Levels" for more information about viewing system metrics.

5.1.2What Processes Should I Scale?

Oracle Business Intelligence provides support for scale-out using a combination of the Oracle Business Intelligence installer (for horizontal scale-out) and Fusion Middleware Control (to scale system components both vertically and horizontally).

Follow these guidelines for scaling Managed Servers and system components:

Make sure to run one Managed Server on each computer in the deployment. The Oracle Business Intelligence installer automatically provisions one Managed Server. Do not disable or remove it.

It is not necessary to run multiple Managed Servers on a given computer.

Do not remove individual Java components, because many perform essential services for the system. Keep a full set of Java components on each Managed Server. Any unused components should not have a significant performance impact.

You can decide based on observed load which system components to run on each computer. You can have 0 or more of each component type on a given computer in the deployment. For example, you can have three Oracle BI Servers, two JavaHosts, and four Presentation Services components.

You do not need to scale any configured HTTP servers along with either the Managed Servers or system components. HTTP server configuration is independent of the number of processes that you run.

5.2 Vertically Scaling Oracle Business Intelligence

When you have multiple instances of a given Oracle Business Intelligence component in the deployment, you should first configure shared files and directories for the clustered components to use. Then, use Fusion Middleware Control to increase the number of system components that are running on the existing Oracle Business Intelligence host.

It is not necessary to run multiple Managed Servers on a given computer. Because of this, vertical scale-out only applies to Oracle Business Intelligence system components.

Table 5-1 lists the tasks that you must perform to vertically scale Oracle Business Intelligence.

5.3 Horizontally Scaling Oracle Business Intelligence

As with vertical scale-out, when you have multiple instances of a given Oracle Business Intelligence component in the deployment, you should first configure shared files and directories for the clustered components to use.

Next, to horizontally scale out the Oracle Business Intelligence Java and system components, install Oracle Business Intelligence on the new host by running the Oracle Business Intelligence installer and selecting Enterprise Install. Then, select the Scale Out BI System option.

When the installation completes, the Oracle Business Intelligence Java components are available on the new Managed Server. Note that the first Managed Server for Oracle Business Intelligence Java components is called bi_server1. When you scale out using the Enterprise Install with Scale Out BI System option, additional Managed Servers are called bi_server2, bi_server3, and so on.

After you complete the Enterprise Install, you must provision the scale out for the Oracle Business Intelligence system components on the new host using Fusion Middleware Control. You also typically configure an HTTP server and load balancer to distribute requests across Managed Servers.

Table 5-2 lists the tasks that you must perform to horizontally scale Oracle Business Intelligence.

5.4 Setting Up Shared Files and Directories

When you have multiple instances of a given Oracle Business Intelligence component, you can share certain files and directories on a shared storage device such as NAS or SAN to simplify management of your system. It is recommended that you host the Oracle BI repository (RPD file), Oracle BI Presentation Catalog, global cache, and shared Oracle BI Scheduler scripts on shared storage before you scale out Oracle Business Intelligence components.

5.4.1 Uploading and Sharing the Oracle BI Repository

It is recommended that you configure a repository publishing directory so that the repository can be shared by all Oracle BI Servers participating in a cluster. This directory holds the master copies of repositories that are edited in online mode. The clustered Oracle BI Servers examine this directory upon startup for any repository changes.

To share the Oracle BI repository:

Create a shared directory for the Repository Publishing Directory. The Master BI Server must have read and write access to this directory. All other Oracle BI Servers must have read access.

Note that when you configure a shared repository, the repository file that you upload in Fusion Middleware Control is copied to both the shared location and to the local repository directory for each Oracle BI Server. Do not delete the local repository copies, or set read-only file permissions on them, because they are needed by the system.

5.4.2 Sharing the Oracle BI Presentation Catalog

It is recommended that you configure a shared directory for the Oracle BI Presentation Catalog so that it can be shared by all Presentation Services components in a cluster.

Because the Oracle BI Presentation Catalog consists of a large number of heavily accessed small files, there are two important considerations for the shared file system:

File Limits: The Oracle BI Presentation Catalog can consist of thousands of files. In many cases, this might exceed file limits for shared file systems. Check the storage vendor documentation for instructions on extending the file limit.

Snapshots: Backup activity such as snapshots might adversely affect the performance of Oracle BI Presentation Catalog files, which are small, dynamic files. Ensure that snapshot activity is at a reasonable level that maximizes performance without impacting availability.

To share the Oracle BI Presentation Catalog:

Create a network share for the Oracle BI Presentation Catalog. All Presentation Services components in the cluster must have read and write access to this share.

5.4.4 Setting the Scheduler Script Path and Default Script Path

If you use server-side scripts with Oracle BI Scheduler, it is recommended that you configure a shared directory for the scripts so that they can be shared by all Oracle BI Scheduler components in a cluster.

Click the Help button on the page to access the page-level help for its elements.

Click Lock and Edit Configuration to allow changes to be made.

Change the number of BI Servers, Presentation Servers, or JavaHosts using the arrow keys.

If you have scaled out the Oracle BI System on a new host using the Enterprise Install option or the Configuration Assistant, then the number of system components configured on that host is zero. Add system components on the new host to complete the horizontal scale-out operation.

To vertically scale the system components, increment the number of each component to be greater than 0 for a given host.

A default port range is assigned automatically for use by the components within the given Oracle instance. Note that Oracle BI Scheduler and Cluster Controller component processes in this instance are also assigned ports within this range, in addition to the BI Server, Presentation Services, and JavaHost component processes.

Typically, you can keep the default port range. If necessary, enter a different range of ports available using the Port Range From and Port Range To arrows, or enter a value directly.

Optionally, for Listen Address, you can enter the DNS name or IP address for the components in the given Oracle instance to use to listen for incoming connections. Typically, you can keep this element blank (the default value) to indicate that the components should listen on all available local interfaces.

Click Apply, then click Activate Changes.

Return to the Business Intelligence Overview page and click Restart.

The changes are automatically written to the corresponding configuration files, and the new processes join the cluster.