About Scaling Oracle Analytics Server

Scaling is the process of increasing or decreasing the capacity of the system by changing the number of processes available to service requests from 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. You can expand or reduce the capacity of the system by adjusting the number of processes that are available to the cluster. A cluster consists of multiple server instances that run simultaneously and work together to provide increased scalability and reliability.

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

Vertical scaling involves adding more components to the same computer, to make increased use of the hardware resources on that computer. For example, you can vertically scale Oracle Analytics Server by increasing the number of system components servicing requests on a given computer which results in increased use of the hardware resources on a given computer.

Horizontal scaling involves adding more computers to the environment. For example, you horizontally scale Oracle Analytics Server by distributing the processing of requests across multiple computers.

You can scale both Java components and system components. See About the Administration Server, Managed Servers, and System Components.

The system components that support both horizontal and vertical scale-out are 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 doesn't 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 don't need to be scaled for capacity.

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 a computer to the deployment when CPU usage is over 50%, or when memory use is close to the system limit. See Monitor Service Levels for more information about viewing system metrics.

You also must scale out processes to achieve redundancy when you want to configure your system environment to be highly available. See Deploy for High Availability.

What Processes Should I Scale?

Oracle Analytics Server provides support for scale-out using a combination of the installer (for horizontal scale-out) and WebLogic Scripting Tool (WLST) to scale system components both vertically and horizontally.

Follow these guidelines to scale Managed Servers and system components:

  • Ensure that you run at least one Managed Server on each computer in the deployment. During installation the Configuration Assistant provisions one Managed Server. Don't disable or remove it.

  • Don't 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 likely don't have a significant performance impact.

  • You can decide based on observed load which system components to run on each computer. You can have zero 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. By default a symmetric set of components is created on the scaled out computer.

  • You don't 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.