Load balancing is to increase the overall performance by allocating the load evenly to each node in the cluster. Oracle RAC provides two ways to achieve load balancing, the following is a detailed introduction, the need for friends can refer to the next
Oracle RAC provides two ways to achieve load balancing, the first is pure technology, that is, when users connect, depending on the current load of the system to decide which node to handle the user request; the second is business-oriented, and the application is cut into a lot of service, A connection request coming through a service is handled by a node. Here 's a concrete look at these two ways:
Pure technical means (load balancing for connection)
1. Client Load Balancing
the configuration method is to set the Load_balance=yes in the client Tnsnames.ora file, and when the client initiates the connection, it randomly selects one from the address list and randomly disperses the connection request to each instance.
The biggest drawback of this technique is that it is too coarse to scatter requests based on the actual load of each instance, so it is rarely used.
2. Server-Side Load balancing
server-side load balancing relies on the load information collected by listener, during which the Pmon process collects the load information of the system and periodically updates it to the listener. If you configure the Remote_listener parameter, the Pmon process can not only register the load information to the local listener, but also register to the listener of other instances. With the Pmon autoenrollment mechanism, the listener of each node in the cluster has the load information of all nodes, and when the client request is received, the connection is assigned to the instance with the least load.
Business-oriented (leveraging service load Balancing)
above describes the load balancing of pure technology, which looks good, but can have a very large performance problem in actual use. As we all know, RAC because of its share-disk architecture, its performance relies heavily on memory fusion (Cache fusion), pure technical means can not know the specific circumstances of the business, so it may spread the same business connection to various instances, resulting in a large number of memory fusion, Performance dropped dramatically.
If we change the idea of connecting the same application to the same instance, for example, the connection of a application is connected to instance a, the B application is connected to the B instance, which can effectively reduce the memory fusion. The
partition of the application can be implemented through a service, which requires the collaboration of the DBA and the open person to configure the service with knowledge of the business characteristics