Load testing and monitoring

Notes

Azure monitor is easily integrated into .NET applications on VMs. Since ArcGIS Enterprise is not a .NET application (is web adaptor?)

Load testing

Web based load testing via Visual Studio has been deprecated. While VS2019 still supports this process, I’m choosing to not begin a new task on a deprecated technology.

There are many load testing options, but https://k6.io was selected for a first run. This is because:

  • k6 installs via apt, making for easy integration into a DevOps pipeline

  • k6 defines it’s tests in JavaScript, making these tests available through our version control

A sample pipeline was created here: https://dev.azure.com/TCOPP/EGIS/_build?definitionId=54&_a=summary

There were implementation challenges. The output of K6 was a JSON log of the test results, which isn’t accepted as a test result in a DevOps pipeline. A bash script was written to summarize the log and create a JUnit formatted XML, which DevOps can read.

Also, I’m using a sample URL at the moment. Firewall rules need to be sorted out to allow a pipeline script to call our eGIS urls.