The Dynamics AX InMarket team has provided the following benchmarking results for DIXF imports based on numerous requests for this information. If there are any questions or requests for additional entity coverage please let me know!
Problem Statement:
Customer is importing around 500K records and the need for some form of benchmarking the performance expected out of importing/exporting using DIXF.
This article answer customer’s questions about what kind of performance they could expect out of DIXF.
Machine Configuration
Below was the machine configuration on which the benchmark testing was performed.
Machine (3 BOX Setup) |
Processor GHz |
RAM (GB) |
#Cores |
OS Version |
AOS |
2.67 |
16 |
24 |
Windows Server 2008 R2 Enterprise |
SQL |
2.13 |
48 |
8 |
Windows Server 2008 R2 Enterprise |
Client |
2.41 |
8 |
8 |
Windows Server 2008 R2 Enterprise |
Entities
Microsoft performed the benchmark performance testing for below entities with different amount of data in each iteration. Similar iterations was performed with different numbers of batch tasks.
Entity |
Iteration 1 (Records) |
Iteration 2 (Records) |
Iteration 3 (Records) |
Iteration 4 (Records) |
Iteration 5 (Records) |
Opening Balance |
1500 |
3000 |
6000 |
12000 |
24000 |
Product |
5000 |
10000 |
20000 |
40000 |
80000 |
Sales Order header |
1000 |
2000 |
4000 |
8000 |
16000 |
Sales Order Line |
5000 |
10000 |
20000 |
40000 |
80000 |
Vendor Invoice Header |
500 |
1000 |
2000 |
4000 |
8000 |
Vendor Invoice Line |
1500 |
3000 |
6000 |
12000 |
24000 |
Sales Order Composite Entity |
6000 |
12000 |
24000 |
48000 |
96000 |
Vendor Invoice Composite Entity |
2000 |
4000 |
8000 |
16000 |
32000 |
Results
Below are the results for each entity when run under the batch execution with different tasks/record counts.
Opening Balance Entity (Batch Execution)
Entity |
No. of Tasks |
Record Count |
Staging Execution Time |
Target Execution Time |
Opening Balance |
32 |
1500 (3 lines per journal) |
3 sec |
24 sec |
32 |
3000 (3 lines per journal) |
4 sec |
32 sec |
|
32 |
6000 (3 lines per journal) |
9 sec |
59 sec |
|
32 |
12000 (3 lines per journal) |
9 sec |
2 min 2 sec |
|
32 |
24000 (3 lines per journal) |
15 sec |
5 min 28 sec |
Execution details with different numbers of tasks.
Entity |
No. of Tasks |
Record Count |
Staging Execution Time |
Target Execution Time |
Opening Balance |
32 |
24000 (3 lines per journal) |
15 sec |
5 min 28 sec |
16 |
24000 (3 lines per journal) |
14 sec |
8 min 27 sec |
|
8 |
24000 (3 lines per journal) |
14 sec |
10 min 52 sec |
Product Entity (Batch Execution)
Entity |
No. of Tasks |
Record Count |
Staging Execution Time |
Target Execution Time |
Product |
32 |
5000 |
6 sec |
2 min 45 sec |
32 |
10000 |
9 sec |
5 min 26 sec |
|
32 |
20000 |
17 sec |
11 min 13 sec |
|
32 |
40000 |
37 sec |
26 min 41 sec |
|
32 |
80000 |
1 min 3 sec |
58 min 37 sec |
Execution details with different numbers of tasks.
Entity |
No. of Tasks |
Record Count |
Staging Execution Time |
Target Execution Time |
Product |
32 |
80000 |
1 min 3 sec |
58 min 37 sec |
16 |
80000 |
1 min 1 sec |
1 hr 1 min 56 sec |
|
8 |
80000 |
1 min 2 sec |
1 hr 41 min 32 sec |
Sales Order Header (Batch Execution)
Entity |
No. of Tasks |
Record Count |
Staging Execution Time |
Target Execution Time |
Sales Order Header |
32 |
1000 |
3 sec |
7 sec |
32 |
2000 |
3 sec |
11 sec |
|
32 |
4000 |
4 sec |
21 sec |
|
32 |
8000 |
5 sec |
40 sec |
|
32 |
16000 |
7 sec |
1 min 40 sec |
Sales Order Line (Batch Execution)
Entity |
No. of Tasks |
Record Count |
Staging Execution Time |
Target Execution Time |
SALES Order Line |
32 |
5000 |
5 sec |
48 sec |
32 |
10000 |
7 sec |
1 min 49 sec |
|
32 |
20000 |
10 sec |
3 min 47 sec |
|
32 |
40000 |
23 sec |
7 min 28 sec |
|
32 |
80000 |
42 sec |
17 min 1 sec |
Sales Order Composite Entity (Batch Execution)
Entity |
Sub Entity |
Record Count |
No. of Tasks |
Staging Execution Time |
Target Execution Time |
Sales Order |
SOH |
1000 |
10 |
16 sec |
2 min 13 sec |
SOL |
5000 |
22 |
|||
SOH |
2000 |
10 |
34 sec |
4 min |
|
SOL |
10000 |
22 |
|||
SOH |
4000 |
10 |
1 min |
8 min 34 sec |
|
SOL |
20000 |
22 |
|||
SOH |
8000 |
10 |
2 min 15 sec |
18 min 16 sec |
|
SOL |
40000 |
22 |
|||
SOH |
16000 |
10 |
3 min 38 sec |
38 min 19 sec |
|
SOL |
80000 |
22 |
Execution details with different numbers of tasks.
Entity |
Sub Entity |
Record Count |
No. of Tasks |
Staging Execution Time |
Target Execution Time |
Sales Order |
SOH |
16000 |
32 |
3 min 40 sec |
37 min 18 sec |
SOL |
80000 |
||||
SOH |
16000 |
16 |
3 min 38 sec |
40 min42 sec |
|
SOL |
80000 |
||||
SOH |
16000 |
8 |
3 min 36 sec |
52 min 37 sec |
|
SOL |
80000 |
Vendor Invoice Header (Batch Execution)
Entity |
No. of Tasks |
Record Count |
Staging Execution Time |
Target Execution Time |
Vendor Invoice Header |
32 |
500 |
2 sec |
4 sec |
32 |
1000 |
2 sec |
6 sec |
|
32 |
2000 |
2 sec |
10 sec |
|
32 |
4000 |
3 sec |
17 sec |
|
32 |
8000 |
4 sec |
41 sec |
Vendor Invoice Line (Batch Execution)
Entity |
No. of Tasks |
Record Count |
Staging Execution Time |
Target Execution Time |
Vendor Invoice Line |
32 |
1500 |
3 sec |
24 sec |
32 |
3000 |
4 sec |
41 sec |
|
32 |
6000 |
3 sec |
1 min 23 sec |
|
32 |
12000 |
6 sec |
2 min 44 sec |
|
32 |
24000 |
8 sec |
5 min 51 sec |
Vendor Invoice Composite Entity (Batch Execution)
Entity |
Sub Entity |
Record Count |
No. of Tasks |
Staging Execution Time |
Target Execution Time |
Vendor Invoice |
VIH |
500 |
10 |
3 sec |
33 sec |
VIL |
1500 |
22 |
|||
VIH |
1000 |
10 |
11 sec |
1 min |
|
VIL |
3000 |
22 |
|||
VIH |
2000 |
10 |
20 sec |
1 min 56 sec |
|
VIL |
6000 |
22 |
|||
VIH |
4000 |
10 |
35 sec |
3 min 54 sec |
|
VIL |
12000 |
22 |
|||
VIH |
8000 |
10 |
1 min 13 sec |
7 min 58 sec |
|
VIL |
24000 |
22 |
Execution details with different numbers of tasks.
Entity |
Sub Entity |
Record Count |
No. of Tasks |
Staging Execution Time |
Target Execution Time |
Vendor Invoice |
VIH |
8000 |
32 |
1 min 6 sec |
7 min 43 sec |
VIL |
24000 |
||||
VIH |
8000 |
16 |
1 min 7 sec |
7 min 34 sec |
|
VIL |
24000 |
||||
VIH |
8000 |
8 |
1 min 6 sec |
9 min 15 sec |
|
VIL |
24000 |