White papers > UNICOM Intelligence Reporter Server Edition guidelines and suggested limits
 
UNICOM Intelligence Reporter Server Edition guidelines and suggested limits
Introduction
UNICOM Intelligence Reporter Server Edition provides different performance levels than the Desktop version, because it relies on shared server resources and overall network status. When opening a document in UNICOM Intelligence Reporter Server Edition, the entire document (metadata and tables) must be transferred to the client. Similarly when populating tables, the table definitions are transferred to the server and the results back to the client. Because the table generation process is on more powerful server, it is possible that UNICOM Intelligence Reporter Server Edition can populate the tables faster than the Desktop version.
The objective of this white paper is to summarize the UNICOM Intelligence Reporter Server Edition limits, that are based on a series of test results, and to provide guidelines for effective UNICOM Intelligence Reporter Server Edition usage.
Test environment
UNICOM Intelligence Reporter Server Edition
Hardware
Software
Intel Core i7-3720QM CPU @2.6GHz
Windows 2008 R2 (x64)
2GB memory
Microsoft SQL Server 2008 R2
 
UNICOM Intelligence Server 7.0.1 (x64) single server site installation with FMROOT pointing to a remote file server
WDR client
Hardware
Software
Intel Core i7-3720QM CPU @2.6GHz
Windows 2008 R2 (x64)
2GB memory
Microsoft Internet Explorer 11
UNICOM Intelligence Reporter Server Edition guidelines and suggested limits
Test 1: Open MDD files that work with minimal case data
Metadata
Variable count in MDD
100
1000
2000
5000
8000
10000
15000
 
File size (MB)
0.6
4.01
7.84
19.32
31.09
38.92
58.56
Case Data
Case count in DDF
125
125
125
125
125
125
125
File size (MB)
0.2
0.5
0.9
2.28
4.28
4.31
6.41
All variables in the MDD files are categorical, and each variable has 20 categories.
Test 1 results: The loading time to open each MDD in UNICOM Intelligence Reporter Server Edition
This graphic is described in the surrounding text.
The results show that when the variable count of the MDD increases to more than 5000, the time to open UNICOM Intelligence Reporter Server Edition increases to approximately 60 seconds (1 minute).
Test 1 results: Memory usage after loading an MDD in UNICOM Intelligence Reporter Server Edition
The client memory usage increases fairly linearly. The memory usage is acceptable and it is likely that users will encounter problems with the open time before they encounter memory usage problems.
This graphic is described in the surrounding text.
Test 2: Populate simple tables with the data from Test 1
The following tables are used:
Simple cross tabulation: Var1 * Var2
Concatenated variables: (Var1+Var2) * (Var3+Var4)
Nested variables: (Var1>Var2) * (Var3>Var4)
Because all variables in the test metadata contain 20 categories, the following table sizes are the result:
Simple cross tabulation: 20 * 20 = 400 cells
Concatenated variables: (20+20) * (20+20) = 1600 cells
Nested variables: (20>20) * (20>20) = 160,000 cells
Note The population test results do not include the first population after loading the metadata. See Test 3 for information regarding the difference between the first population and subsequent populations.
Test 2 results: Time required to populate simple tables
This graphic is described in the surrounding text.
Because the case data size is very small, the data aggregation process does not consume much time. For the 160,000 cell table, approximately 22 seconds is used to display the table in the Results tab. The reason is that UNICOM Intelligence Reporter Server Edition is reliant on Microsoft Internet Explorer. No significant improvement is seen when running the 160,000 cell table on UNICOM Intelligence Reporter Desktop Edition.
Test 3: Initial table population versus subsequent populations
The first time populating any table in UNICOM Intelligence Reporter Server Edition requires additional time due to the case data component initialization on the server. The test compares the initial population with subsequent populations against a simple table (20 * 20 (400 cells)).
Test 3 results: Initial population versus subsequent populations (400 cells)
This graphic is described in the surrounding text.
The results show that the time to initially populate a table is considerable. The behavior is completely independent of the actual table that was populated. In cases where the MDD variable count can increase to more than 2000, it is advisable to use a small table when first starting UNICOM Intelligence Reporter Server Edition.
MTD file size
Test 4: Populate an incrementally sized table
Using an MDD file that includes 2000 multiple-response variables, and 23,350 records in the case data (DDF format), serial tables were created with incremental element counts (for example, 20*20, (10+10)*20, (20+10)*20...).
Item
Description
Number
Metadata
Variable count in MDD
2000
 
File size (MB)
6.19
Case Data
Case count in DDF
23350
File size (MB)
1470
When populating tables without statistical tests, UNICOM Intelligence Reporter Server Editionrequires the same amount of time to generate results for each kind of table structure. The maximum amount of time required is 2 - 3 seconds. However, the table structure significantly impacts overall performance when populating tables that include column proportions statistics.
Test 4 results: Time to populate an incrementally sized table that includes column proportions statistics
The following chart shows the time usage (in seconds) for specified elements that are contained on the side and top axis. For example, the first cell has a value of 4.88, which means that table 20*20 needs 4.88 seconds to populate. The last cell shows that the table (20+20+20+20)* (20+20+20+20) takes 273 seconds to populate.
This graphic is described in the surrounding text.
The test results provide the following conclusions:
An increase in axis variables results in more processing time. For example, when the total number of elements is 30, an axis with 3 variables is slower than an axis with 2 variables.
With any specified variable count, more table cells require more processing time.
The table structure (20+20+10)*(20+20+10) requires about 60 seconds to populate. Large tables should not be created with this structure when the case data has more than 20K records. Care must be taken when applying the column proportions test. The table can take a long time to populate when you have variables that are truly multiple response, and contain a large number of columns and cells.
The hidden element does not improve performance.
Test 5: PKD versus DDF case data: Populate an incrementally sized table
Metadata
Variable count in MDD
2000
 
File size (MB)
6.19
Case Data
Case count in DDF
23350
File size (MB)
1470
Test 5: PKD versus DDF case data
Metadata
Variable count in MDD
1100
 
File size (MB)
31.8
Case Data
Case count in DDF
248388
File size (MB)
1413.12
Case count in PKD
248388
File size (MB)
77.3
MTD
Every table structure
2437*17
File size (MB)
13.39
The test includes 24 similarly structured tables that are defined in UNICOM Intelligence Reporter Server Edition. No statistical tests are applied to the tables (but the tables do include filters).
Test 5 results: Time to populate tables using DDF and PKD files as case
The following table presents the time required to populate each table:
This graphic is described in the surrounding text.
The results show that case data that is stored in PKD files are, on average, 5% slower than case data that is stored in DDF files. DDF is the optimum case data choice for UNICOM Intelligence Reporter Server Edition.
Test 6: DDF 6.0.1 versus DDF 7.0.1
Metadata
Variable count in MDD
1100
 
File size (MB)
31.8
Case Data
Case count in DDF
248388
File size (MB)
1413.12
MTD
Every table structure
2437*17
File size (MB)
13.39
The tests were run on two UNICOM Intelligence server versions:
UNICOM Intelligence 7.0.1
UNICOM Intelligence 6.0.1 Fix Pack 1 + Interim Fix 187A
Test 6 results: Populate tables using DDF
This graphic is described in the surrounding text.
The results show that UNICOM Intelligence 7.0.1 is, on average, 10% faster than UNICOM Intelligence 6.0.1 when using DDF case data. Although every table has the similar structure 2437*17 (41429 cells), the population time usage values are not as close. This is possibly due to different filters that are defined for the various tables. Two elements become apparent when examining each table filter: variable count and condition count. The variable count was tested and found not to be a factor (the document omits the result). When considering the condition count, all boolean expressions are counted in the filter. For example, the following filter syntax is treated as 6 conditions.
Var1.ContainsAny({Element1}) And Var2.ContainsAny({Element2, Element3, Element4})
And (Var3.ContainsAny({Element5}) Or Var4.ContainsAny({Element6})) And Var4.ContainsAny({Element7})
And Not Var5.ContainsAny({Element8})
The condition counts that are defined for each filter are as follows:
Condition counts that are defined for each filter
Table number
Table 1
Table 2
Table 3
Table 4
Table 5
Table 6
Filter condition count
6
15
18
10
15
9
Table number
Table 7
Table 8
Table 9
Table 10
Table 11
Table 12
Filter condition count
7
16
19
11
16
10
Table number
Table 13
Table 14
Table 15
Table 16
Table 17
Table 18
Filter condition count
7
16
18
11
16
10
Table number
Table 19
Table 20
Table 21
Table 22
Table 23
Table 24
Filter condition count
7
16
19
11
17
10
The following chart shows the relationship between the table filter conditions and the table population time in the UNICOM Intelligence 7.0.1 environment:
This graphic is described in the surrounding text.
The data fits a fairly linear trend. Using more filter conditions results in more table population time. Care must be taken when increasing the condition count in the table or global filters.
Test 7: Load and populate incrementally sized tables
Metadata
Variable count in MDD
2000
 
File size (MB)
6.19
Case Data
Case count in DDF
23350
File size (MB)
1470
The MDD file includes 2000 multiple-response variables. 7 MTD documents, that each contain 800 tables, were created. For each table, the structure has incremental element counts (for example, 20*20, 20*20+20, 20+20*20+20...). The table cells only vary between the different variables, and all of tables contain no stats or filters. The test records two data attributes: opening the MTD, and then populating the tables.
Test 7 results: Performance when populating 800 incrementally sized tables
 
 
Open MTD in UNICOM Intelligence Reporter Server Edition without previous population results
MTD file size (MB)
Table structure
Cell / Var count
Load time (seconds)
Memory after loading (MB)
Total population time (seconds)
Memory after population (MB)
6.56
20*20
400 / 2
19.66
235.06
124.43
492.82
8.37
20*20+20
800 / 3
21.83
260.43
210
596
10.18
20+20*20+20
1600 / 4
22.96
269.08
394.56
814.18
10.18
20+20+20*20
1200 / 4
24.28
279.52
319.06
833.38
11.98
20+20+20+20*20
1600 / 5
24.7
279.25
415.71
866.82
13.79
20+20+20+20+20*20
20000 / 6
27.48
298.12
Error occurred 1
-
15.6
20+20+20+20+20+20*20
24000 / 7
29.01
304.48
Error occurred 1
-
1 Get warn: The maximum request length was exceeded, because the populate request string is too large to invoke remote UNICOM Intelligence Reporter Server Edition with the default Web Service buffer.
The results show that loading 800 tables requires less than 30 seconds, even when the table structure grows very large. The table population performance decreases significantly when more variables are introduced onto an axis. The default Web service request limits prevent the successful population of 800 tables when the table structure is larger than (1600 cells, 4 variables).
Test 8: Load and populate an incremental number of tables
Metadata
Variable count in MDD
2000
 
File size (MB)
6.19
Case Data
Case count in DDF
23350
File size (MB)
1470
11 MTD documents are created to contain an incremental number of tables (800, 1600, 2400, 3200...), but all table structures are 20*20 (400 cells). Similar to Test 7, the tables attempt to use various metadata variables as much as possible, and all tables contain no filters. The test also records two data attributes: opening the MTD, and then populating the tables.
Test 8 results: Performance when loading and populating an incremental number of tables
All tables are 20*20 and include stats (grid overlap)
MTD file size (MB)
Table count in MTD
Load time (seconds)
Memory after loading (MB)
Total population time (seconds)
Memory after population
7.24
800
24.58
246.64
2015
561.64
14.55
1600
41.6
310.75
>43200 (12h)1
573
21.8
2400
67.71
345.42
-
-
29.1
3200
111.83
422.05
-
-
36.42
4000
135.63
439.4
-
-
43.65
4800
194.9
463.61
-
-
50.97
5600
252.2
503.78
-
-
54.63
6000
285.78
523.55
-
-
58.22
6400
325.55
544.42
-
-
61.86
6800
368.73
562.97
-
-
65.52
7200
391.9
582.97
-
-
1 The accurate time should be more than 12 hours. The server process w3wp.exe hung for several hours after the memory usage reached 2GB. All tables populated without error.
Populating all tables is extremely slow after the UNICOM Intelligence Reporter Server Edition table number exceeds 800. As a result, only 800 and 1600 tables have a recorded population time. The test server was limited to 2GB of memory. More than 8GB memory would allow the 1600 tables to be populated within an hour.
Test summary and guidelines for improving performance
Loading data
The time required to open an MDD file increases with the number of variables the MDD file contains. An MDD with 5000 variables can be opened in about 1 minute. As such, more than 5000 variables should not be defined in a single MDD file.
The first population run will take significantly longer than subsequent population runs. As such, a small table should be the first table populated after first starting UNICOM Intelligence Reporter Server Edition.
When compared with PKD files, DDF files prove to be better case data choices when working with UNICOM Intelligence Reporter Server Edition.
UNICOM Intelligence 7.0.1 exhibits superior performance over UNICOM Intelligence 6.0.1 (including relevant fix packs).
Defining tables
An increase in axis variables results in more processing time, and with any specified variable count, more table cells require more processing time. Please consider reducing the variable count in tables and reducing the expressions in derived variables.
When the cell count of one table increases to a large number (such as 160,000), the performance to display the table in the Results tab will take additional time. Although the hidden elements do not improve performance in the table population, they are able reduce the time to export and display the results. Please set the proper condition to hide rows/columns once there are large number of cells in the table.
Care must be taken when applying the column proportions test. The table can take a long time to populate when variables are truly multiple response, and the table includes a large number of columns and cells. Review the statistical formulas and the number of columns being tested and apply statistical tests only when needed. The table statistical test definition must be verified when using PKD files as the metadata source.
Numerous filter conditions will result in more time to populate a table. It is best to reduce the condition count in tables and global filters.
More than 800 tables should not be populated at the same time.
See
White papers: Introduction