Snowflake Query Executions Test

Query performance is key to any database or data store. Many factors can affect the performance and throughput of queries like the load on the target database, query complexity, blocked queries, etc. If the query performance is not up to the mark, it will directly and immediately impact the performance of customers application using Snowflake database and in worst case might disrupt business critical services. Administrators need to be fully aware if there is any degradation in query performance so that they can take corrective actions right at the start of it before it goes any worse and impact customer experience.

This test monitors each database for query execution and provides vital statistics related to the number of running, blocked, and queues queries.

Target of the test : Snowflake Database Server

Agent deploying the test : A remote agent

Outputs of the test : One set of results for each database in the Snowflake service account being monitored

Configurable parameters for the test

Parameter

Description

Test period

How often should the test be executed.

Host

The IP address of the Snowflake.

Port

The port number through which the snowflake database server communicates. The default port is 443.

Warehouse Name

In this text box, enter the name of a virtual warehouse that needs to be monitored.

Database Name

In this text box, enter the name of a default database that will connect the snowflake server.

User Name, Password and Confirm Password

In order to monitor a Snowflake account which hosts the Snowflake instances to be monitored, you need a special user with privileges of an account administrator who can access the Snowflake instances and execute the required commands to pull out the performance metrics. To know how to create such a user and assign a role, refer to Pre-requisites for Monitoring Snowflake. Specify credentials of such user in the User Name and Password text boxes. Confirm the password by retyping it in the Confirm Password text box.

Measurements made by the test

Measurement

Description

Measurement Unit

Interpretation

Resuming

Indicates the total number of query executions that are in resuming status during the last measurement period.

Number

 

Running

Indicates the total number of query executions that are in running status during the last measurement period.

Number

 

Successful

Indicates the total number of successful query executions in the last measurement period.

Number

 

Blocked

Indicates the total number of query executions that are in blocked status during the last measurement period.

Number

Too many blocked queries mean the system throughput will decrease, users will have to wait for query results and query queue will grow. Overall, it will affect the system performance badly. If the blocked query number is high, it needs to be investigated.

Queued

Indicates the total number of query executions that are in queued status during the last measurement period.

Number

Large number of queued queries could be a result of problem with query execution, or would indicated too many blocked queries. The cause of the same will need to be investigated.

Failed with the incident

Indicates the number of query executions that have failed with an incident during the last measurement period.

Number

The failure could be because of the limitation of Snowflake, the incident make sure the Snowflake team is working on it. If the incident is causing a major issue, you are advised to check Snowflake’s status page for the status of the incident or if any real-time support is required.

Failed with error

Indicates the number of query executions that have failed with an error during the last measurement period.

Number

If the error code is shown by Snowflake, that mean it is know error due to specific reason, note down the error code and check Snowflake documentation for resolution.