摘要:
Runtime connection load balancing of work across connections to a clustered computing system involves the routing of requests for a service, based on the current operational performance of each of the instances that offer the service. A connection is selected from an identified connection pool, to connect to an instance that provides the service for routing a work request. The operational performance of the instances may be represented by performance information that characterizes the response time and/or the throughput of the service that is provided by a particular instance on a respective node of the system, and is relative to other instances that offer the same service.
摘要:
Techniques for routing client requests among a group of nodes offering a service are described. A coordinator determines that performance could be improved by using affinity-based routing. In one embodiment, the coordinator calculates a Time-to-Live (TTL) metric whereby clients benefit by returning to the same cache and posts this hint to subscribers. Client's start preserving locality data in an affinity context, such that later requests for a connection can be routed to the location last visited. The coordinator measures the system over subsequent intervals. If the gradient of the goodness (viz service quality and capacity) is stable or improving, then the coordinator continues to advise subscribers to use the affinity-based technique. Alternatively, if the gradient of the goodness is deteriorating, then the coordinator posts advice to the subscribers to stop using the affinity-based technique for any instance during the next intervals.
摘要:
Techniques for routing client requests among a group of nodes offering a service are described. A coordinator determines that performance could be improved by using affinity-based routing. In one embodiment, the coordinator calculates a Time-to-Live (TTL) metric whereby clients benefit by returning to the same cache and posts this hint to subscribers. Client's start preserving locality data in an affinity context, such that later requests for a connection can be routed to the location last visited. The coordinator measures the system over subsequent intervals. If the gradient of the goodness (viz service quality and capacity) is stable or improving, then the coordinator continues to advise subscribers to use the affinity-based technique. Alternatively, if the gradient of the goodness is deteriorating, then the coordinator posts advice to the subscribers to stop using the affinity-based technique for any instance during the next intervals.
摘要:
Techniques for fast recovery and/or balancing of connections to a clustered computing system provide management of such connections by determining a number of connections to load balance across nodes and by triggering creation of such connections. In one aspect, a notification of an event regarding the clustered computing system is received by a connection pool manager, a pool of connections to the system is identified based on the notification, and one or more connections from the pool are processed in response to the event. According to an embodiment, the notification comprises the identities of the service, database, server instance and machine that correspond to the event.
摘要:
Techniques for fast recovery and/or balancing of connections to a clustered computing system provide management of such connections by determining a number of connections to load balance across nodes and by triggering creation of such connections. In one aspect, a notification of an event regarding the clustered computing system is received by a connection pool manager, a pool of connections to the system is identified based on the notification, and one or more connections from the pool are processed in response to the event. According to an embodiment, the notification comprises the identities of the service, database, server instance and machine that correspond to the event.
摘要:
A method and apparatus is provided for automatically performing an operation for one or more resources of a computing cluster when a conditional dependency is satisfied. The conditional dependency may be based on the operating state, load, performance metric, or performance statistic of one or more other resources. A resource profile for a resource stores a conditional dependency that, when satisfied, causes a centralized policy engine to send a command to the resource or an agent for the resource. The policy engine receives notifications of operating state changes from agents that manage resources in the cluster. The policy engine determines that one or more conditional dependencies is satisfied when one or more resources change state to satisfy conditions specified by the conditional dependencies. The policy engine responds to detecting that a conditional dependency is satisfied by sending a command that causes the dependent resource to change its operating state.
摘要:
A method and apparatus for selecting one or more instances to perform database recovery is provided. According to one aspect, one or more performance metrics are determined for each instance on each node in a cluster. Based on these performance metrics, which may be weighted to give one or more metrics more significance relative to the other metrics, an overall score is determined for each instance on each surviving node when a node in the cluster fails. One or more instances with the highest of these scores are selected. The selected instances are assigned the task of performing the database recovery process. Because instances best able to handle to database recovery process are selected, the database recovery process consumes less time, thereby making data accessible in less time after a node fails.
摘要:
Approaches for manage and measuring workload on computer resources by measuring workload in ways that are independent of physical hardware and that correlate to ways in which it is desirable to measure and manage workload for applications and clients. Specifically, logical abstractions of workload, referred to as services, are defined for a cluster of nodes running a multi-node database server of a database. A service is a category of work hosted on a subset of multi-node database servers, such as work that is performed for an online order entry application. The workload is measured and demarcated by the service no matter which node in a single or multi-node system performs the service, providing a global view of performance realized by the system.
摘要:
Various embodiments of the invention provide solutions to allow more sophisticated management of the relationship between a database and its clients (which can be, inter alia, end users, business applications, etc.). Merely by way of example, some embodiments can facilitate the management of work requests in a database, as well as the management of the quality-of-service in a database system. In some embodiments, an identification handle may be assigned to a database work request. A database management application can use the identification handle to identify the work request, as well, perhaps, as any related work requests. The identification handle may also identify the database (and/or an instance thereof) and/or a clustered database node, and the identification handle may be transmitted to a mid-tier application, e.g., to notify the mid-tier about the processing of the work request, changes in quality-of service, server availability, etc.
摘要:
Approaches are used for efficiently and effectively managing the dynamic allocation of resources of multi-node database systems between services provided by the multi-node database server. A service is a category of work that is hosted on the database server. The approaches manage allocation of resources at different levels. For services that use a particular database, the performance realized by the services is monitored. Resources assigned to the database are allocated between these services to ensure performance goals for each are met. Resources assigned to a cluster of nodes are allocated between the databases to ensure that performance goals for all the services that use the databases are met. Resources assigned to a farm of clusters are assigned amongst clusters based on service level agreements and back-end policies. The approach uses a hierarchy of directors to manage resources at the different levels.