Performance management saas
This tutorial presents several key performance management scenarios used in SaaS applications. To simulate the activity of all leased databases using the load generator, built-in monitoring and SQL Database alerts and flexible pools are demonstrated.
Wingtip tickets SaaS database for tenants uses a single lease data model, where each of them has its own database. As with many other SaaS applications, the expected lease load pattern is unpredictable and sporadic. In other words, ticket sales can occur at any time. To take advantage of this typical database usage pattern, lease databases are implemented into flexible pools. Flexible pools allow you to optimize the cost of the solution by making resources available between multiple databases. With this type of pattern, it is important to monitor the use of database resources and pools in order to reasonably balance the load between pools. It is also important to ensure that individual databases have adequate resources and that pools do not approach their eDTU limits. This tutorial describes how to monitor and manage the databases and pools and how to perform corrective actions in response to load fluctuations.
This tutorial provides information on the implementation of the following activities:
-Simulating the use of lease databases using the supplied load generator
-Monitoring the response of the lease databases to load increases
-Scaling up the flexible pool in response to increased database loading
-Improving the second flexible pool to balance database activity
To carry out the tasks described in this tutorial, the following prerequisites must be met:
Wingtip tickets of the performance management SaaS database were implemented for lease. To implement the program in less than five minutes, see Implementing and exploring the Wingtip SaaS Tickets database for lease application
Database performance management consists of collecting and analysing performance data and then reacting to it by adjusting parameters to maintain an acceptable application response time. When hosting multiple tenants, flexible pools are an economical way to share and manage resources for a group of databases with unpredictable loads. With certain load patterns, benefits may arise when managing only two S3 databases in the pool.
Pools and databases in pools should be monitored to ensure that they remain within acceptable performance ranges. Customize the configuration of the pool to meet the aggregate load needs of all databases, ensuring that the eDTUs of the pool are suitable for the entire load. Adjust the minimum and maximum eDTU values for the database to values corresponding to the requirements of the specific application.
Performance Management Strategies
To avoid the need to monitor performance manually, it is most effective to set alarms triggered when databases or pools are abnormal for normal ranges.
To respond to short-term fluctuations in the aggregate size of the pool calculation, the eDTU level of the pool can be scaled up or down. If such fluctuations occur regularly or are predictable, automatic scaling of the pool can be scheduled. For example, scaling down may occur when low load is predicted - at night or during weekends.
The answer to long-term fluctuations or changes in the number of databases is to move individual databases to other pools.
To respond to short-term increases in individual databases, you can try each of the pools and then assign an individual size. Once the load is reduced, you can return the database to the pool. When known in advance, you can move the databases preventively to ensure that the database always has the necessary resources, and to avoid affecting other databases in the pool. If such a requirement is predictable, for example if you are waiting for increased ticket purchases for a popular event, then this management feature can be included in the application.
Portal https://www.enteros.com/ provides built-in monitoring and alert functions for most resources. In SQL Database, monitoring and alert reporting functions are available at database and pool level. This built-in monitoring and alert generation feature is resource-dependent, so it is conveniently used for small numbers of resources, but not very convenient when working with multiple resources.
In case of large volume scenarios where you work with multiple resources, you can use Azure monitor logs . This is a separate service of the Azure platform that provides analysis through the emitted logs collected in the Log Analytics workspace. Azure Monitor logs can collect telemetry data from multiple services and use it to perform queries and set alerts.