Presentation is loading. Please wait.

Presentation is loading. Please wait.

Advanced QlikView Performance Tuning Techniques

Similar presentations


Presentation on theme: "Advanced QlikView Performance Tuning Techniques"— Presentation transcript:

1 Advanced QlikView Performance Tuning Techniques
Niklas Boman

2 Agenda Definition of ”Performance Tuning” End User Performance
Measuring Performance Influencing Hardware Factors

3 When is Performance Tuning Necessary?

4 End User Performance

5 How to approach a Performance Tuning exercise?
Reduce QlikView file size Improve QlikView file efficiency Adjust hardware

6 What makes up the size of a QlikView document?
Number of rows Number of columns Number of distinct values / column Data structure Number of sheets / sheet objects

7 Number of Rows Is it really necessary to have 10 years of data in the same QlikView document? If there are too many detail rows, is it feasible to create a roll-up version at a higher aggregate level? Applying security authorization to your QlikView document – to be discussed later in this session

8 Number of Columns Be selective about what fields are included in the QlikView document Focus on the larger fact tables first 2. But, do not ignore the dimension tables Eliminate fields that are not currently being used Do not leave fields that ”might” be used in the future All fields ”might” be used in the future The goal is to have a ”Lean” QlikView document Provide the QlikView owner / developer with an efficient method of adding fields to their data model without having to manually change the code

9 Number of distinct values / column
Fields with highly distinct values use the most space Many of them can be eliminated / truncated altogether System keys Timestamps with minutes / seconds Others can be transformed by breaking them up into separate components Phone Numbers Timestamps

10 Data structure Key Fields Denormalization vs. Normalization

11 Normalization vs. Denormalization
A “traditional” QlikView data structure is most likely not ideal for a large QlikView document “Normalization” Definition (Wikipedia): Normalization splits up data to avoid redundancy (duplication) by moving commonly repeating groups of data into a new table. Normalization therefore tends to increase the number of tables that need to be joined in order to perform a given query, but reduces the space required to hold the data and the number of places where it needs to be updated if the data changes. How does this apply to QlikView?

12 Improving a QlikView document’s efficiency
Avoid single-threaded processes Avoid unnecessary expression complexity Other general application design considerations

13 Avoid single-threaded QlikView processes
Macros “Data Island” Fields vs. Variables

14 Expression Syntax / Strategy
Count Distinct String Comparisons Calculations (CY-LY)/LY vs. CY/LY – 1 Use Flags Target expressions that are frequently repeated

15 Application Design Avoid “Show Frequency”
Forcing Proper Object Display Calculation Conditions Show Conditional Avoid too many active objects on the same sheet

16 QlikView Security QlikView Publisher Security Section Access

17 Publisher Security Breaking up one large QlikView file into multiple smaller files based on row level security Effective for memory management if security profiles do NOT contain much overlapping data

18 Section Access Dynamically reduces the QlikView file at logon based on user authorization

19 Measuring Performance

20 How can I measure response times in QlikView?
QlikView log files User / Selection simulation macro Task Manager Sometimes the simplest approach is the best. One way to identify memory consumption and performance is to use Task Manager on the server, open an application on the server using IE and then create more connections to the same application with IE. Click around and look at the Delta change for memory and processor utilization.

21 Influencing Hardware Factors

22 RAM RAM availability is a binary matter 75% Rule
32 vs 64 QV memory usage (contiguous vs. non-contiguous) 10% RAM overhead per additional user estimation

23 CPU Multi-Threading capabilities # of Cores vs. # of CPUs
Intel vs. AMD

24 Others Hyper-Threading Hard Disc Performance Network Capacity
No positive impact Could actually have negative impact Hard Disc Performance Does impact how long it takes to load the QlikView file from disk into memory (i.e. initial QVS load) Network Capacity Data transfer between the server and the client during QlikView sessions is minimal so bandwidth is not typically a critical factor

25 Niklas Boman


Download ppt "Advanced QlikView Performance Tuning Techniques"

Similar presentations


Ads by Google