...
Load testing has been attempted using the package from K6.io. Output has been written to an InfluxDB database, and visualizations have been configured using Graphana. Tests can be viewed at https://dev.azure.com/TCOPP/_git/EGIS?path=%2FARM%2Floadtest&version=GBfeatures%2Floadtest%2Fk6, specifically egisloadtest.js. See the readme.md https://dev.azure.com/TCOPP/_git/EGIS?path=%2FARM%2Floadtest%2Fvm%2Freadme.md&_a=preview in that folder for details on how to run these.
With this framework in place, the performance of OIM layers and TCOMS has been evaluated.
Repeating these tests
The tests shown here are available in version control as mentioned in the overview. These tests can be run from your Windows workstation by installing the K6 Windows Binaries.
The Linux VM is only used to track and graph test results. Details on accessing or recreating this VM are contained in the readme.md file in version control.
Sandbox
Testing has been performed on the SBX instance, consisting of an Azure VM for each of the Web and Portal, GIS Server, and Data Store roles. Note that SBX is behind a firewall maintained by the cloud team, and our loadtest VM is not whitelisted to access SBX at the time of writting. All tests were performed on the TC network. The results follow:
...
We can see that, if nothing else, consistency has improved greatly. Average response times have dropped from over a second to around 500ms.
ArcGIS Enterprise Configuration
It would be worth evaluating the ArcGIS Server’s cache control, as mentioned here:
Publishing data
Info |
---|
These suggestions have been migrated to How to publish spatial data to eGIS |
Best practices for publishing and symbolizing data must be followed regardless of our hardware.
Create map caches where possible
Data that can’t be cached should be stored and displayed in the fewest and simplest features possible
Follow ESRI’s Performance tips for uncached maps
Re-project all data to WGS84 Web Mercator
Avoid all re-projection on the fly
Debate?
Test performance on all layers?
Web hooks, test new layers?
...