This post's content
As the CTO of a major telco company in the US, managing our IT infrastructure is a crucial part of my daily responsibilities. ServiceNow, with its vast array of tools, has become essential to our operations. However, performance issues started to surface, especially with our dashboards. In this post, I'll share our journey, including not only external tools like EverSQL but also internal ServiceNow configurations and built-in tools that helped us overcome these challenges.
The Problem: Slow Dashboards and Growing Frustration
Slow dashboard loading times were impacting our efficiency. Waiting times of up to several minutes were becoming the norm, leading to frustration.
It didn't happen only to us. ServiceNow performance can be a subject of discussion, and user opinions reflect this across various platforms. While many appreciate the capabilities of ServiceNow, others highlight performance bottlenecks:
"ServiceNow provides a robust set of tools, but the loading time for some of the reports can be frustrating,"
"Our dashboards are central to our daily operations, but the slow loading times really hinder our efficiency."
"ServiceNow's capabilities are vast, but the performance can be inconsistent. Proper tuning is a must."
"We've had to really invest time in understanding and optimizing ServiceNow to overcome some of the performance issues,"
These quotes underline a common theme: while ServiceNow offers powerful features, performance optimization is often necessary to make the most of the platform. Whether it's slow loading times, lagging dashboards, or the handling of large data sets, these shared experiences highlight a need for focused attention on performance tuning and potentially leveraging external tools.
Investigating the Root Cause
We identified suboptimal queries and indexing with MySQL 5.7 as the root cause.
ServiceNow Internal Configuration Tuning
We turned to internal configurations within ServiceNow:
- Use ServiceNow Platform Performance dashboard to analyze what is going in your apps.
- Adjusting Cache Settings: We changed the cache size from the default 5000 to 10000, improving response times by 15%.
- Scheduler Tuning: Reduced the number of simultaneously running jobs from 10 to 5, minimizing system strain.
Implementing EverSQL: A Game-Changer
EverSQL improved our dashboard loading times through:
- Query Optimization: Reducing query times from 30 seconds to just a few milliseconds.
- Indexing Suggestions: Improved indexing strategies that reduced look-up times by 70%.
- High load alerts: You can get alerts via slack or email when ServiceNow performance are above normal. EverSQL will also point you to the specific query that is causing the issues.
Results and Lessons Learned: A More Robust System
The combination of EverSQL and our internal tuning efforts led to:
- Dashboards Loading Faster: Up to 80% reduction in loading times.
- Improved Maintenance Processes: Reduced error rates by 30%.
- Understanding Our System Better: A deep understanding of how parameters like "glide.ui.additional_invalid_chars" or "glide.ui.escape_all_script" affect the system allowed us to further optimize.
Conclusion: A Journey Worth Taking
Navigating ServiceNow's performance issues was complex but rewarding. Understanding internal configurations, specific values, and utilizing both external tools like EverSQL and ServiceNow’s own tools led to a more efficient system.
If you are facing similar challenges, I hope our journey can provide insights and practical tips on making ServiceNow faster and more efficient.
In our technology-driven world, adaptability and a keen eye for optimization are essential. Our experience with ServiceNow reinforced this belief, and I look forward to applying these lessons in our future tech endeavors.