Database Reference
In-Depth Information
Chapter 4
Testing for Scalability
RAC is a clustered database solution that provides two major functions, namely, scalability and availability for
business continuity. Chapter 3 discussed testing the hardware and application for availability. This chapter focuses on
testing for scalability.
Depending on the context where it's applied,scalability is a relative term and can be defined in different ways. In
our context, scalability is defined in terms of users: as the number of users accessing the system increases, the RAC
configuration should be able to support the increase in demand in proportion to the number of users and without any
degradation in service levels. It is important to understand that an application can scale in a clustered environment
only if hardware that will host the application and database can scale. For an application to scale in a clustered
environment it has to do so in a single-instance Oracle environment.
RAC is designed as a clustered database solution. To obtain the maximum scalability potential of the RAC
environment, it's important that the hardware and application are scalable. In this chapter, we discuss testing the
hardware for scalability and then how to test the application for scalability.
Scale-Up or Scale-Out
Database environments can be single-server, single-instance environments or multiserver, multi-instance
environments (e.g., RAC). Based on business requirements and criticality of the application that is being supported,
one type of configuration maybe preferred over the other. As the user base accessing the application increases,
demand for resources on these servers also increases, causing scalability constraints. This causes reduced user
response times. Servers can be scaled to accommodate these increased users in one of two ways.
Scale-Up
This is where adding additional CPU and memory providing additional resources for the increased user base
increases the capacity of the servers. Figure 4-1 illustrates the scale-up (also called “vertical scalability”) type of
configuration. Scale-up or vertical scalability has the following limitations:
1.
Every server is of a specific model or type of hardware and has physical limitations on
how many total CPUs or memory banks it can have. For example,in DELL DL580,when
the demand goes up, the machine can't just be augmented with additional CPUs because
there maynot be any free slots available.
2.
Although additional resources maybe added to the server, the server itself could be a
single point of failure, meaning if the server fails, the connection to the application is lost.
At this time, if a disaster recovery (DR) site has been configured, the application will be
moved over there; or if there is no DR site, the users have to wait until the server is fixed
and started again. Again, this could depend on the type of problem and the time it would
take to fix the issue.
 
Search WWH ::




Custom Search