How To Determine If Auto-tuning Is On

Auto-tuning drives can compensate for machine resources and vibration to support accurate performance at even high speeds. Torsional flex or compliance is an important factor in motor sizing. The Receive Window Auto-Tuning feature is enabled for HTTP traffic if the TcpAutotuning registry entry is set to 1. The Receive Window Auto-Tuning feature is not enabled for HTTP traffic if the TcpAutotuning registry entry does not exist or if it is set to a value that is not 1.

  1. How To Determine If Auto-tuning Is On A Mac
  2. How To Determine If Auto-tuning Is On Facebook

In control theory a self-tuning system is capable of optimizing its own internal running parameters in order to maximize or minimize the fulfilment of an objective function; typically the maximization of efficiency or error minimization.

Auto-tuning

Self-tuning and auto-tuning often refer to the same concept. Many software research groups consider auto-tuning the proper nomenclature.

Self-tuning systems typically exhibit non-linearadaptive control. Self-tuning systems have been a hallmark of the aerospace industry for decades, as this sort of feedback is necessary to generate optimal multi-variable control for non-linear processes. In the telecommunications industry, adaptive communications are often used to dynamically modify operational system parameters to maximize efficiency and robustness.

Examples[edit]

Examples of self-tuning systems in computing include:

  • TCP (Transmission Control Protocol)
  • Microsoft SQL Server (Newer implementations only)
  • FFTW (Fastest Fourier Transform in the West)
  • ATLAS (Automatically Tuned Linear Algebra Software)
  • libtune (Tunables library for Linux)
  • PhiPAC (Self Tuning Linear Algebra Software for RISC)
  • MILEPOST GCC (Machine learning based self-tuning compiler)

Performance benefits can be substantial. Professor Jack Dongarra, an American computer scientist, claims self-tuning boosts performance, often on the order of 300%[1].

Digital self-tuning controllers are an example of self-tuning systems at the hardware level.

Architecture[edit]

How To Determine If Auto-tuning Is On

Self-tuning systems are typically composed of four components: expectations, measurement, analysis, and actions. The expectations describe how the system should behave given exogenous conditions.

Measurements gather data about the conditions and behaviour. Analysis helps determine whether the expectations are being met- and which subsequent actions should be performed. Common actions are gathering more data and performing dynamic reconfiguration of the system.

Self-tuning (self-adapting) systems of automatic control are systems whereby adaptation to randomly changing conditions is performed by means of automatically changing parameters or via automatically determining their optimum configuration [2]. In any non-self-tuning automatic control system there are parameters which have an influence on system stability and control quality and which can be tuned. If these parameters remain constant whilst operating conditions (such as input signals or different characteristics of controlled objects) are substantially varying, control can degrade or even become unstable. Manual tuning is often cumbersome and sometimes impossible. In such cases, not only is using self-tuning systems technically and economically worthwhile, but it could be the only means of robust control. Self-tuning systems can be with or without parameter determination.

In systems with parameter determination the required level of control quality is achieved by automatically searching for an optimum (in some sense) set of parameter values. Control quality is described by a generalised characteristic which is usually a complex and not completely known or stable function of the primary parameters. This characteristic is either measured directly or computed based on the primary parameter values. The parameters are then tentatively varied. An analysis of the control quality characteristic oscillations caused by the varying of the parameters makes it possible to figure out if the parameters have optimum values, i.e.. if those values deliver extreme (minimum or maximum) values of the control quality characteristic. If the characteristic values deviate from an extremum, the parameters need to be varied until optimum values are found. Self-tuning systems with parameter determination can reliably operate in environments characterised by wide variations of exogenous conditions.

In practice systems with parameter determination require considerable time to find an optimum tuning, i.e. time necessary for self-tuning in such systems is bounded from below. Self-tuning systems without parameter determination do not have this disadvantage. In such systems, some characteristic of control quality is used (e.g., the first time derivative of a controlled parameter). Automatic tuning makes sure that this characteristic is kept within given bounds. Different self-tuning systems without parameter determination exist that are based on controlling transitional processes, frequency characteristics, etc. All of those are examples of closed-circuit self-tuning systems, whereby parameters are automatically corrected every time the quality characteristic value falls outside the allowable bounds. In contrast, open-circuit self-tuning systems are systems with para-metrical compensation, whereby input signal itself is controlled and system parameters are changed according to a specified procedure. This type of self-tuning can be close to instantaneous. However, in order to realise such self-tuning one needs to control the environment in which the system operates and a good enough understanding of how the environment influences the controlled system is required.

In practice self-tuning is done through the use of specialised hardware or adaptive software algorithms. Giving software the ability to self-tune (adapt):

  1. Facilitates controlling critical processes of systems;
  2. Approaches optimum operation regimes;
  3. Facilitates design unification of control systems;
  4. Shortens the lead times of system testing and tuning;
  5. Lowers the criticality of technological requirements on control systems by making the systems more robust;
  6. Saves personnel time for system tuning.

Literature[edit]

  1. ^http://appliedmathematician.org/pdf/news/781.pdf Faster than a Speeding Algorithm
  2. ^http://bse.sci-lib.com/article099233.html Big Soviet Encyclopedia, Self-Tuning Systems (in Russian)

External links[edit]

  • Frigo, M. and Johnson, S. G., 'The design and implementation of FFTW3', Proceedings of the IEEE, 93(2), February 2005, 216 - 231. doi:10.1109/JPROC.2004.840301.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Self-tuning&oldid=933516752'
-->

Azure SQL Database is an automatically managed data service that constantly monitors your queries and identifies the action that you can perform to improve performance of your workload. You can review recommendations and manually apply them, or let Azure SQL Database automatically apply corrective actions - this is known as automatic tuning mode.

Automatic tuning can be enabled at the server or the database level through the Azure portal, REST API calls and T-SQL commands.

Note

For Managed Instance, the supported option FORCE_LAST_GOOD_PLAN can be configured through T-SQL only. Portal based configuration and automatic index tuning options described in this article do not apply to Managed Instance.

Note

Configuring Automatic tuning options through ARM (Azure Resource Manager) template is not supported at this time.

Enable automatic tuning on server

On the server level you can choose to inherit automatic tuning configuration from 'Azure Defaults' or not to inherit the configuration. Azure defaults are FORCE_LAST_GOOD_PLAN is enabled, CREATE_INDEX is enabled, and DROP_INDEX is disabled.

Important

As of March, 2020 changes to Azure defaults for automatic tuning will take effect as follows:

  • New Azure defaults will be FORCE_LAST_GOOD_PLAN = enabled, CREATE_INDEX = disabled, and DROP_INDEX = disabled.
  • Existing servers with no automatic tuning preferences configured will be automatically configured to INHERIT the new Azure defaults. This applies to all customers currently having server settings for automatic tuning in an undefined state.
  • New servers created will automatically be configured to INHERIT the new Azure defaults (unlike earlier when automatic tuning configuration was in an undefined state upon new server creation).

Azure portal

To enable automatic tuning on Azure SQL Database logical server, navigate to the server in Azure portal and then select Automatic tuning in the menu.

Note

Please note that DROP_INDEX option at this time is not compatible with applications using partition switching and index hints and should not be enabled in these cases. Dropping unused indexes is not supported for Premium and Business Critical service tiers.

Select the automatic tuning options you want to enable and select Apply.

Automatic tuning options on a server are applied to all databases on this server. By default, all databases inherit configuration from their parent server, but this can be overridden and specified for each database individually.

REST API

Find out more about using REST API to enable Automatic tuning on a server, see SQL Server Automatic tuning UPDATE and GET HTTP methods.

Enable automatic tuning on an individual database

How To Determine If Auto-tuning Is On A Mac

The Azure SQL Database enables you to individually specify the automatic tuning configuration for each database. On the database level you can choose to inherit automatic tuning configuration from the parent server, 'Azure Defaults' or not to inherit the configuration. Azure Defaults are set to FORCE_LAST_GOOD_PLAN is enabled, CREATE_INDEX is enabled, and DROP_INDEX is disabled.

Tip

The general recommendation is to manage the automatic tuning configuration at server level so the same configuration settings can be applied on every database automatically. Configure automatic tuning on an individual database only if you need that database to have different settings than others inheriting settings from the same server.

Azure portal

To enable automatic tuning on a single database, navigate to the database in Azure portal and select Automatic tuning.

Individual automatic tuning settings can be separately configured for each database. You can manually configure an individual automatic tuning option, or specify that an option inherits its settings from the server.

Please note that DROP_INDEX option at this time is not compatible with applications using partition switching and index hints and should not be enabled in these cases.

Once you have selected your desired configuration, click Apply.

Rest API

Find out more about using REST API to enable Automatic tuning on a single database, see SQL Database Automatic tuning UPDATE and GET HTTP methods.

T-SQL

To enable automatic tuning on a single database via T-SQL, connect to the database and execute the following query:

Setting automatic tuning to AUTO will apply Azure Defaults. Setting it to INHERIT, automatic tuning configuration will be inherited from the parent server. Choosing CUSTOM, you will need to manually configure automatic tuning.

To configure individual automatic tuning options via T-SQL, connect to the database and execute the query such as this one:

Setting the individual tuning option to ON, will override any setting that database inherited and enable the tuning option. Setting it to OFF, will also override any setting that database inherited and disable the tuning option. Automatic tuning option, for which DEFAULT is specified, will inherit the automatic tuning configuration from the server level settings.

Important

In case of active geo-replication, Automatic tuning needs to be configured on the primary database only. Automatically applied tuning actions, such are for example index create or delete will be automatically replicated to the read-only secondary. Attempting to enable Automatic tuning via T-SQL on the read-only secondary will result in a failure as having a different tuning configuration on the read-only secondary is unsupported.

Find our more abut T-SQL options to configure Automatic tuning, see ALTER DATABASE SET Options (Transact-SQL) for SQL Database server.

Disabled by the system

Automatic tuning is monitoring all the actions it takes on the database and in some cases it can determine that automatic tuning can't properly work on the database. In this situation, tuning option will be disabled by the system. In most cases this happens because Query Store is not enabled or it's in read-only state on a specific database.

Permissions

As automatic tuning is Azure feature, to use it you will need to use Azure's built-in RBAC roles. Using SQL Authentication only will not be sufficient to use the feature from Azure portal.

To use automatic tuning, the minimum required permission to grant to the user is Azure's built-in SQL DB contributor role. You can also consider using higher privilege roles such are SQL Server Contributor, Contributor and Owner.

Configure automatic tuning e-mail notifications

See automatic tuning e-mail notifications guide.

Next steps

How To Determine If Auto-tuning Is On Facebook

  • Read the Automatic tuning article to learn more about automatic tuning and how it can help you improve your performance.
  • See Performance recommendations for an overview of Azure SQL Database performance recommendations.
  • See Query Performance Insights to learn about viewing the performance impact of your top queries.