A few weeks ago, Microsoft announced that the D365 Store Commerce App is now GA. The MPOS will enter “end-of-support” in release 10.0.33(Spring 2023) according to the following whitepaper. There are still features missing in Store Commerce, like dual display etc, but this will be added in later releases (10.0.28+).
One of the reasons why we have a new app, is to see an improved rendering performance in the POS app. User experienced performance has always fascinated me, and in this blogposts I wanted to do an unofficial performance review of the Store Commerce App in Online and in Offline mode.
First some basic tip: How to install Store Commerce App ?
- Read the following docs carefully, and setup D365 Commerce to support offline devices.
- Install SQL server. (I’m using the Developer edition) Remember to also install options like SQL full-text Search
- Download the store commerce app from LCS asset library
- Install the store commerce app using powershell, with the command :
Store_Commerce Installer_exe_name install –installoffline –trustsqlservercertificate
The test I will be conducting is a very small one, where I scan 4 barcodes, and then do a quick sale. I will be using the Macro Recorder, and running the script 10 times in online and in offline.
D365 Store Commerce Online
Online scanning of 10 orders took 39s. This means that in online mode running against a T2 (with .net core 3.1) the average time to scan and post this sales basket is 3.9 s.
D365 Store Commerce Offline
Offline scanning of 10 orders took 50s. This means that in offline mode the average time to scan and post this sales basket is 5.0 s,
I also wanted to compare this towards the CPOS online, and this was a surprise! Scanning of 10 orders took 40s. This means that in CPOS running against a T2 (with .net core 3.1) the average time to scan and post this sales basket is 4.0 s.
My conclusion is therefor that we have a new king in town. The D365 Store Commerce Online is the winning in my test. It surprised me that the D365 Store Commerce Offline actually was close to 1s slower than the online? I think this may be the latest improvements on the CSU that is the effect, and that the improvements exceeds the network latency penalty.
I also want to appreciate the community for the engagement concerning D365: My take on the new Microsoft focus. On LinkedIn the post received more than 45000 views, and from what I hear from Microsoft is that they are appreciating the feedback. I hope to see 2 effects of this, and that is an increase in implementing community ideas, and that the community again can build trust to invest time into the idea’s site.
5 thoughts on “D365 Store Commerce performance test”
Thank you Kurt! I was also looking for the screen layout info and how to configure. Seems MS docs are showing MPOS options only. Thanks!
Sorry, I meant I would expect online to be quicker than offline!
Hey Kurt – did you by chance also run the test on the old Modern POS install (sealed or not)? Would be interested to see the differences!
Hi Andrew. I did a test on the MPOS earlier, and then the result was 6s per sales. So there is a significant performance improvement. The thing I wanted to highlight in this post was that the Online Store Commerce was actually faster than the offline Store Commerce. And I found this interesting 🙂
Thanks Kurt. That is very interesting – And I think when ‘selling’ the benefit of moving from existing M-POS to Store Commerce (online or offline), a lot of customers will be interested in this improvement specifically.
As you know the process of re-installing (and activating manually……I am trying to push for automation here, and have been for many years – as you probably already know) all stores in a large estate is a massive undertaking – so a significant performance improvement (33%ish per item scanned) is a great selling point.
I would expect offline to be quicker than online – mostly from a hardware perspective – calling API’s on a cloud server, connecting to a MS managed database, with the correct caching etc – should be quicker than on local device/database, (network and firewall/routing dependent of course). Interested if/why you thought the opposite?