In this topic:
Follow this checklist if you find that the performance is slower than you expect.
|1||A single query is slow||
If all queries are slow, continue to step 2.
|2||All queries on a specific table are slow||
If the problem spans all tables, continue to step 3.
|3||Check that all workers are up||
If the worker list is incomplete, follow the cluster troubleshooting section below.
If all workers are up, continue to step 4.
|4||Check that all workers are performing well||
If all workers are performing well, continue to step 5.
|5||Check if the workload is balanced across all workers||
If the workload is balanced, continue to step 6.
|6||Check if there are long running statements||
If the statement does not stop correctly, contact SQream support.
If there are no long running statements or this does not help, continue to step 7.
|7||Check if there are active locks||
If performance does not improve after the locks are released, continue to step 8.
|8||Check free memory across hosts||
If performance does not improve, contact SQream support for more help.
- Note any errors - Make a note of any error you see, or check the logs for errors you might have missed.
- If SQream DB can’t start, start SQream DB on a new storage cluster, with default settings. If it still can’t start, there could be a driver or hardware issue. Contact SQream support.
- Reproduce the issue with a standalone SQream DB - starting up a temporary, standalone SQream DB can isolate the issue to a configuration issue, network issue, or similar.
- Reproduce on a minimal example - Start a standalone SQream DB on a clean storage cluster and try to replicate the issue if possible.
- Verify the correct login credentials - username, password, and database name.
- Verify the host name and port
- Try connecting directly to a SQream DB worker, rather than via the load balancer
- Verify that the driver version you’re using is supported by the SQream DB version. Driver versions often get updated together with major SQream DB releases.
- Try connecting directly with the built in SQL client. If you can connect with the local SQL client, check network availability and firewall settings.
- Use SHOW_NODE_INFO to examine which building blocks consume time in a statement. If the query has finished, but the results are not yet materialized in the client, it could point to a problem in the application’s data buffering or a network throughput issue..
- If a problem occurs through a 3rd party client, try reproducing it directly with the built in SQL client. If the performance is better in the local client, it could point to a problem in the application or network connection.
- Consult the Optimization and best practices guide to learn how to optimize queries and table structures.
- Consult the SQL statements and syntax reference to verify if a statement or syntax behaves correctly. SQream DB may have some differences in behavior when compared to other databases.
- If a problem occurs through a 3rd party client, try reproducing it directly with the built in SQL client. If the problem still occurs, file an issue with SQream support.
Starting a SQream DB temporarily (not as part of a cluster, with default settings) can be helpful in identifying configuration issues.
$ sqreamd /home/rhendricks/raviga_database 0 5000 /home/sqream/.sqream/license.enc
&sends SQream DB to run in the background.
It is safe to stop SQream DB at any time using
kill. No partial data or data corruption should occur when using this method to stop the process.
$ kill -9 $SQREAM_PID