Load testing for Microsoft Dynamics NAV System
Microsoft Dynamics NAV is a customized system that automates
accounting and document processing.
It consists of a thick client, a server application and a database (mssql).
Performing the initial system load testing.
Comparing the runtime for three different system configurations.
Testing scenarios only took care of showing and creating the advance payment reports with different contents in different configurations.
Got a project in mind?
There is no better place for a QA solution than Performance Lab.Drop us a line to find out what our team can do for you.
The following tasks have been solved during the project:
- Filling in the DB with the test data
- Deploying the telegraf+influx+grafana monitoring, including transaction monitoring from grafana scripts.
- Developing load testing scripts using .net protocol in LoadRunner
- Developing a separate C# application that uses Microsoft Dynamic NAV API client
- Developing a separate C# application that uses Microsoft Dynamic NAV web API client
- Query monitoring configuration using Canape
The final testing has been performed using the free LoadRunner license: we’ve used 8 hosts with 50 threads each and have written a proprietary automatic metric collector.
The following problems have arisen during the project:
- As the client-server communication was performed using the proprietary msbin1 protocol, it was not possible to intersect the traffic with the regular tools such as LR, Fiddler or wireshark. Queries and responses have been monitored only through the application log and Canape.
- There neither have been documentation on Microsoft Dynamics NAV API, nor has the Microsoft support sent it to us on our request.
- We have not been able to solve the problem with the correlation of an encrypted binary field with the data while calling a write command in the DB. In the final script version the writes in the DB have been performed with a direct SQL injection, skipping the application server.
- The analogous problem has not been solved using the Microsoft Dynamics NAV API.
- As the free LoadRunner version limits the session amount, we had to write a proprietary metrics collection system about the transactions in scripts from different hosts through influx+grafana.