eG Monitoring
 

Measures reported by CassCqlStmtTest

Cassandra Query Language (CQL) is a query language for the Cassandra database. The Cassandra Query Language (CQL) is the primary language for communicating with the Cassandra database. The most basic way to interact with Cassandra is using the CQL shell, cqlsh. Using cqlsh, you can create keyspaces and tables, insert and query tables etc. When using the JPA annotations for queries, the result is prepared statements that will be executed against the database. Prepared statements have two phases for execution: preparation of the statement, and execution of the statement. These prepared statements will be stored in the prepared statement cache. If the prepared statements are not executed as and when the statements are prepared, then, it may be owing to reasons such as processing bottlenecks on the database server or inadequate resources (CPU, memory etc) allocated for execution of the statements or the database node in itself may be poorly configured. In addition, if more statements are prepared and are stored in the prepared statement cache, the statements may be evicted from the cache if the cache is not configured appropriately. To constantly maintain a steady configuration of the database node and its components, it is important to keep a vigil on the execution of the prepared statements. The Cassandra CQL Statements test helps administrators in this regard!

This test reports how well the prepared statements are cached and executed per second. In addition, this test also reports the rate at which the prepared statements are evicted from the cache and how well the regular statements are executed. Using this test, administrators can be alerted to inadequate sizing of the prepared statement cache and processing bottlenecks on the target database node.

Ouputs of the test: One set of results for the target Cassandra Database node being monitored.

The measures made by this test are as follows:

Measurement Description Measurement Unit Interpretation
Prep_stmts Indicates the number of prepared statements cached per second during the last measurement period. Statements/sec CQL supports prepared statements. Prepared statements are an optimization that allows to parse a query only once but execute it multiple times with different concrete values.
Prep_stmtec Indicates the number of prepared statements executed per second during the last measurement period. Statements/sec

Any statement that uses at least one bind marker will need to be prepared. After which the statement can be executed by providing concrete values for each of its marker.

A low value for this measure is a cause of concern. This may be due to the processing bottlenecks on the target database node or inadequate resource allocated to the target database node or the inadequate resource allocated to the execution of the statement.

Prep_stmt_evic Indicates the rate at which the prepared statements were evicted from the prepared statement cache during the last measurement period. Statements/sec A high value for this measure indicates that too many statements are prepared and most of them could not be stored in the prepared statement cache. This is mainly due to the inadequate configuration of the cache size. Administrators may therefore increase the size of the prepared statement cache to keep the value of this measure to a minimum.
Regular_stmt Indicates the rate at which regular statements i.e., non prepared statements were executed during the last measurement period. Statements/sec