Performance testing tools (and tools for understanding performance overall) can vary significantly depending on the focus of the testing. With complex, multi-tier systems like ArcGIS applications, testing of client performance, service performance, data storage and supporting infrastructure is important, with different tools designed for different tiers or parts of an architecture. In general, using industry-standard testing tools and approaches is recommended, as there are large communities focused on performance optimization of these components, which build tools specific to the components and have a vested interest in improvements and capabilities.
JMeter and ArcGIS
Using JMeter with ArcGIS Enterprise can greatly enhance your GIS applications’ performance testing and load testing capabilities. JMeter is an open-source tool that allows you to simulate various user scenarios and measure the performance of your system under different loads. When combined with ArcGIS Enterprise, JMeter can help you identify bottlenecks, optimize performance, and ensure the smooth functioning of your GIS applications. One of the key benefits of using JMeter with ArcGIS Enterprise is the ability to simulate realistic user scenarios. JMeter allows you to create test plans that mimic the behavior of actual users, such as making requests to ArcGIS Server services, performing spatial queries, and interacting with web applications.
JMeter also provides a wide range of performance metrics and analysis tools. It can measure response times, throughput, and error rates, allowing you to identify performance bottlenecks and areas for improvement. The tool provides graphical representations of test results, making it easy to visualize and analyze the performance data. This helps you understand the impact of different factors on system performance and make informed decisions to optimize your GIS applications. Another advantage of using JMeter with ArcGIS Enterprise is the ability to conduct stress and load testing.
In conclusion, using JMeter with ArcGIS Enterprise can significantly enhance your performance testing and load testing capabilities. By simulating realistic user scenarios, measuring performance metrics, and conducting stress tests, you can identify performance bottlenecks, optimize system performance, and ensure the smooth functioning of your GIS applications. The flexibility and extensibility of JMeter, along with its support for plugins and scripting, allow you to customize and automate your performance tests. When using JMeter with ArcGIS Enterprise, it is important to consider the scalability and architecture of your system to ensure accurate and reliable test results.
For more information, see this post on the Esri Community: Performance Engineering: Load Testing ArcGIS Enterprise
The ArcGIS Pro Performance Assessment Tool (PAT) is a set of tests that assesses a computer’s ability to run key ArcGIS Pro workflows. You can use it to investigate a perceived performance issue on its own or with the help of Esri Technical Support. You can use the PAT to do the following:
- View metrics for ArcGIS Pro startup times, as well as loading times for maps and bookmarks.
- View metrics for rendering layers in the map to assess GPU performance.
- Run custom scripts to assess performance using your maps and data.
Learn more about what’s included with the ArcGIS Pro PAT download
Developer tools, often called DevTools, are built-in features in web browsers like Chrome, Edge, and Firefox that enable GIS professionals, web developers, and designers to inspect, debug, and analyze web pages, applications, and web-related resources. They are essential for web development and troubleshooting.
Browser developer tools typically provide the following features, which may vary by browser provider or vendor:
- Elements (Inspector) – Enables individuals to inspect and manipulate the HTML and CSS of a web page. Users can select and highlight elements on the page, examine the document structure, and make real-time modifications to CSS styles. These tools offer a layout view and a box model, which aid in comprehending element positioning and sizing within the web page’s layout.
- Console – Furnishes users with a JavaScript console to facilitate debugging and logging processes. These tools allow individuals to run JavaScript code, peruse error messages, and log output to diagnose and address issues effectively. Additionally, they offer support for interactive debugging through features like breakpoints and running step-by-step code, enhancing the debugging experience.
- Network – Provides a monitoring mechanism for tracking network requests initiated by a web page. This includes monitoring HTTP requests, responses, and their respective timings. Such tools prove instrumental in identifying performance bottlenecks and diagnosing issues associated with server requests. Furthermore, they allow users to inspect request and response headers and payloads, providing valuable insights into the communication between the web page and the server.
- Sources (Debugger) – Provides a comprehensive JavaScript debugger for client-side debugging purposes. Within this feature, individuals can establish breakpoints, navigate through code step by step, scrutinize variables, and assess expressions. The debugger offers support for source maps, facilitating debugging and enhancing the developer’s ability to identify and rectify errors effectively.
- Performance – Records and assesses web pages’ loading and rendering performance. This feature provides users with a timeline of events, encompassing network activity, rendering processes, and the execution of JavaScript. It plays a crucial role in optimizing web page performance, aiming to achieve faster loading times, thus benefiting the end-user experience.
- Application (Storage) – Offers access to various web storage mechanisms, encompassing cookies, local storage, session storage, and IndexedDB. Users can view and manipulate stored data, which proves valuable for testing and debugging purposes, aiding developers in assessing and rectifying data storage and retrieval issues.
- Security – Presents comprehensive security information about the presently visited web page. This information encompasses details regarding TLS/SSL certificates and pertinent security-related warnings or errors. This functionality serves as a valuable resource for users and aids in their understanding of the security status of the web page, ensuring a safer and more informed browsing experience
- Audits (Lighthouse) – This automated auditing feature conducts assessments on web pages. These audits encompass evaluations of various aspects, including performance, accessibility, adherence to best practices, search engine optimization (SEO) considerations, and compliance with progressive web app (PWA) standards. This feature is a robust tool for users, enabling them to comprehensively evaluate web page quality across multiple dimensions and make necessary improvements to enhance the overall user experience.
- Application (manifests and service workers) – Enables users to inspect and debug various PWA components. These components encompass essential elements like service workers and application manifests. This feature plays a pivotal role in facilitating the examination and debugging of PWAs, empowering developers to ensure these modern web applications’ proper functioning and performance.
- Device Emulation – Allows users to simulate diverse device sizes and resolutions. This feature evaluates how web pages and applications respond to varying screen sizes and orientations. It provides developers with a valuable tool to assess the adaptability and responsiveness of their creations, ensuring optimal user experiences across a wide range of devices and viewing scenarios.
These developer tools are invaluable for GIS professionals, web developers, and designers as they facilitate the process of building, testing, optimizing, and debugging web applications and websites across different browsers and platforms. While the basic functionality is consistent across Chrome, Edge, and Firefox, each browser may have unique features or extensions that cater to specific development needs.
Esri Professional Services has developed several additional informal tools that can assist with performance-related testing, assessment and configuration. These tools are available in the Library and links to relevant documentation can be found with each tool.
See additional tools in Library