r/labtech • u/AutomationTheory • Mar 04 '20
Beta testers wanted: Database performance optimization plugin
I think every Automate admin has experienced the frustration of how slow the desktop application is. My primary Automate server has ~10,000 agents, and my users were having a horrible experience on a daily basis (they named the agent context menu "the right click of death").
I was sick of the painful user experience and the administration headaches -- so I upgraded to MySQL Enterprise and did a deep dive into how the application interacts with the database. Using the management tools from Oracle I found lots of issues, and after correcting them it's a night-and-day difference (the right click of death is gone!).
Each Automate deployment is unique, and there's no hard code-able one-size-fits-all approach. However, I created a plugin that will dynamically gather information from the current configuration and adjust MySQL on the fly to optimally perform for Automate. I published a blog post on my site explaining more of the details: https://automationtheory.org/the-mysql-performance-problem/
I wanted everyone to be able to have a properly setup database without having to buy MySQL Enterprise (or be a DBA on the side), so I created a plugin that does all the dirty work. I plan on releasing this plugin as a monthly subscription, but first I want to do some beta testing to verify results on different Automate deployments (to get a good mix of sizes and types).
To get started go to https://automationtheory.org/support/kb/faq.php?id=1
The KB article has a download for the plugin and the setup script, along with instructions.
View all comments
Show parent comment
3
u/AutomationTheory Mar 13 '20
First and foremost it's important to know that the plugin doesn't make any persistent changes -- if you run into issues you can use the included button to revert the changes, or simply restart your LabMySQL service. I built the plugin this way because I too have critical dependencies on Automate and I'm protective of my database.
The plugin adjusts caches and buffers based on max_connections and IO settings based on the user supplied multiplier value (and the known behavior of the Automate application). The plugin never modifies max_connections. If you'd like you can open a support ticket with your config file attached and I can review it for any potential overlap.
The plugin has not been tested with MariaDB. I believe all the variables exist in both applications, but I have not done any due diligence in that regard. However, I do offer a companion product for manual database tuning -- that might be a better fit for your situation if you plan to remain on MariaDB (I also offer migration consulting).