You are on page 1of 67

Microsoft Dynamics

AX

Microsoft Dynamics AX 2012
retail performance
White Paper

This white paper provides an overview of a series of
performance tests run by Microsoft to enable customers and
partners to better size capacity for the infrastructure that they
require for an implementation of the Microsoft Dynamics AX
2012 Retail module.


May 2013




www.microsoft.com/dynamics/ax






2

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Copyright
Microsoft Dynamics is a line of integrated, adaptable business management solutions that enables you and your
people to make business decisions with greater confidence. Microsoft Dynamics works like and with familiar
Microsoft software, automating and streamlining financial, customer relationship and supply chain processes in a
way that helps you drive business success.

U.S. and Canada Toll Free 1-888-477-7989
Worldwide +1-701-281-6500
www.microsoft.com/dynamics

Disclaimer
This document is provided as-is. Information and views expressed in this document, including URL and other
Internet Web site references, may change without notice. You bear the risk of using it.
This document does not provide you with any legal rights to any intellectual property in any Microsoft product
or service. You may copy and use this document for your internal, reference purposes.
Performance tests and ratings are measured using the computer systems and components specified in this
document and reflect the approximate performance of Microsoft Dynamics AX 2012 R2 as measured by those
tests. Any difference in system hardware, software design or configuration, customizations, data composition,
or indexes may affect actual performance of the software. Users should consult other sources of information
to evaluate the performance of systems or components they are considering purchasing.

2013 Microsoft Corporation. All rights reserved.


Microsoft, Microsoft Dynamics, SharePoint, SQL Server, Windows, and Windows Server are either registered
trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.


3

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Table of Contents
Copyright .................................................................................................... 2
Table of Contents ........................................................................................ 2
Introduction ................................................................................................ 6
Solution overview ....................................................................................... 7
Scenarios .................................................................................................... 7
Performance testing methodology .............................................................. 8
Synch Service design overview ................................................................... 9
Retail in-house performance topology ...................................................... 10
Topology details................................................................................................................11
Topology notes .................................................................................................................11
Configuration and setup ....................................................................................................12
Initial master dataset .......................................................................................................12
Test methodology and automation ....................................................................................12
Scenario: Publish product assortments ..................................................... 13
Results summary ..............................................................................................................13
Publish an assortment ......................................................................................................13
Overview ....................................................................................................................... 13
Results summary ........................................................................................................... 14
Suggested scale-out options .......................................................................................... 16
Create actions for 100,000 assorted products for 100 retail stores ..................................17
Create actions overview ................................................................................................ 17
Results summary ........................................................................................................... 18
A-1040 scheduler job ........................................................................................................20
Synch Service overview ................................................................................................. 20
Results summary ........................................................................................................... 20
HQ/Synch Service data package volume ........................................................................ 22
Resource usage on HQ/Synch Service ........................................................................... 22
Suggested scale-out options for HQ/Synch Service ....................................................... 22
Scenario: Send trade agreements to retail stores ..................................... 23
High-level results summary ..............................................................................................23
Post trade agreement .......................................................................................................23
Results summary ........................................................................................................... 23
Suggested scale-out option ........................................................................................... 23
Create actions ...................................................................................................................24
Results summary ........................................................................................................... 24
Suggested scale-out options .......................................................................................... 24



4

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
A-1040 ..............................................................................................................................24
Results summary ........................................................................................................... 24
System resource usage for Synch Service ...................................................................... 25
Suggested scale-out options for HQ/Synch Service ....................................................... 26
Scenario: End-of-day financial posting, including POS transaction import,
inventory posting, statement calculation, and statement posting ............. 27
Dataset .............................................................................................................................27
End-to-end financial posting results .................................................................................27
P-0001 schedule job .........................................................................................................28
Results summary ........................................................................................................... 28
HQ/Synch Service data package volume ........................................................................ 30
System resource usage .................................................................................................. 30
Suggested scale-out options .......................................................................................... 30
Inventory posting for end-of-day sales .............................................................................31
Dataset .......................................................................................................................... 31
Results summary ........................................................................................................... 31
Resource usage ............................................................................................................. 31
Calculate and post statements ..........................................................................................32
Dataset .......................................................................................................................... 32
Results summary ........................................................................................................... 32
Additional end-of-day financial posting scenario and results ............................................33
Topology for this additional test only............................................................................. 33
Dataset .......................................................................................................................... 33
End-to-end financial posting results summary ............................................................... 34
Resource usage ............................................................................................................. 34
Scenario: Trickle feed to import POS transactions and post inventory ...... 35
Dataset .............................................................................................................................35
End-to-end trickle feed flow results summary ..................................................................35
Resource usage .................................................................................................................36
Suggested scale-out options .............................................................................................37
Scenario: Add a product to a retail POS transaction .................................. 38
Topology ...........................................................................................................................38
Results summary ..............................................................................................................38
Scenario: POS product search ................................................................... 40
Topology ...........................................................................................................................40
Results summary ..............................................................................................................41
Scenario: POS customer search................................................................. 42
Topology ...........................................................................................................................42
Results summary ..............................................................................................................43
Scenario: POS initial offline synchronization ............................................. 44
Topology ...........................................................................................................................44
Overview ..........................................................................................................................44
Results summary ..............................................................................................................45
Suggested scale-out options .............................................................................................46


5

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Scenario: Multiple concurrent calls to the Real-time Service APIs ............ 47
Dataset .............................................................................................................................47
Topology ...........................................................................................................................47
Results summary ..............................................................................................................48
Resource usage .................................................................................................................48
Scenario: Initial catalog publishing ........................................................... 49
End-to-end flow ................................................................................................................49
Dataset .............................................................................................................................49
Topology ...........................................................................................................................49
Overall results summary ...................................................................................................50
Result notes ......................................................................................................................50
Validate the catalog in Microsoft Dynamics AX .............................................................. 50
Publish the catalog in Microsoft Dynamics AX ................................................................ 50
Run the A-1075_OC job from Microsoft Dynamics AX .................................................... 50
Run SharePoint/RetailPublishingJob ............................................................................. 50
Resource usage .................................................................................................................51
Resource usage for AOS and HQ/Synch Service ............................................................. 51
Resource usage for SharePoint/catalog publishing ....................................................... 51
Scale-out option ................................................................................................................51
Conclusion ................................................................................................ 52
Appendix ................................................................................................... 53
VM configuration information (VMs used for preceding test) ............................................53
Physical SQL Server hardware information .......................................................................53
Microsoft Dynamics AX database SQL Server settings.......................................................54
Specific changes compared to standard SQL Server settings ......................................... 54
Microsoft Dynamics AX database SQL Server sp_configure output ................................ 55
Microsoft Dynamics AX table initial row count before the start of any of the preceding
tests..................................................................................................................................58



6

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Introduction
Todays retail landscape offers unprecedented opportunities alongside some daunting challenges.
Economic factors, the increasing choice in products and shopping formats, and unparalleled access to
information are fuelling todays empowered shoppers, who expect more from their retail experience.
The focus of the retail experience has expanded well beyond the walls of the brick and mortar store,
and now includes everything from a retailers website and call center, to marketplaces and social
networks. Today, retail is connected seamlessly as one omni-channel experience.

To deliver on the needs for todays retail, the Microsoft Dynamics AX 2012 R2 Retail module relies on
a robust interoperable architecture that scales to the needs of the enterprise. This white paper is
intended for customers who have already implemented the Microsoft Dynamics AX 2012 R2 Retail
module and are looking for options to scale their infrastructure to support the growth of the business.
This white paper is also intended for customers who are embarking on implementing the Microsoft
Dynamics AX 2012 R2 Retail module and are evaluating topology options to implement a solution that
will scale to their organization.


7

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Solution overview
As part of the release process for Microsoft Dynamics AX 2012 R2, Microsoft conducted a series of
performance tests to enable customers and partners to better size capacity for the infrastructure that
they require for their implementation. The performance tests showcase the ability of the solution to
scale based on critical business scenarios that pertain to the retail industry.
Retail Headquarters
Brick and Mortar Channel
Online Channel
AX client
Commerce Data
Exchange Synch
service
Offline
database
SQL Server
databases:
AX, Synch
service
Enterprise Portal
AX client
Real-time service
POS terminals
SQL Server
databases:
Store
Synch service
Commerce Data
Exchange Synch service
AOS
SQL Server
databases:
Commerce runtime,
SharePoint,
Synch service
SharePoint Frontend
Commerce Runtime
Commerce
Data Exchange
Synch service
SharePoint Backend
Commerce Runtime
Based on need most components in the system support scale-
out options of either clustering or multi-instance
SQL Server:
SharePoint
(Enterprise Portal)
Retail Solution
Server Roles Overview

Microsoft Dynamics AX Retail module omni-channel logical topology
Scenarios
The performance tests include many functional scenarios across different client and integration
technologies, providing a view of the core retail scenarios. The following scenarios were completed to
evaluate performance:
Publishing assortments to retail stores
Posting trade agreements to retail stores
End-of-day financial posting from retail stores to headquarters (HQ)
The performance tests also include the following scenarios:
Trickle feed
Adding products to retail point of sale (POS) transactions by using the retail POS terminal
Product search using the retail POS terminal
Customer search using the retail POS terminal


8

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Initial offline synchronization between the store database and the offline database
Concurrent Commerce Data Exchange Real-time Service API calls
Initial catalog publishing
The following three primary scenarios are run as part of the performance testing to identify the scale
characteristics of Commerce Data Exchange: Synch Service:
1. Publishing assortments to retail stores:
Create an assortment of 100,000 products across 100 stores, and then publishing the assortment.
Run the Create actions periodic job.
Run the A-1040 job for all 100 stores.
Posting trade agreements through retail stores:
1. Create 10,000 product trade agreements, and then post the trade agreements.
Run the Create actions job to convert pre-actions to actions.
Run the A-1040 job for all 100 stores.
End-of-day financial posting flow:
2. Create 10,000 retail transactions in each store database, with five line items per transaction
per store. Then run the P-0001 job for all 100 stores.
Run the Post inventory job for all 100 stores in batch processing mode.
Run the Calculate statement job for all 100 stores in batch processing mode.
Run the Statement posting job for all 100 stores in batch processing mode.
Performance testing methodology
All inbound and outbound transaction feeds are run through the servers that run Synch Service.
The Microsoft Dynamics AX client application is used to manage batch schedules.
Application Object Server (AOS) instances run as batch.
No Microsoft SQL Server replication is configured for the Microsoft Dynamics AX database SQL Server
host.



9

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Synch Service design overview
The following diagram shows the logical flow of assortment publishing and trade agreement posting to
the store through Synch Service. Publishing an assortment creates the corresponding channel-specific
data in the RetailAssortmentExploded table in the Microsoft Dynamics AX database, and it also creates
the pre-actions in the RetailConnPreaction table.
The Create actions periodic job reads the pre-actions and then uses table distribution settings in
Microsoft Dynamics AX to generate actions. When you run the A-1040 scheduler job, Microsoft
Dynamics AX sends a query package for each channel to Synch Service. Synch Service uses this query
package to extract the data and create the data package that will be sent to the stores.
If the Create actions periodic job is run in batch processing mode, it will use the Microsoft Dynamics
AX batch processing framework to scale out processing by using multi-threaded logic. For this to work,
you need to update the Retail Scheduler Number of documents in the batch task parameter to a
larger number. For example, the number must be in the thousands instead of 0 (zero).




10

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Retail in-house performance topology
POS/Commerce Data
Exchange Synch
service
HQ/Commerce Data
Exchange Synch
service
Store databases
AOS instances
AX client/ Test
automation client
AX database
Real-time service
Store database
Real-time service
Stress test clients
POS Terminal,
Offline Sync
service,
Offline
database
Databases: SharePoint,
Commerce runtime
Online/Commerce Data
Exchange Synch service

Microsoft Dynamics AX Retail in-house lab topology



11

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Topology details
Retail topology
role
Virtual
machine
(VM) or
physical
Number of
VMs for 100
stores
configuration
Number of
processors
Processor
speed
(GHz)
Memory
size
allocated
(GB)
Disk
capacity
(GB)
AOS VM 3 4 2.133 16 300
HQ/Synch Service VM 2 4 2.133 16 300
POS/Synch Service VM 6 8 2.133 32 500
Microsoft Dynamics
AX client
VM 1 2 2.133 8 300
Microsoft Dynamics
AX database
Physical 1 24 2.266 64 2,048
Store database (POS
online mode)
Physical 2 24 2.266 64 2,048
Real-time Service VM 2 4 2.133 16 300
Store database
(online mode)
VM 1 2 2.133 4 200
POS client, offline
service, offline
database
VM 1 1 2.133 2 150
Microsoft SharePoint
database/Commerce
Run-time (CRT)
database
Physical 1 24 2.266 64 2,048
SharePoint
application server
Physical 1 24 2.266 64 2,048

Topology notes
In each VM for POS/Synch Service, up to 17 instances are running at any given time. One POS/Synch
Service instance is set up per store for 100 stores. One hundred POS/Synch Service instances are
distributed among six VMs.
In each Synch Service VM, up to five instances are running at any given time.
In each VM, eight AOS threads per instance are running at any given time.
Two physical machines are hosting 100 store databases. The lab environment uses 10-GB network
switches.
SQL Server 2008 R2 is used as the database server.



12

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Configuration and setup
100 stores
10 terminals per store
100 database profiles
10 AOS profiles
Initial master dataset
Create 100,000 non-variant products by using X++ code directly in 10 different product categories.
Create one assortment, include the 10 product categories, and assign the assortment to the 100
stores.
Test methodology and automation
For trickle feed flow, which is the periodic import throughout the day of POS transactions and updates
to inventory in Microsoft Dynamics AX, retail POS transactions were created by using SQL Script
across 100 store databases. For assortment publishing and trade agreement posting, item creation
was automated in X++ functions by using the batch processing framework.
Performance counter measurements and collection are automated through Microsoft Windows
PowerShell and C# code.



13

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Scenario: Publish product assortments
Deploy the initial test demo dataset. The demo data contains information for 1,000 products.
Create 100,000 products in Microsoft Dynamics AX, and assign the products among 10 product
categories.
Truncate the RetailConnPreAction and RetailConnAction tables in Microsoft Dynamics AX.
Configure one AOS instance and eight AOS batch threads.
Assort 100,000 products:
Create a new assortment.
Add a retail assortment hierarchy node for 100 stores.
Add a parent retail product category node that includes all the products.
Publish the assortment.
Run the Create actions job by using a batch job.
Run the A-1040 job for all the following stores / HQ Synch Service combinations
Number of stores: 5, 10, 20, 50, 100
Number of HQ/Synch Service instances used: 1, 2, 5, 10
Results summary
The following table summarizes the results for an assortment of 100,000 products.
Assortment
publishing step
Latency for this number of retail stores
5
(1 HQ/Sync
h Service)
10
(1 HQ/Sync
h Service)
20
(1 HQ/Sync
h Service)
50
(1 HQ/Sync
h Service)
100
(2 HQ/Sync
h Service)
Publish an assortment 00:13:57 00:22:39 01:05:45 01:32:12 01:56:18
Create actions 00:00:20 00:00:22 00:00:34 00:01:01 00:01:23
A-1040 00:33:54 01:05:53 02:22:42 05:46:00 05:40:00
Total 00:48:12 01:28:54 03:29:01 07:19:13 07:37:41

Publish an assortment
Overview
Assortment publishing uses the batch processing framework in Microsoft Dynamics AX. Assortment
publishing creates one batch task per store in Microsoft Dynamics AX, so that it can scale out parallel
execution of assortment publishing by store. Each batch task creates one record per product, for each
store in the temp table. When the batch task has finished creating all the records for a store, the
records are moved from the temp table to the RetailAssortmentExploded table. Each batch task also
creates one pre-action in the RetailConnPreaction table. This pre-action is labeled as a packed query.


14

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Results summary
The following chart shows that the assortment publishing duration increases as the number of retail
stores per assortment increases.

Retail assortment job batch latency vs. the number of retail stores with a single AOS instance and eight AOS
threads

5 10 20 50 100
Publish assortment for
100,000 products
0:13:57 0:22:39 1:05:45 1:32:12 1:56:18
0:00:00
0:14:24
0:28:48
0:43:12
0:57:36
1:12:00
1:26:24
1:40:48
1:55:12
2:09:36
A
s
s
o
r
t
m
e
n
t

p
u
b
l
i
s
h
i
n
g

l
a
t
e
n
c
y

(
h
h
:
m
m
:
s
s
)
Number of retail stores
"Retail assortment job" batch latency for 100,000 products vs.
the number of stores


15

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
The following chart shows the CPU usage on a Microsoft Dynamics AX database and the CPU usage
when the Retail assortment job batch processing task is running.
The calculations in the chart are based on the following factors:
A single AOS instance is running on a single VM configured with four processors, 16 GB of RAM, and
eight AOS threads.
The average CPU usage of the AOS instance is less than 26 percent across all variations from five to
100 stores.
The average CPU usage on the Microsoft Dynamics AX database grows as the number of stores
increases to 100.
In the Microsoft Dynamics AX database, most of the time is spent creating records in the
RetailAssortmentExploded table. One record per product per store is created.

Average CPU usage percentage on the AOS and Microsoft Dynamics AX database machines vs. the number of
retail stores during assortment publishing of 100,000 products with a single AOS instance and eight AOS
threads

5 10 20 50 100
Avg. CPU Usage [AOS] % 18.22 23.79 24.99 25.83 24.50
Avg. CPU Usage [AX DB] % 5.20 10.44 11.18 14.16 33.90
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
40.00
C
P
U

u
s
a
g
e

%
Number of retail stores
CPU usage for Publish assortment for 100,000 products


16

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
The following table shows that, for publish assortment for 100,000 products and 100 stores, Microsoft
Dynamics AX will insert 10 million records in the RetailAssortmentExploded table and 100 records in
the RetailConnPreaction table.
Microsoft Dynamics AX table name Number of records inserted in table
RetailAssortmentExploded 10,000,000
RetailConnPreaction 100

Suggested scale-out options
Add more AOS instances and additional AOS batch threads to enable more assortment publishing
tasks to run concurrently.
Avoid having the same retail product category in multiple retail assortments, because any changes in
a specific retail product category can cause the corresponding assortments to be republished. This
will significantly slow down the Publishing assortment batch job.



17

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Create actions for 100,000 assorted products for 100 retail stores
Set the Retail Scheduler Number of documents in batch task parameter to 6,250. This will be
referred to as the batch size).
Run the Create actions job in batch processing mode.
Create actions overview
Create actions batch processing uses the Retail Scheduler Number of documents in a batch task
parameter. If this parameter is not defined, or if it has been set to 0 (zero), only one batch task is
created. The Create actions job starts processing all pre-actions and then converts them into actions.
If a batch size is defined, the Create actions job first reads the total number of pre-actions that have
not been processed from RetailConnPreaction and then creates the RecID list for the batch tasks. One
batch task is created and assigned N number of unprocessed pre-actions, where N is the number of
documents in a batch task. The main Create actions batch processing job will create more batch tasks
until all the pre-actions are submitted for processing. When actions are being generated, each action
is mapped to the individual table in the Microsoft Dynamics AX database. A job will process actions
and send actual data to the store database.


18

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Results summary
The following chart shows the Create actions latency for 100,000 assorted products for stores ranging
in number from five to 100. The Create actions job for publish assortment for 100 stores with 100,000
assorted products is completed in 37 seconds.

Create actions latency vs. the number of retail stores with a single AOS instance and eight AOS threads
5 10 20 50 100
Create Actions of 100,000
products across stores
0:00:20 0:00:22 0:00:34 0:01:01 0:01:23
0:00:00
0:00:17
0:00:35
0:00:52
0:01:09
0:01:26
0:01:44
C
r
e
a
t
e

a
c
t
i
o
n
s

l
a
t
e
n
c
y

(
h
h
:
m
m
:
s
s
)
Number of retail stores
Create actions batch latency for 100,000 assorted products vs.
the number of stores


19

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE

Average CPU usage percentage on the AOS and Microsoft Dynamics AX database machines vs. the number of
retail stores during the Create action job for 100,000 assorted products with a single AOS instance and eight
AOS threads

5 10 20 50 100
Avg. CPU Usage [AOS] 10.10 11.00 15.55 17.09 25.93
Avg. CPU Usage [AX DB] SQL
Server
0.01 0.94 0.02 0.13 0.45
0.00
5.00
10.00
15.00
20.00
25.00
30.00
C
P
U

u
s
a
g
e

%
Number of retail stores
CPU usage on AOS and Microsoft Dynamics AX database
[Create actions running for 100,000 assorted products]


20

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
A-1040 scheduler job
Synch Service overview
The A-1040 scheduler job sends a RecID with a packed query for each action in a package file.
HQ/Synch Service reads the input package file and then sends X++ queries through .NET Business
Connector (BC.NET) for one store. When all the business data is received before it is packaged in a
compressed file, Synch Service forwards the business data to POS/Synch Service for processing.
Results summary
The following chart shows the latency of a single Synch Service instance for the A-1040 job as the
number of stores increases from 5 to 50. You can see that, from stores 5 to 10, 10 to 20, and 10 to
50, there is an almost-linear projection.

Single HQ/Synch Service instance latency from A-1040 job execution vs. the number of stores for 100,000
assorted products
5 10 20 50
A-1040 for 100,000 products
per store
01:03:43.521 02:20:23.908 05:43:22.958 11:19:42.636
00:00:00.000
01:12:00.000
02:24:00.000
03:36:00.000
04:48:00.000
06:00:00.000
07:12:00.000
08:24:00.000
09:36:00.000
10:48:00.000
12:00:00.000
H
Q
/
S
y
n
c
h

S
e
r
v
i
c
e

l
a
t
e
n
c
y

(
h
h
:
m
m
:
s
s
)
Number of retail stores
HQ/Synch Service latency for 100,000 products vs. the number
of stores


21

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
The following chart shows that, if the A-1040 job was run to pull 10,000 transactions from 100 stores
with one HQ/Synch Service instance, and then add two, five, and 10 Synch Service instances, the
overall execution time is reduced, because all instances are running in parallel by running a separate
A-1040 job per HQ/Synch Service instance. This chart shows that Synch Service can accommodate a
number of retail stores.

Average HQ/Synch Service latency of the A-1040 job for 100 stores vs. the number of HQ/Synch Service
instances

1 2 5 10
HQ/Synch service latency with
different number of HQ/Synch
service instances [A-1040 job
for 100 stores]
11:19:42.636 05:40:00.000 02:25:57.869 01:22:28.732
00:00:00.000
01:12:00.000
02:24:00.000
03:36:00.000
04:48:00.000
06:00:00.000
07:12:00.000
08:24:00.000
09:36:00.000
10:48:00.000
12:00:00.000
H
Q
/
S
y
n
c
h

S
e
r
v
i
c
e

l
a
t
e
n
c
y

(
h
h
:
m
m
:
s
s
)
Number of HQ/Synch Service instances
HQ/Synch Service latency vs. the number of HQ/Synch Service
instances [A-1040 job for 100 stores]


22

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
HQ/Synch Service data package volume
The HQ/Synch Service data package volume grows linearly with the number of stores. The same data
size of 100,000 assorted products is sent to stores by using the A-1040 job. The results also show that
Synch Service creates compressed data files for 100,000 products for each store. For 100 stores, the
data volume is 1.6 GB. For 10,000 products, the size of the store is 1.6 MB.
Resource usage on HQ/Synch Service
The average CPU usage is below 10 percent on a four-processor VM, with a maximum of 85 percent.
The average memory usage is 2.0 GB, with maximum of 2.75 GB.
The average disk queue length is 0.3, with a maximum of 3, which occurs only when a file is created.
The average network throughput is 300 KB per second, with a maximum of 675 MB per second
while all data files are transferred from the HQ/Synch Service VM to POS/Synch Service VMs. With
smaller network bandwidth and a remote location for POS/Synch Service, you might notice more
delay in sending packets from the HQ/Synch Service machine to the POS/Synch Service machine.
The Microsoft Dynamics AX database size after the A-1040 job was 33 GB, and the stores database
size was 1.2 GB.
Suggested scale-out options for HQ/Synch Service
Add more HQ/Synch Service instances, so that when you use an A-1040 job, data is quickly sent to
stores. From the preceding test results, you can see that a single instance of HQ/Synch Service
takes 6 to 6.5 minutes to read 1.2 million records from the AOS instance per store. The same time
is observed when 10 HQ/Synch Service instances are running concurrently.
Distribute stores among different distribution schedules:
Create a distribution list to divide the workload.
Schedule a distribution of the A-1040 job at different times, so that no two jobs run at the same
time. This will prevent a bottleneck, where all store information is being read at once for the
A-1040 job.



23

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Scenario: Send trade agreements to retail stores
Create 100,000 products in Microsoft Dynamics AX, and assign those products to 10 different
categories.
Truncate the RetailConnPreAction and RetailConnAction tables in Microsoft Dynamics AX.
Run one AOS instance, with eight AOS batch threads per AOS instance.
Post trade 1 million lines in the Trade Agreement Journal:
Create 10,000 lines in the Trade Agreement Journal.
Create 100 separate Trade Agreement Journals.
Post each journal.
Run the Create actions job in batch processing mode.
Run the A-1040 job for all 100 stores.
Variations:
Number of stores: 5, 10, 20, 50, 100
Number of HQ/Synch Service instances used: 1, 2, 5, 10
High-level results summary
The following table summarizes the results for 1 million trade agreements.
Post trade agreement step Latency for 100 retail stores (2 HQ/Synch
Service)
Post trade agreement 07:30:00
Create actions 03:07:49
A-1040 04:20:16
Total 14:58:05

Post trade agreement
Deploy the initial test demo dataset, which contains 1,000 products.
Truncate the RetailConnPreAction and RetailConnAction tables in Microsoft Dynamics AX to remove all
pre-actions and actions before starting the scenario steps and performance measurements.
Create 100 journals with 10,000 item lines that include a change in the sales price.
Use the Microsoft Dynamics AX client to post all 100 journals one at a time.
Results summary
Each journal posting took 4 minutes, 30 seconds. The total time to post 100 journals was 7.5 hours.
No system resources (CPU usage, memory usage, disk I/O, or network) were a constraint or caused a
bottleneck on the Microsoft Dynamics AX client, AOS, or the database machines.
Suggested scale-out option
Create more journals, each with a smaller number of products for example, 10,000 lines per journal.
Because it takes longer to post a journal with a large number of lines, splitting journal lines between
multiple journals will reduce the posting time.


24

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Create actions
Microsoft Dynamics AX, setting: Set the Retail Scheduler Number of documents in batch task
parameter to 6,250, which will be referred to as the batch size. This setting is used by Create
actions batch processing to scale out the processing of pre-actions.
Run the Create actions job in batch processing mode.
Run eight AOS threads per AOS instance.
Results summary
Processing 1 million pre-actions and generating 2 million actions took 3 hours, 7 minutes, 49 seconds.
In the current execution, the batch size for one thread is 6,250, resulting in the creation of 160
batch threads. Because there are eight AOS threads, only eight threads were active at any given
time. It took approximately 12 minutes for each thread to run and create 6,250 actions.
Suggested scale-out options
Ensure that all processed pre-actions and actions are deleted periodically.
Define the batch size to leverage the optimal processing of pre-actions.
Depending on the number of AOS instances and AOS threads per AOS instance that are assigned for
Create actions batch processing, you can define the value for the Retail Scheduler Number of
documents in batch task parameter. For example, if you will be processing 100,000 pre-actions
every time by using eight AOS threads, set Number of documents in batch task to 10,0000/8
= 12,500.
Consider adding more AOS instances and, based on the average number of pre-actions to process,
consider increasing the value of the Number of documents in batch task parameter.
A-1040
Run the A-1040 job for 100 retail POS stores in batch processing mode.
Vary the number of HQ/Synch Service instances between one, two, five, and ten.
Results summary
The following chart shows that Synch Service can scale out with more instances of HQ/Synch Service,
and that it can handle processing 1 million trade agreements to 100 stores in less than 1 hour with 10
HQ/Synch Service instances running.


25

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
The results also show that HQ/Synch Service creates compressed data files of 17.25 MB per store for
100,000 products.

Average HQ/Synch Service latency vs. the number of HQ/Synch Service instances where the A-1040 job is run
for 1 million trade agreements to 100 stores
System resource usage for Synch Service
The average CPU usage is below 10 percent on a four-processor VM, with a maximum of 100 percent
for one to two HQ/Synch Service instances on the same VM. If five instances are hosted on the VM
with four processors, the average CPU usage goes to 65 percent. We recommend that the
maximum number of instances hosted on a machine equal the number of Synch Service instances
to prevent excessive context switching.
The AOS CPU usage increases by 3 to 4 percent with the number of HQ/Synch Service instances; so
for 10 HQ/Synch Service instances, the average CPU usage for a single AOS instance is 54
percent. One AOS instance can handle at least 10 more Synch Service instances.
The average memory usage is 2.0 GB, with a maximum of 2.75 GB.
The average disk queue length is less than 1, with maximum of 10 for 10 HQ/Synch Service instances.
1 2 5 10
A-1040 for 1 Million
Trade Agreement per
store
09:16:29.317 04:05:31.344 01:46:43.343 00:58:37.773
00:00:00.000
01:12:00.000
02:24:00.000
03:36:00.000
04:48:00.000
06:00:00.000
07:12:00.000
08:24:00.000
09:36:00.000
10:48:00.000
S
y
n
c
h

S
e
r
v
i
c
e

l
a
t
e
n
c
y

(
h
h
:
m
m
:
s
s
.
0
0
0
)
Number of Synch Service instances
Average Synch Service latency vs. the number of Synch Service
instances [A-1040 job for 1 million trade agreements to 100
stores]


26

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
The average network throughput is 1.3 MB per second, with a maximum of 176 MB per second while
all data files are transferred from the HQ/Synch Service VM to a POS/Synch Service VM. With the
bandwidth of a smaller network and a remote location for POS/Synch Service, you might notice
more delay in sending packets from the HQ/Synch Service machine to the POS/Synch Service
machine.
The Microsoft Dynamics AX database size after A-1040 ran was 18 GB, and one stores database size
was 1.2 GB
Suggested scale-out options for HQ/Synch Service
Add more HQ/Synch Service instances to reduce the time it takes to send data to stores by using the
A-1040 job. The test results show that a single instance of Synch Service takes 6 to 6.5 minutes
to read 2 million records from the AOS instance per store. The same time is observed when 10
HQ/Synch Service instances are running concurrently. This leads to the conclusion that the time
will remain at 6 to 6.5 minutes, regardless of the number of Synch Service instances that are
running.
Distribute stores among different distribution schedules:
Create a different distribution list to divide a workload.
Schedule a distribution of the A-1040 job at different times, so that no two jobs run at the same
time. This will prevent a bottleneck, where all store information is being read at once for the
A-1040 job.



27

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Scenario: End-of-day financial posting, including POS
transaction import, inventory posting, statement
calculation, and statement posting
Dataset
For each store database for 100 stores, create 10,000 retail transactions that contain the following:
5 line items per transaction
10,000 products used across the 10,000 transactions
Anonymous customers for all transactions
Run two AOS instances.
Run eight AOS threads for each AOS instance.
Apply the following index:
create index CustInvoiceTrans_perfIdx on CustInvoiceTrans (PARTITION, DATAAREAID,
INVOICEID) with (online = on)
Run the P-0001 job for all 100 stores.
Variations:
Number of stores: 5, 10, 20, 50, 100
Number of HQ/Synch Service instances used: 1, 2, 5, 10, which are connected to one AOS
instance
Run the following posting flow for 100 stores and 10,000 transactions per store, with five product lines
per transaction per store. This batch job will run in batch processing mode with a total of 24 AOS
threads.
Post inventory
Statement calculation
Statement posting
End-to-end financial posting results
The following table shows the results for the financial posting in 100 stores. Financial posting included
pulling 10,000 transactions from each store, running through the inventory posting, and calculating
and posting the statements in one full end-to-end flow. In the following table, the P-0001 job results
are displayed for 2 HQ/Synch Service instances.
Financial posting step Latency
P-0001 (two Synch Service instances) 00:59:51
Post inventory 02:25:05
Statement calculation 00:50:59
Statement posting 06:30:14
Total 10:46:09



28

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
P-0001 schedule job
Results summary
The following chart shows the latency of HQ/Synch Service for the P-0001 job with a single HQ/Synch
Service instance as the number of stores increases from five to 100.
With one HQ/Synch Service instance, the P-0001 job latency increases linearly with the increase in the
number of stores. On average, it takes one second to process 200 transactions from one store, with
five lines per transaction.

Single HQ/Synch Service instance latency from P-0001 job execution vs. the number of stores for 10,000
transactions

5 10 20 50 100
P-0001 (10K
Transactions/Store)
00:04:41.236 00:09:44.000 00:18:06.460 00:50:25.443 01:48:09.334
00:00:00.000
00:14:24.000
00:28:48.000
00:43:12.000
00:57:36.000
01:12:00.000
01:26:24.000
01:40:48.000
01:55:12.000
S
y
n
c
h

S
e
r
v
i
c
e

l
a
t
e
n
c
y

(
h
h
:
m
m
:
s
s
.
0
0
0
)
Number of retail stores
Synch Service latency vs. the number of stores [P-0001 job]


29

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
The following chart shows the latency of HQ/Synch Service for the P-0001 job for 100 stores as the
number of HQ/Synch Service instances increases from one to 10.
The results show that, if you add more HQ/Synch Service instances in parallel, the P-0001 job can
scale out evenly. This information can be useful for planning as the number of stores or the number of
transactions increases.

For 100 stores, the average HQ/Synch Service latency of P-0001 vs. the number of HQ/Synch Service instances
for 10,000 transactions

1 2 5 10
P-0001 (10K
Transactions/Store)
01:48:09.334 00:59:18.986 00:35:19.854 00:22:17.520
00:00:00.000
00:14:24.000
00:28:48.000
00:43:12.000
00:57:36.000
01:12:00.000
01:26:24.000
01:40:48.000
01:55:12.000
S
y
n
c
h

S
e
r
v
i
c
e

l
a
t
e
n
c
y

(
h
h
:
m
m
:
s
s
.
0
0
0
)
Number of Synch Service instances
Average Synch Service latency vs. the number of Synch Service
instances [P-0001 job]


30

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
HQ/Synch Service data package volume
HQ/Synch Service creates 3.75-MB compressed data files per store for a dataset of 10,000
transactions where there are five lines per transaction.
For a single store and 1,000 transactions, the data package size is .375 MB.
For 100 stores, the data package size is 375 MB.
The current results also show that the data volume grows linearly as the number of stores and
transactions increases for a single HQ/Synch service instance. This data can be used to determine
how much data can be transferred with every P-0001 job pull to HQ/Synch Service.
System resource usage
The average CPU usage is below 15 percent on a four-processor VM, with a maximum of 100 percent.
The average memory usage is 2 GB, with a maximum of 3.75 GB.
The average disk queue length is 0.7, with a maximum of 4.
The average network throughput is 450 KB per second, with a maximum of 25 MB per second while all
the data files are transferred from the POS/Synch Service VM to the HQ/Synch Service VM. With
smaller network bandwidth and a remote location for POS/Synch Service, you might notice more
delay in sending packets from the POS/Synch Service machine to the HQ/Synch Service machine.
Suggested scale-out options
Add more HQ/Synch Service instances to decrease the overall processing time.
Run the P-0001 job and then post the inventory at regular, frequent intervals to minimize the overall
processing time for end-of-day financial posting.
Distribute stores among multiple distribution schedules:
Create a different distribution list to divide the workload for different stores.
Schedule the P-0001 job for different stores at different times, so that system isnt overloaded.
This will prevent a bottleneck, where all store information is being read at once for the P-0001
job.
Regularly archive processed transactions in HQ/Synch Service from the RetailTransactionTable,
RetailTransactionSalesTrans, RetailTransactionPaymentTrans, and RetailTransactionTaxTrans
tables to prevent performance issues.



31

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Inventory posting for end-of-day sales
Dataset
100 stores
10,000 transactions per store
5 line items per transaction
10,000 total products distributed across all transactions
Microsoft Dynamics AX configuration setting: In Retail parameters > Aggregation, select the
Voucher transactions check box. This will turn on aggregation for statement posting.
2 AOS instances
8 AOS threads per AOS instance
Results summary
Updating the inventory of 10,000 products from 100 stores took 2 hours, 25 minutes. Posting the
inventory resulted in the update and insertion of records in the InventSum, InventSumLogtts,
InventTrans, and InvenTransOrigin tables.
Resource usage
The average AOS CPU usage is 78 percent, with a maximum of 100 percent for short durations.
The memory usage on AOS is 11 GB out of 16 GB when eight AOS threads were running per AOS
instance.
The average CPU usage on the Microsoft Dynamics AX database SQL Server instance is 11 percent,
with a maximum of 80 percent.
The memory usage on the Microsoft Dynamics AX database is 42 GB out of 64 GB.



32

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Calculate and post statements
Dataset
100 stores
10,000 transactions per store
5 line items(products) per transaction
10,000 products used across all transactions
2 AOS instances
8 AOS threads per AOS instance
Results summary
Statement calculation
It took 50 minutes, 59 seconds to create statements for 100 stores, where each store had 10,000
transactions with five lines per transaction.
Resource usage
The average AOS CPU usage is 29 percent, with a maximum of 86 percent.
The memory usage on AOS is 11 GB out of 16 GB when eight AOS threads were running for each
AOS instance.
The average CPU usage on the Microsoft Dynamics AX database SQL Server instance is 15
percent, with a maximum of 40 percent.
The memory usage on the Microsoft Dynamics AX database is 46 GB out of 64 GB when a total of
16 AOS threads were connected to the Microsoft Dynamics AX database. There was no cap on
SQL Server memory, so SQL Server allocates whatever memory is available and attempts to
use it. This means that the usage listed here may not reflect the real usage of SQL Server.
Statement posting
Posting the statements for 100 stores, where each store had 10,000 transactions with five lines
per transaction, and where 10,000 products were used across each store, took 6 hours, 30
minutes, 14 seconds.
On average, it is taking between 55 minutes and one hour to process one statement and then
generate the sales order invoice with 10,000 lines.
Resource usage
The average AOS CPU usage is 58 percent, with a maximum of 100 percent.
The memory usage on AOS is 12 GB out of 16 GB when eight AOS threads were running per AOS
instance
The average CPU usage on the Microsoft Dynamics AX database SQL Server instance is 28
percent, with a maximum of 60 percent.
The memory usage on a Microsoft Dynamics AX database is 44 GB out of 64 GB when a total of 16
AOS threads were connected to the Microsoft Dynamics AX database. There was no cap on
SQL Server memory, so SQL Server allocates whatever memory is available and attempts to
use it. This means that the usage listed here might not reflect the real usage of SQL Server.
The Microsoft Dynamics AX database size after statement posting was 48 GB, and the store
database size was 1 GB for 100,000 products and 10,000 transactions per store


33

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Additional end-of-day financial posting scenario and results
An additional performance test was run on the end-of-day financial posting with a different hardware
configuration and using a different dataset for performance testing purposes only. The following table
summarizes the test results.
Topology for this additional test only
Retail topology
role
Number of
machines for
800-store
configuration
Number of
processors
Processor
speed (GHz)
Memory
size
allocated
(GB)
Disk
capacity
(GB)
AOS 5 8 2.300 16 500
HQ/Synch Service 1 8 2.300 16 500
POS/Synch Service 1 8 2.300 16 500
Microsoft Dynamics AX
database
1 16 2.310 32 500 GB+ 4 TB
of SAN storage
Store databases,
Synch Service
databases
1 16 2.310 32 500 GB+ 4 TB
of SAN storage

Topology notes
All the preceding topology roles are running on physical machines.
The store databases and the Synch Service database are located on same physical machine.
Five store databases are created on a database server machine, and each database simulates a
transaction load of 160 stores.
Five instances of Synch Service are hosted on a single physical machine.
Five instances of POS/Synch Service are hosted on a single physical machine.
This topology and the machines are in a different lab and on different hardware machines than in
earlier scenarios.
Dataset
Create 1,000 retail transactions per store database for 800 stores:
An average of 1.5 line products per transaction
1,000 products used across 10,000 transactions
Anonymous customers for all transactions
Run 8 AOS threads per AOS instance.
Run the P-0001 job for all 800 stores, using trickle feed of 20 iterations.
For 800 stores, run the following three steps in batch processing mode:
Post inventory
Statement calculation
Statement posting


34

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
End-to-end financial posting results summary
The following table shows the results of the end-of-day financial posting for 800 stores. The end-of-
day posting for each store includes a dataset of 1,000 transactions with 1.5 lines per transaction. This
dataset is used to post the inventory, calculate the statement, and then post the statements in an
end-to-end process. The end-of-day financial posting took 3 hours, 58 minutes, 51 seconds to
complete using 40 AOS threads concurrently. These test results provide insight into running AOS on
physical machines. If you add more AOS instances, the end-of-day financial posting for 800 stores can
be completed.
Financial posting step Latency
Post inventory 01:09:00
Statement calculation 00:13:51
Statement posting 02:36:00
Total 03:58:51

Resource usage
CPU usage
The average CPU usage on a Microsoft Dynamics AX database machine was between 30 and 45
percent during the batch job processing.
The average CPU usage on the AOS machines was between 12 and 41 percent during the batch
job processing.
Memory usage
The memory usage on the AOS machines was no more than 50 percent.
On the Microsoft Dynamics AX database machines, no more than 28 GB was used by SQL Server,
because the maximum server memory was set at 28 GB on the SQL Server machine.



35

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Scenario: Trickle feed to import POS transactions and post
inventory
Dataset
Create 1,000 retail transactions per store database for 100 stores:
5 line items per transaction
10,000 products used across the 10,000 transactions
Anonymous customers for all transactions
Run two AOS instances.
Run eight AOS threads per AOS instance.
Run two HQ/Synch Service instances, where each Synch Service instance refers to a single AOS
instance.
Run the following set of steps 10 times in a back-to-back iteration:
Run the P-0001 job for 100 stores.
Run the Post inventory batch job for 100 stores.
End-to-end trickle feed flow results summary
The following chart shows the results for the trickle feed inventory posting of 1,000 transactions and
updating that inventory by using the inventory posting for 100 stores in an end-to-end process
flow. Trickle feed is the import of POS transactions into Microsoft Dynamics AX and the periodic
update of inventory in Microsoft Dynamics AX throughout the day.
In this test, you will see that the latency is increasing for the P-0001 job and inventory posting as the
number of data transfers, or pulls from stores to HQ, increases over time:
The P-0001 job latency increase is due to the increase in the number of records in the
RetailTransactionSalesTrans table in Microsoft Dynamics AX as Synch Service bulk inserts
5,000 records per store.
The number of inventory transactions per day has a direct correlation to the latency on the Post
inventory job.


36

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE

Trickle feed latency for 100 stores, with 1,000 transactions per store and five product lines per transaction,
with two Synch Service instances and two AOS instances
Resource usage
The AOS CPU usage is approximately 10 percent overall, and the HQ/Synch Service CPU usage is
approximately 40 percent during the P-0001 job execution. The CPU usage on the Microsoft
Dynamics AX database SQL Server instance was approximately 35 percent during inventory
posting and the P-0001 job execution.
The memory usage for Synch Service and AOS is less than 3 GB, and the memory usage for the
Microsoft Dynamics AX database is 30 GB.
The maximum network throughput was 560 kbps on AOS, with an average network usage of 800 kbps
on AOS.
1 2 3 4 5 6 7 8 9 10
Post Inventory 00:13:4300:14:0400:15:2900:16:3400:16:3400:16:5400:17:4000:20:1700:20:5100:24:13
P-0001 Job 00:06:5800:07:2000:07:3500:07:4600:07:5400:08:0500:08:1600:08:2800:08:4900:09:05
00:00:00
00:02:53
00:05:46
00:08:38
00:11:31
00:14:24
00:17:17
00:20:10
00:23:02
00:25:55
L
a
t
e
n
c
y
Number of iterations
Trickle feed for 100 stores with 1,000 transactions per store
with two AOS instances, eight AOS threads per AOS instance,
and Synch Service


37

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Suggested scale-out options
Regularly archive processed transactions in Microsoft Dynamics AX from the RetailTransactionTable,
RetailTransactionSalesTrans, RetailTransactionPaymentTrans, and RetailTransactionTaxTrans
tables to prevent performance issues. There is no standard for archiving processed transactions,
so archiving must be gauged on individual business requirements and the associated risks.
Frequently pull a smaller number of transactions throughout the day to reduce the latency of
inventory posting. The overall latency will be distributed throughout the day to reduce the
blockage of updates at the end of the day.



38

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Scenario: Add a product to a retail POS transaction
Add 1 to 10 products to a retail POS transaction.
The measurement is the average of 10 POS retail transactions, excluding the first transaction.
The first transaction after the POS startup is measured separately as Cold start 1st item add.
The POS client is connected to the store database in online mode.
The following data variation is used in the test:
100,000 products
200,000 products
500,000 products
Topology
Retail topology role Operating system SQL Server version CPU
cores
Memory
Store database (online
mode)
Microsoft Windows 2008 R2
(x64)
SQL Server Enterprise
2008 R2
2 4 GB
POS clients Microsoft Windows
Embedded POSReady 2009
and Windows 7
SQL Server Express 2008
R2
1 2 GB

Results summary
The following chart shows the results of adding a product to a POS retail transaction at different
volumes of products in the store database:
The first item add (cold) that is measured after the POS client is started is the first item that was
added in the first transaction. This measurement shows a higher latency compared to the first
item add from the second transaction, because the POS client started on the system as a terminal
in a store. This latency increases as the number of products in the store database increases.
Adding additional transactions takes less than one second per transaction. The CPU usage of the POS
client is approximately 90 percent, with a maximum of 95 percent. The memory usage is 1.5 GB.
The size of the POS store database (online mode) with 500,000 customers and 500,000 products was
3 GB.


39

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE

Latency for the first item add (cold start), first item add (warm), and second, fifth, and tenth item adds in a
POS retail transaction. The measurements include different product volumes in an online POS store database.

100K 200K 500K
1st Item Add [Cold] 00:00:02.274 00:00:07.054 00:00:09.277
1st Item Add [Warm] 00:00:00.728 00:00:00.735 00:00:00.736
2nd Item Add [Warm] 00:00:00.628 00:00:00.518 00:00:00.597
5th Item Add [Warm] 00:00:00.636 00:00:00.509 00:00:00.598
10th Item Add [Warm] 00:00:00.635 00:00:00.524 00:00:00.601
00:00:00.000
00:00:01.728
00:00:03.456
00:00:05.184
00:00:06.912
00:00:08.640
00:00:10.368
L
a
t
e
n
c
y

[
h
h
:
m
m
:
s
s
.
0
0
0
]
Number of assorted products in a store
Add item to a POS retail transaction latency at different
product volumes


40

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Scenario: POS product search
Search products by the complete product name from the Item search form. This data is stored in the
online POS store database.
Products dont have discounts added to them in this test.
The measurement is an average of 10 variations, excluding the first cold measurement.
The POS client is connected to the store database in online mode.
The following variations in the volume of products in the store database are used in this test:
100,000 products
200,000 products
500,000 products
Topology
Retail topology role Operating system SQL Server version Memory/
CPU
Memory
Store database (online
mode)
Windows 2008 R2 (x64) SQL Server Enterprise
2008 R2
2 cores 4 GB
POS clients Microsoft Windows
Embedded POSReady
2009 and Windows 7
SQL Server Express 2008
R2
1 core 2 GB




41

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Results summary
The following chart shows that latency for the product search increases with an increase in the number
of products in the store database.
When the volume of the products in the store database increases, CPU usage of the POS database and
POS client will briefly swing between 50 and 70 percent during the execution and measurement of
the test.
The size of the POS store database (online mode) with 500,000 customers and 500,000 products was
3 GB.

Single product search latency at different product volumes

100K Products 200K Products 500K Products
Product Search 00:00:05 00:00:08 00:00:11
00:00:00
00:00:02
00:00:03
00:00:05
00:00:07
00:00:09
00:00:10
00:00:12
L
a
t
e
n
c
y

[
h
h
:
m
m
:
s
s
.
0
0
0
]
Number of products
Product search latency for different data volumes


42

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Scenario: POS customer search
Search for a specific customer from the Customer search form. This data is stored and available in
the online store database.
The measurement is an average of 10 variations, excluding the first cold measurement.
The POS client is connected to the store database in online mode.
Hotfix #KB2828151 is applied, because the tests were run on Microsoft Dynamics AX 2012 RC2 CU1.
This hotfix is available for customers through the usual support channels.
The following data variations are used in the test:
100,000 customers
200,000 customers
500,000 customers
Topology
Retail topology role Operating system SQL Server version CPU
cores
Memory
Store database (online
mode)
Windows 2008 R2 (x64) SQL Server Enterprise
2008 R2
2 4 GB
POS clients Microsoft Windows
Embedded POSReady 2009
and Windows 7
SQL Server Express 2008
R2
1 2 GB




43

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Results summary
When the customer volume increases in the store database, the CPU usage of the POS database and
POS client will briefly go up between 20 and 30 percent for few seconds during the execution and
measurement of the test.
There is an almost 70-percent performance improvement when the hotfix is applied, so it is
recommended that customers apply this hotfix if its not already included at install time.
The size of the POS store database (online mode) for 500,000 customers and 500,000 products was 3
GB.

Single customer search latency at different customer volumes

100K Customers 200K Customers 500K Customers
Customer Search 00:00:00.950 00:00:01.480 00:00:02.128
00:00:00.000
00:00:00.432
00:00:00.864
00:00:01.296
00:00:01.728
00:00:02.160
00:00:02.592
L
a
t
e
n
c
y

[
h
h
:
m
m
:
s
s
.
0
0
0
]
Number of customers in store database
Customer search Latency for different data volumes


44

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Scenario: POS initial offline synchronization
No change to the default offline synchronization scopes
No change to the default settings in the application configuration
Data volume variations used during the initial offline synchronization:
100,000 products and 100,000 customers
200,000 products and 200,000 customers
500,000 products and 500,000 customers
Topology
Retail topology
role
Operating system SQL Server version CPU cores Memory
Store database (online
mode)
Windows 2008 R2 (x64) SQL Server Enterprise
2008 R2
2 4 GB
POS clients, POS offline
database, offline
synchronization service
Microsoft Windows
Embedded POSReady
2009 and Windows 7
SQL Server Express
2008 R2
1 2 GB

Overview
The offline service profile is set up with the following 15 default scopes:
Currency
Customers
Discount
Reason code information
Products, prices, and bar codes
Staff
Stores and tenders
Tax
Registers
Modes of delivery
POS transactions
Seed values
Suspended transactions
Serialized transactions
POS batch staging
Each scope will have a list of tables to move from online mode to the offline database.
The offline synchronization service runs on the POS client and is used to sync the store database to
the POS offline database that is located locally on the same machine as the POS client. The offline
synchronization service uses the Microsoft Sync Framework with database synchronization provider to
start all scope synchronization in parallel.


45

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Results summary
The following chart shows a dataset of the number of records in the store tables. The synchronization
latency increases slightly more than linearly. For 100,000 products and customers, it took
approximately 30 minutes. For 500,000 products and customers, it took approximately 3 hours, 54
minutes.
After the offline synchronization service starts, it starts all fifteen default scopes. All the scopes are
run in parallel by using the Microsoft Sync Framework with database synchronization provider. The
Microsoft Sync Framework with database synchronization provider uses 25MB for MemoryDataCache
size in SyncServiceConfig.Config and has observed that offline Service bulk inserts 80 records to the
offline database.
The size of the POS store database (online mode) with 500,000 customers and 500,000 products was
3 GB.
While the initial synchronization was in progress, the CPU usage was at approximately 98 to 100
percent. The memory usage was between 90 and 100 percent, and the network usage was raised to 3
GB per second. The Ethernet bandwidth for this test was 10 GB.

POS database offline synchronization latency vs. the number of different master datasets of products and
customers
100K Product,
100K Customers
200K Product,
200K Customers
500K Product,
500K Customers
POSDB Offline Sync Latency 00:29:50.072 01:03:45.767 03:54:06.736
00:00:00.000
00:28:48.000
00:57:36.000
01:26:24.000
01:55:12.000
02:24:00.000
02:52:48.000
03:21:36.000
03:50:24.000
04:19:12.000
O
f
f
l
i
n
e

P
O
S

d
a
t
a
b
a
s
e

s
y
n
c
h
r
o
n
i
z
a
t
i
o
n

l
a
t
e
n
c
y

(
h
h
:
m
m
.
s
s
)
Number of products and number of customers
POS database offline synchronization latency for variation in
master dataset (products and customers)


46

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
The following chart shows the CPU consumption of the offline database machine for 100,000 products
and customers.

CPU usage on the POS client machine during the initial offline synchronization of 100,000 products and
customers
Suggested scale-out options
Because the CPU and memory usage is 100 percent on an offline synchronization database machine,
one scale-out option is to increase the memory and processor capacity of the offline database
machine.
Evaluate the offline scopes listed earlier that you want to sync, and plan out time to sync a larger
volume of data up front. For example, you can turn on the scopes for customers, products, prices,
and bar codes. Sync those scopes first, and then sync the remaining scopes.
Use the server edition of SQL Server instead of SQL Server Express. For a comparison of the various
editions of SQL Server, see http://msdn.microsoft.com/en-us/library/cc645993(v=SQL.110).aspx.
0
20
40
60
80
100
120
1
0
:
2
8
:
3
7
1
0
:
2
9
:
3
4
1
0
:
3
0
:
3
0
1
0
:
3
1
:
2
6
1
0
:
3
2
:
2
3
1
0
:
3
3
:
1
9
1
0
:
3
4
:
1
5
1
0
:
3
5
:
1
2
1
0
:
3
6
:
0
8
1
0
:
3
7
:
0
4
1
0
:
3
8
:
0
0
1
0
:
3
8
:
5
6
1
0
:
3
9
:
5
3
1
0
:
4
0
:
4
9
1
0
:
4
1
:
4
5
1
0
:
4
2
:
4
2
1
0
:
4
3
:
3
8
1
0
:
4
4
:
3
4
1
0
:
4
5
:
3
0
1
0
:
4
6
:
2
7
1
0
:
4
7
:
2
3
1
0
:
4
8
:
1
9
1
0
:
4
9
:
1
5
1
0
:
5
0
:
1
1
1
0
:
5
1
:
0
8
1
0
:
5
2
:
0
4
1
0
:
5
3
:
0
0
1
0
:
5
3
:
5
6
1
0
:
5
4
:
5
2
1
0
:
5
5
:
4
9
1
0
:
5
6
:
4
5
1
0
:
5
7
:
4
1
C
P
U

u
s
a
g
e

%
Offline synchronization duration [hh:mm:ss]
CPU usage on POS client machine during initial offline
synchronization [Volume: 100,000 products, 100,000
customers]
CPU
Usage
on
Offline
Sync
Machi
ne


47

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Scenario: Multiple concurrent calls to the Real-time Service
APIs
Dataset
The Real-time Service API gets tested as part of this scenario:
Create a customer order with two line items.
Issue a gift card.
Look up inventory.
Staff log in.
Staff log out.
Products: 100,000
Stores: 100
Terminals: 10 terminals per store
Test automation is run from two test clients, each with 50 threads that directly call Real-time Service
APIs.
Load the test dataset with a set of 50 concurrent sessions and a set of 100 concurrent sessions:
50 concurrent API tests with one Real-time Service instance and one AOS instance
100 concurrent API tests with two Real-time Service instances and two AOS instances
Topology
Retail
topology role
VM or
physical
Number of
VMs for 100-
store
configuration
Number of
processors
Memory size
allocated
(GB)
Disk capacity
(GB)
AOS VM 2 4 16 300
Microsoft
Dynamics AX
database
Physical 1 24 cores 64 2,048
Real-time
Service
VM 2 4 16 500
Test client to
load Real-time
Service
VM 2 8 32 500




48

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Results summary
In the following chart, there are five Real-time Service API latencies for 50 and 100 concurrent calls at
any given time
For the 50 concurrent calls test, the test was run with one Real-time Service instance and one AOS
instance. For the 100 concurrent calls test, two Real-time Service instances and two AOS
instances were used.
For 100 concurrent API calls, the latency per Real-time Service API has increased by approximately 25
percent, even when more AOS and Real-time Service instances are added, so the load does not
linearly increase.

Real-time Service APIs latency for different concurrent loads
Resource usage
The AOS CPU usage is approximately 60 percent. The Real-time Service CPU usage is approximately
36 percent for both variations of 50 and 100 concurrent calls. The CPU usage of the Microsoft
Dynamics AX database was approximately 5 percent for 50 concurrent calls and 10 percent for
100 concurrent calls.
The memory usage was below 2.2 GB for Real-time Service and below 4.25 GB for AOS.
The maximum network throughput was 8 mbps on the AOS instance, and the average network usage
on AOS was 4 mbps.
Create
Customer
Order
Staff Log In Staff log Out
Inventory
Look Up
Issue Gift
Card
50 Concurrent API Transaction
Service API Request
0:00:01.828 0:00:01.230 0:00:01.303 0:00:01.771 0:00:01.269
100 Concurrent Transaction
Service API Transaction Service
API Request
0:00:02.418 0:00:01.678 0:00:01.744 0:00:02.534 0:00:01.730
0:00:00.000
0:00:00.432
0:00:00.864
0:00:01.296
0:00:01.728
0:00:02.160
0:00:02.592
0:00:03.024
A
P
I

l
a
t
e
n
c
y

(
h
h
:
m
m
:
s
s
.
0
0
0
)
Transaction service APIs
Real-time Service APIs latency for different concurrent loads


49

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Scenario: Initial catalog publishing
End-to-end flow
Validate the catalog in Microsoft Dynamics AX.
Publish the catalog in Microsoft Dynamics AX.
Run the A-1075_OC distribution schedule job in Microsoft Dynamics AX.
Run the SharePoint/RetailPublishingJob job to perform the initial publication and synchronization for
the catalog by using SharePoint.
Dataset
The catalog has 1 million non-variant products, with 8 million category attributes and 10 million
channel attributes.
Each product is distributed under 256 leaf nodes of a category hierarchy.
There are 251 category trees that measure 4 wide 4 deep, and that have a total of 341 nodes.
Six hundred distinct category attributes are distributed across 256 category attribute groups.
Ten channel attribute groups are assigned to all products through the channel.
There are one to 17 category attributes, with an average of eight category attributes per product.
All products get two discounts. The first discount is a 10-percent line item discount for all products.
The second discount is selected from one of the following discounts, which are distributed evenly:
Multi-buy discount with 20 percent off two products
Mix and match discounts
Promotion lines
Quantity discounts
Note: The default values in the configuration parameters for the SharePoint/RetailPublishingJob job
are used.
Topology
Retail topology role VM or
physical
Number of
VMs
Number of
processors
Memory
size
allocated
(GB)
Disk
capacity
(GB)
AOS VM 1 4 16 300
HQ/Synch Service VM 1 4 16 300
Online store/Synch Service VM 1 8 32 500
Microsoft Dynamics AX
client
VM 1 2 8 300
Microsoft Dynamics AX
database
Physical 1 24 64 2,048
SharePoint database/CRT
database
Physical 1 24 64 2,048


50

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Retail topology role VM or
physical
Number of
VMs
Number of
processors
Memory
size
allocated
(GB)
Disk
capacity
(GB)
SharePoint application
server
Physical 1 24 64 2,048

Note: The Commerce Run-time (CRT) database and SharePoint databases are located on the same
physical machine, but they are on separate physical disks to separate the disk I/O activities.
Overall results summary
The following table summarizes the results of publishing the product catalog from Microsoft Dynamics
AX to the SharePoint Retail online channel.
Publish product catalog step Latency for a product catalog of this size
500,000 products 1 million products
Validate the catalog in Microsoft Dynamics AX 00:39:50 01:15:51
Publish the catalog in Microsoft Dynamics AX 00:22:27 00:55:46
Run the A-1075_OC job from Microsoft
Dynamics AX to the CRT database
01:23:18 02:42:21
Run SharePoint/RetailPublishingJob to publish
the catalog in SharePoint
02:51:43 06:28:19
Total 05:17:18 11:22:17

Result notes
Validate the catalog in Microsoft Dynamics AX
Validate catalog in Microsoft Dynamics AX checks the validity of the catalog and also creates the
catalog listing. In the preceding summary, the validation of the catalog takes 1 hour, 15 minutes. The
validation creates a total of 8 million product attribute listings and 10 million product channel attribute
listings.
Publish the catalog in Microsoft Dynamics AX
The Publish catalog batch processing job creates one action with a packed query to send 1 million
catalogs to the online store.
Run the A-1075_OC job from Microsoft Dynamics AX
Synch Service reads 52 million records from Microsoft Dynamics AX, resulting in 52 records per
product being sent from Microsoft Dynamics AX to CRT.
Run SharePoint/RetailPublishingJob
SharePoint/RetailPublishingJob took 6 hours, 28 minutes, 19 seconds to be completed. This job uses
multi-thread logic to read 52 million retail listings from the CRT database in 2 hours, 28 minutes. In
addition, the job takes 3 hours, 40 minutes to create a SharePoint list for 1 million products. The
SharePoint Server Side Object Model API is used to create the list.


51

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Resource usage
Resource usage for AOS and HQ/Synch Service
The average CPU consumption on AOS, the Microsoft Dynamics AX database, and Synch Service was
between 10 and 20 percent across all server roles.
The memory consumption was as follows:
AOS: 4 GB
HQ/Synch Service: 3 GB
Microsoft Dynamics AX database: 42 GB
Resource usage for SharePoint/catalog publishing
The average CPU usage of the SharePoint application server was approximately 60 percent. During
catalog publishing, the CPU usage varied from the retrieval of the retail listing from the CRT
database to the creation of the SharePoint listing.
The memory consumption on the SharePoint application server is 45 GB, with about 24 GB being used
by the publishing process itself. Consumption scales up linearly over several hours and then stays
flat after the retrieval phase.
The size of the CRT database is 12 GB.
Scale-out option
Split a large catalog into smaller catalogs:
A smaller catalog takes less time to publish end-to-end.
Though all four steps (validate catalog, publish catalog in Microsoft Dynamics AX, run the A-1075_OC
job, and run SharePoint/RetailPublishingJob) need to be completed in sequence for a given
catalog, the Microsoft Dynamics AX steps and the SharePoint step can be completed in parallel.
The parallel completion of steps on a smaller catalog can speed up the overall end-to-end publishing
time for over 1 million products.



52

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Conclusion
The information provided in this white paper can be used as a guideline to help assess the
infrastructure needs for Microsoft Dynamics AX retail implementations. These performance tests were
run and measured in a controlled lab environment, with no other applications running. They were
specifically targeted for retail scenarios. This white paper reflects our experience working with
customers, ongoing scale testing, and performance tests that are run on a regular basis, and also
scenario-specific performance tests that represent typical retail environments. Use this information as
a starting point to evaluate the options for configuring topologies that simulate implementation-
specific environments before making any decision to appropriately size the topologies for production
use.
For example, the following baseline parameters could be considered for a typical workload for a
headquarter location/store location set of scenarios:
1 headquarter location
50 store locations
10,000 POS transactions per store, with an average of five line items (products) per
transaction
100,000 products in an assortment
1 million products
This is just a representative example, and based on the preceding information, the following topology
would be an option to consider, based on the test results.
Retail topology role for 50
stores
Number of service
instances
Number of
processors
RAM
AOS service 1 4 16 GB
HQ/Synch Service 1 4 8 GB
Real-time Service 1 4 8 GB

For a change in any of the previously mentioned baseline parameters, the infrastructure would change
accordingly. For example, 100 stores with similar baseline dataset for each store, as mentioned
earlier, would require twice the number of processors and RAM capacity, thereby doubling the
infrastructure required to deliver on the same scale. However, do no use this example as a guideline
for configuring or sizing your specific implementation, because actual sizing should take into account
various factors, such as the system configuration (processor, RAM, and so on), other applications that
are running, the state of other Microsoft Dynamics AX modules that are configured, network
bandwidth, and also the overall transaction volumes. The actual transaction mix and data composition
affect sizing and hardware requirements. To determine the topology and sizing, you must perform
proper validation on any combination of the preceding factors through performance and benchmark
tests that closely resemble the specific implementation characteristics.



53

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Appendix
VM configuration information (VMs used for preceding test)
OS name Microsoft Windows Server 2008 R2 Enterprise
OS version 6.1.7601 Service Pack 1 Build 7601
System manufacturer Microsoft Corporation
System model Virtual Machine
Processors 1 processor installed
Intel

Xeon

CPU
L5630 @ 2.13 GHz, 2133 MHz, N cores, N logical processors (where N represents
the total number of processors allocated to the VM by using Hyper V- Manager)
VM processor setting Virtual machine reserve (percentage):100
Virtual machine limit (percentage):100
Relative weight:125
Network adapter Microsoft Virtual Machine Bus Network Adapter

Note: The POS client is running on a Windows 7 x86 OS version.
Physical SQL Server hardware information
OS name Windows Server 2008 R2 Enterprise x64
OS version 6.1.7601 Service Pack 1 Build 7601
System manufacturer HP
System model ProLiant SE316M1R2
Processors 2 processors installed
Intel Xeon CPU
L5640 @ 2.27 GHz, 2261 MHz, 6 cores, 12 logical processors
Intel Xeon CPU
L5640 @ 2.27 GHz, 2261 MHz, 6 cores, 12 logical processors
24 total logical processors
Total physical memory 65,526 MB
Network adapter HP NC362i Integrated DP Gigabit Server Adapter 10gb




54

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Microsoft Dynamics AX database SQL Server settings
Specific changes compared to standard SQL Server settings
SQL property/Setting SQL property value
SQL Server properties
Memory/Max Memory 49152 (of 64 GB)
Processors/Max Worker Threads 960
Processors/Boost SQL Priority True
Processors/Use Windows fibers True
Security/Server Authentication SQL & Windows Mode
Connections/Remote Query Timeout 1800 (sec)

TempDB properties FileName/InitialSize(MB)/AutoGrowth(MB)/Max Size
Files/Database files Tempdev/2048/250/Unrestricted
Files/Database files Tempdev2/2048/250/Unrestricted
Files/Database files Tempdev3/2048/250/Unrestricted
Files/Database files Tempdev4/2048/250/Unrestricted
Files/Database files Tempdev5/2048/250/Unrestricted
Files/Database files Tempdev6/2048/250/Unrestricted
Files/Database files Tempdev7/2048/250/Unrestricted
Files/Database files Templog/2048/250/Unrestricted
Files/Database files Templog1/2048/250/Unrestricted
Files/Database files Templog2/2048/250/Unrestricted
Files/Database files Templog3/2048/250/Unrestricted
Files/Database files Templog4/2048/250/Unrestricted

Microsoft Dynamics AX
database properties
FileName/InitialSize(MB)/AutoGrowth(%)/Max Size
Files/Database files AXDB/12391/10%/Unrestricted
Files/Database files AXDB_Log/10%/250/Unrestricted




55

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Microsoft Dynamics AX database SQL Server sp_configure output
(Highlighted areas are changed compared to the standard SQL Server configuration.)
Name Minimum Maximum config_value run_value
access check cache bucket count 0 65536 0 0
access check cache quota 0 2147483647 0 0
Ad Hoc Distributed Queries 0 1 0 0
affinity I/O mask -2147483648 2147483647 0 0
affinity mask -2147483648 2147483647 0 0
affinity64 I/O mask -2147483648 2147483647 0 0
affinity64 mask -2147483648 2147483647 0 0
Agent XPs 0 1 1 1
allow updates 0 1 0 0
awe enabled 0 1 0 0
backup compression default 0 1 1 1
blocked process threshold (s) 0 86400 0 0
c2 audit mode 0 1 0 0
clr enabled 0 1 0 0
common criteria compliance enabled 0 1 0 0
cost threshold for parallelism 0 32767 5 5
cross db ownership chaining 0 1 0 0
cursor threshold -1 2147483647 -1 -1
Database Mail XPs 0 1 0 0
default full-text language 0 2147483647 1033 1033
default language 0 9999 0 0
default trace enabled 0 1 1 1
disallow results from triggers 0 1 0 0
EKM provider enabled 0 1 0 0
filestream access level 0 2 2 2
fill factor (%) 0 100 0 0
ft crawl bandwidth (max) 0 32767 100 100
ft crawl bandwidth (min) 0 32767 0 0
ft notify bandwidth (max) 0 32767 100 100
ft notify bandwidth (min) 0 32767 0 0
index create memory (KB) 704 2147483647 0 0


56

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Name Minimum Maximum config_value run_value
in-doubt xact resolution 0 2 0 0
lightweight pooling 0 1 1 1
locks 5000 2147483647 0 0
max degree of parallelism 0 1024 1 1
max full-text crawl range 0 256 4 4
max server memory (MB) 16 2147483647 49152 49152
max text repl size (B) -1 2147483647 65536 65536
max worker threads 128 32767 960 960
media retention 0 365 0 0
min memory per query (KB) 512 2147483647 1024 1024
min server memory (MB) 0 2147483647 0 16
nested triggers 0 1 1 1
network packet size (B) 512 32767 4096 4096
Ole Automation Procedures 0 1 0 0
open objects 0 2147483647 0 0
optimize for ad hoc workloads 0 1 0 0
PH timeout (s) 1 3600 60 60
precompute rank 0 1 0 0
priority boost 0 1 1 1
query governor cost limit 0 2147483647 0 0
query wait (s) -1 2147483647 -1 -1
recovery interval (min) 0 32767 0 0
remote access 0 1 1 1
remote admin connections 0 1 0 0
remote login timeout (s) 0 2147483647 20 20
remote proc trans 0 1 0 0
remote query timeout (s) 0 2147483647 1800 1800
Replication XPs 0 1 0 0
scan for startup procs 0 1 0 0
server trigger recursion 0 1 1 1
set working set size 0 1 0 0
show advanced options 0 1 1 1
SMO and DMO XPs 0 1 1 1


57

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Name Minimum Maximum config_value run_value
SQL Mail XPs 0 1 0 0
transform noise words 0 1 0 0
two digit year cutoff 1753 9999 2049 2049
user connections 0 32767 0 0
user options 0 32767 0 0
xp_cmdshell 0 1 0 0




58

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Microsoft Dynamics AX table initial row count before the start of any
of the preceding tests
Here is a list of the core tables and row counts related to retail data and product data composition
from the Microsoft Dynamics AX database (state: Retail module installed, demo data created, and
100,000 non-variants created), with pre-actions and actions deleted,
Table name in the Microsoft Dynamics AX database Starting row count
GENERALJOURNALACCOUNTENTRY 365,096.00
INVENTTABLEMODULE 335,568.00
LEDGERENTRY 209,909.00
LEDGERENTRYJOURNALIZING 205,074.00
ECORESVALUE 198,580.00
ECORESATTRIBUTEVALUE 195,825.00
SUBLEDGERJOURNALACCOUNTENTRYDISTRIBUTION 190,146.00
DIMENSIONFOCUSBALANCE 177,639.00
INVENTTRANSPOSTING 146,048.00
PRODINDIRECTTRANS 132,826.00
ECORESPRODUCTCATEGORY 122,451.00
ECORESPRODUCTTRANSLATION 113,412.00
ECORESPRODUCT 113,403.00
INVENTITEMINVENTSETUP 112,862.00
INVENTITEMPURCHSETUP 112,862.00
INVENTITEMSALESSETUP 112,862.00
INVENTITEMLOCATION 111,965.00
INVENTITEMSETUPSUPPLYTYPE 111,855.00
INVENTTABLE 111,855.00
INVENTITEMGROUPITEM 111,753.00
INVENTMODELGROUPITEM 111,738.00
ECORESSTORAGEDIMENSIONGROUPITEM 111,736.00
ECORESTRACKINGDIMENSIONGROUPITEM 111,736.00
RETAILINVENTTABLE 111,553.00
ECORESPRODUCTIDENTIFIER 111,520.00
ECORESSTORAGEDIMENSIONGROUPPRODUCT 110,724.00
ECORESTRACKINGDIMENSIONGROUPPRODUCT 110,724.00
BUDGETSOURCETRACKINGSUMMARY 92,855.00
WORKCALENDARDATE 91,897.00


59

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Table name in the Microsoft Dynamics AX database Starting row count
SQLDICTIONARY 91,534.00
SUBLEDGERVOUCHERGENERALJOURNALENTRY 91,315.00
GENERALJOURNALENTRY 91,312.00
BUDGETSOURCETRACKING 90,394.00
BUDGETSOURCETRACKINGDETAIL 90,394.00
BUDGETSOURCE 89,251.00
SOURCEDOCUMENTLINE 86,659.00
INVENTTRANS 86,347.00
LEDGERJOURNALTRANS 85,174.00
INVENTSUMLOGTTS 83,015.00
INVENTREPORTDIMHISTORY 82,886.00
WORKCALENDARDATELINE 79,843.00
INVENTTRANSORIGIN 77,237.00
BUDGETTRANSACTIONLINE 66,930.00
INVENTCOSTTRANS 62,082.00
SUBLEDGERJOURNALACCOUNTENTRY 60,336.00
PRODTABLEJOUR 57,949.00
ACCOUNTINGDISTRIBUTION 54,207.00
PRODCALCTRANS 52,962.00
ECORESPRODUCTRELATIONTABLE 51,205.00
EMSDAILYFLOW 48,256.00
LOGISTICSADDRESSCOUNTRYREGIONTRANSLATION 46,229.00
LOGISTICSADDRESSZIPCODE 43,035.00
PRODBOM 42,746.00
INVENTTRANSORIGINASSEMBLYCOMPONENT 42,739.00
INVENTTRANSORIGINPRODBOM 42,724.00
ADVANCEDLEDGERENTRYLINE 42,009.00
PRODJOURNALBOM 41,552.00
XREFTABLERELATION 39,518.00
BUDGETCHECKRESULTERRORWARNINGDETAIL 36,382.00
LEDGERPERIODMODULEACCESSCONTROL 31,896.00
LOGISTICSADDRESSSCITY 30,480.00
PROJPERIODEMPL 29,587.00


60

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Table name in the Microsoft Dynamics AX database Starting row count
BATCHHISTORY 29,011.00
SMMTRANSLOG 27,312.00
TIMEZONEINFO 26,851.00
EVENTINBOX 26,730.00
EVENTINBOXDATA 26,729.00
SALESPARMLINE 26,072.00
INVENTCOSTTRANSVARIANCE 25,691.00
PRODJOURNALROUTE 25,337.00
BATCHJOBHISTORY 24,643.00
PRODROUTETRANS 24,518.00
ECORESINSTANCEVALUE 22,541.00
ECORESCATEGORY 22,160.00
PROCCATEGORYMODIFIER 22,145.00
DIMENSIONATTRIBUTELEVELVALUE 21,726.00
WRKCTRACTIVITY 17,925.00
SMMBUSSECTORGROUP 17,500.00
DIMENSIONATTRIBUTEVALUEGROUPCOMBINATION 16,229.00
SOURCEDOCUMENTHEADER 15,409.00
CUSTSETTLEMENT 15,393.00
LEDGERENTRYJOURNAL 15,260.00
BATCH 14,677.00
PAYROLLTAXCODEPARAMETERVALUE 14,503.00
PAYROLLTAXCODEDEFAULTDIMENSION 14,120.00
PAYROLLTAXACCOUNTINGRULE 14,078.00
WRKCTRACTIVITYREQUIREMENTSET 13,904.00
BATCHJOB 13,675.00
BATCHJOBALERTS 13,670.00
WMSORDERTRANS 13,522.00
DIMENSIONATTRIBUTEVALUECOMBINATION 13,402.00
WRKCTRACTIVITYREQUIREMENT 13,355.00
INVENTTRANSFERPARMLINE 13,240.00
INVENTTRANSFERPARMTABLE 13,240.00
PRODROUTE 12,978.00


61

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Table name in the Microsoft Dynamics AX database Starting row count
WRKCTRPRODROUTEACTIVITY 12,978.00
CATALOGPRODUCT 11,718.00
WRKCTRACTIVITYRESOURCEGROUPREQUIREMENT 11,689.00
WMSORDER 11,137.00
REQTRANSFIRMLOG 10,881.00
DIRPARTYLOCATIONROLE 10,383.00
DIRPARTYLOCATIONROLE 10,383.00
ACCOUNTINGEVENT 10,382.00
INVENTDIM 10,035.00
CUSTTRANS 9,789.00
PRICEDISCTABLE 8,795.00
INVENTTRANSFERJOUR 8,431.00
INVENTTRANSFERJOURLINE 8,431.00
INVENTTRANSORIGINTRANSFER 8,180.00
INVENTSETTLEMENT 7,908.00
DIRADDRESSBOOKPARTY 7,056.00
DIRADDRESSBOOKPARTY 7,056.00
RETAILCONNSCHEDULERSUBJOBFIELDLIST 6,781.00
INVENTITEMPRICE 6,212.00
INVENTTRANSORIGINSALESLINE 5,765.00
RETAILCATEGORYCONTAINMENTLOOKUP 5,656.00
INVENTTRANSORIGINPURCHLINE 5,307.00
RETAILLISTINGATTRIBUTE 5,300.00
INVENTTRANSORIGINPRODTABLE 5,226.00
INVENTSUM 4,962.00
RETAILINVENTAVAILABILITY 4,683.00
DIRPARTYRELATIONSHIP 4,599.00
RETAILCONNLOCATIONDESIGNTABLEFIELD 4,598.00
RETAILLASTINVENTTRANS 4,424.00
INVENTTRANSFERLINE 4,068.00
INVENTTRANSFERTABLE 4,068.00
INVENTTRANSORIGINTRANSFERRECEIVE 4,068.00
INVENTTRANSORIGINTRANSFERSHIP 4,068.00


62

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Table name in the Microsoft Dynamics AX database Starting row count
INVENTTRANSORIGINTRANSFERTRANSITFROM 4,068.00
INVENTTRANSORIGINTRANSFERTRANSITTO 4,068.00
DIRPARTYLOCATION 3,592.00
DIRPARTYTABLE 3,535.00
DIRNAMESEQUENCETRANSLATION 2,814.00
DIRPERSONNAME 2,212.00
INVENTDIMCOMBINATION 2,077.00
FORECASTINVENT 2,051.00
INVENTPOSTING 1,898.00
INVENTITEMGROUPFORM 1,826.00
RETAILCONNCREATEACTIONSBYFIELDSTRANS 1,799.00
INVENTITEMCOSTGROUPROLLUP 1,699.00
RETAILDLVMODEPRODUCTEXPLODED 1,387.00
DIRORGANIZATIONNAME 1,364.00
RETAILSTORECASHDECLARATIONTABLE 1,320.00
RETAILSTORETENDERTYPETABLE 1,100.00
INVENTJOURNALTRANS 1,095.00
INVENTTRANSORIGINJOURNALTRANS 1,095.00
RETAILTERMINALTABLE 1,062.00
RETAILSTAFFTABLE 1,061.00
RETAILCHANNELCATEGORYATTRIBUTE 1,023.00
RETAILPUBRETAILCHANNELCATEGORYATTRIBUTE 1,023.00
RETAILCONNTABLEDISTRIBUTIONLINK 946.00
RETAILLISTING 936.00
RETAILTMPASSORTEDPRODUCTDATERANGE 936.00
RETAILTMPCATALOGPRODUCTDATERANGE 936.00
RETAILLISTINGCATEGORIES 934.00
RETAILCONNTABLEDISTRIBUTIONLINKTABLE 904.00
RETAILINVENTAVAILABILITYACTION 889.00
RETAILSTORETENDERTYPECARDTABLE 880.00
INVENTJOURNALTABLE 876.00
RETAILCONNSCHEDULERJOBLINE 871.00
INVENTITEMPRICESIM 784.00


63

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Table name in the Microsoft Dynamics AX database Starting row count
RETAILCONNSCHEDULERSUBJOBTABLE 745.00
RETAILPRODUCTATTRIBUTECHANNELMETADATA 738.00
RETAILCATALOGCHANNELPRODUCTVALIDATION 705.00
RETAILCONNSCMONOUTGOINGMESSAGES 696.00
RETAILCONNLOCATIONLISTMEMBER 632.00
RETAILPUBPRODUCTATTRIBUTECHANNELMETADATA 624.00
INVENTPRODUCTGROUPITEM 576.00
INVENTBATCH 549.00
RETAILDLVMODEADDRESSEXPLODED 469.00
RETAILCONNCONNECTIONPROFILE 464.00
RETAILCONNLOCATIONDESIGNTABLE 414.00
RETAILCONNTABLEDISTRIBUTION 351.00
RETAILPUBECORESCATEGORY 341.00
RETAILPUBECORESCATEGORYTRANSLATION 341.00
RETAILCHANNELCURRENCY 303.00
CUSTTABLE 247.00
INVENTCOUNTJOUR 245.00
RETAILCONNDISTRIBUTIONGROUPMEMBER 234.00
INVENTDIMSETUPGRID 225.00
RETAILOFFLINESCOPETABLES 222.00
RETAILOFFLINETABLE 222.00
RETAILSTOREADDRESSBOOK 221.00
RETAILINCOMEEXPENSEACCOUNTTABLE 220.00
INVENTLOCATION 213.00
RETAILCONNCREATEACTIONSBYFIELDSTABLE 212.00
INVENTTRANSORIGINWMSORDER 205.00
RETAILGROUPMEMBERLINE 162.00
RETAILCONNSCHEDULERLOGLINE 161.00
INVENTTRANSORIGINKANBANJOBPICKLIST 147.00
RETAILCONNSCHEDULERLOG 143.00
INVENTMODELGROUP 129.00
RETAILCONNLOCATIONLIST 127.00
INVENTITEMGROUP 125.00


64

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Table name in the Microsoft Dynamics AX database Starting row count
INVENTPRODUCTGROUPITEMMATCHING 120.00
RETAILCONNDISTRIBUTIONSUBGROUP 118.00
RETAILCHANNELCONFIGURATION 117.00
RETAILCHANNELTABLE 117.00
RETAILCONNDISTRIBUTIONLIST 117.00
RETAILCONNDISTRIBUTIONLOCATION 117.00
RETAILCONNSTORECONNECTPROFILE 117.00
RETAILOPERATIONS 114.00
RETAILSUPPORTEDCOUNTRYREGION 114.00
RETAILCONNSCHEDULEJOBMAPPING 112.00
RETAILCONNDATABASEPROFILE 106.00
RETAILMASSUPDATEPRODUCTPROPERTY 106.00
RETAILCONNSCHEDULE 99.00
RETAILCONNSCHEDULELOCATIONLISTMAPPING 99.00
RETAILINFORMATIONSUBCODETABLE 80.00
RETAILPERIODICDISCOUNTLINE 61.00
RETAILBUTTONGRIDBUTTONS 57.00
RETAILCUSTTABLE 56.00
RETAILSHIPCARRIERACCOUNTCONFIGURATION 56.00
RETAILCONNSCHEDULERDISTRIBUTIONFILTER 52.00
RETAILCONNSCHEDULERJOBTABLE 52.00
RETAILINFOCODETABLE 48.00
RETAILDLVMODEPRODUCTLINE 36.00
RETAILSIZEGROUPTRANS 33.00
RETAILBARCODEMASKCHARACTER 30.00
RETAILCONNSCMONINCOMINGMESSAGES 30.00
RETAILTAXFILTERS 25.00
RETAILBARCODEMASKSEGMENT 24.00
RETAILHOUR 24.00
RETAILSPECIALCATEGORYMEMBER 24.00
RETAILIMAGES 23.00
RETAILCOLORGROUPTRANS 22.00
RETAILRECEIPTPROFILELINE 22.00


65

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Table name in the Microsoft Dynamics AX database Starting row count
RETAILPERIODICDISCOUNT 21.00
RETAILVENDTABLE 21.00
RETAILPARAMETERS 20.00
RETAILPARAMETERSEX1 20.00
RETAILFORMLAYOUT 19.00
RETAILLABELGENERATION 19.00
RETAILPERMISSIONS 19.00
RETAILCHANNELPRICEGROUP 16.00
RETAILEVENTNOTIFICATIONSETTING 16.00
RETAILTENDERTYPECARDNUMBERS 16.00
RETAILOFFLINEPROFILESCOPES 15.00
RETAILOFFLINESCOPE 15.00
RETAILPROVISIONEDCHANNELPRODUCTATTRIBUTE 14.00
RETAILDLVMODEADDRESSLINE 13.00
RETAILBARCODEMASKTABLE 12.00
RETAILMIXANDMATCHLINEGROUPS 12.00
RETAILCHANNELATTRIBUTEGROUP 11.00
RETAILMASSUPDATEPRODUCTFASTTAB 11.00
RETAILCONNAOSPROFILE 10.00
RETAILDISCOUNTVALIDATIONPERIOD 10.00
RETAILTENDERTYPETABLE 10.00
RETAILDLVMODECHANNELEXPLODED 9.00
RETAILDLVMODECHANNELLINE 9.00
RETAILBUTTONGRID 8.00
RETAILONLINECHANNELLANGUAGES 8.00
RETAILSTANDARDATTRIBUTE 8.00
RETAILTENDERTYPECARDTABLE 8.00
RETAILONLINECHANNELPUBLISHSTATUS 7.00
RETAILSTYLEGROUPTRANS 7.00
RETAILDISCOUNTCODE 6.00
RETAILLOYALTYCUSTTABLE 6.00
RETAILLOYALTYMSRCARDTABLE 6.00
RETAILLOYALTYPOINTSTABLE 6.00


66

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Table name in the Microsoft Dynamics AX database Starting row count
RETAILPOSTHEME 6.00
RETAILREPLENISHMENTRULETABLE 6.00
RETAILCATALOGCHANNEL 5.00
RETAILSTORELOCATORGROUPMEMBER 5.00
RETAILSTORELOCATORGROUPOWNER 5.00
RETAILCOLORGROUPTABLE 4.00
RETAILCONNCHANNELSCHEMA 4.00
RETAILINVENTITEMLABELREPORTSETUP 4.00
RETAILMIXANDMATCHLINEGROUPSETUP 4.00
RETAILRECEIPTMASKS 4.00
RETAILSHIPCARRIERINTERFACE 4.00
RETAILSIZEGROUPTABLE 4.00
RETAILSTYLEGROUPTABLE 3.00
RETAILCATALOGCHANNELPRODUCTERROR 2.00
RETAILCHANNELPROFILEPROPERTY 2.00
RETAILCONNDISTRIBUTIONGROUP 2.00
RETAILEVENTNOTIFICATIONPROFILE 2.00
RETAILFUNCTIONALITYPROFILE 2.00
RETAILHARDWAREPROFILE 2.00
RETAILJOBPOSPERMISSIONGROUP 2.00
RETAILLOYALTYSCHEMESTABLE 2.00
RETAILMULTIBUYDISCOUNTLINE 2.00
RETAILPARAMETERSEX2 2.00
RETAILPOSPERMISSIONGROUP 2.00
RETAILSALESTAXOVERRIDE 2.00
RETAILSALESTAXOVERRIDEGROUP 2.00
RETAILSALESTAXOVERRIDEGROUPMEMBER 2.00
RETAILSERVICECATEGORY 2.00
RETAILSHAREDPARAMETERS 2.00
RETAILVISUALPROFILE 2.00
RETAILCATALOGCHANNELVALIDATIONSUMMARY 1.00
RETAILCHANNELPAYMENTCONNECTORLINE 1.00
RETAILCHANNELPROFILE 1.00


67

MICROSOFT DYNAMICS AX 2012 RETAIL PERFORMANCE
Table name in the Microsoft Dynamics AX database Starting row count
RETAILCONNPARAMETERS 1.00
RETAILCONNSTORECONNECTUPLOADOPTIONS 1.00
RETAILLISTINGRELATION 1.00
RETAILOFFLINEPROFILE 1.00
RETAILPROVISIONEDCHANNELPRODATTRGROUP 1.00
RETAILPUBRETAILCHANNELTABLE 1.00
RETAILPUBRETAILCONNDISTRIBUTIONLOCATION 1.00
RETAILPUBRETAILONLINECHANNELLANGUAGES 1.00
RETAILRECEIPTPROFILE 1.00
RETAILSTORELOCATORGROUP 1.00
RETAILTILLLAYOUT 1.00
RETAILTRANSACTIONSERVICEPROFILE 1.00

You might also like