Download Qonnections 2008 Miami PPT Template

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Advanced QlikView
Performance Tuning Techniques
Niklas Boman
Agenda
•
•
•
•
Definition of ”Performance Tuning”
End User Performance
Measuring Performance
Influencing Hardware Factors
When is Performance Tuning Necessary?
End User Performance
How to approach a Performance Tuning exercise?
•
•
•
Reduce QlikView file size
Improve QlikView file efficiency
Adjust hardware
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
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 rollup version at a higher aggregate level?
Applying security authorization to your QlikView document –
to be discussed later in this session
Number of Columns
•
Be selective about what fields are included in the QlikView
document
1. Focus on the larger fact tables first
2. But, do not ignore the dimension tables
•
Eliminate fields that are not currently being used
1. Do not leave fields that ”might” be used in the future
2. All fields ”might” be used in the future
3. 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
Number of distinct values / column
•
•
Fields with highly distinct values use the most space
Many of them can be eliminated / truncated altogether
1. System keys
2. Timestamps with minutes / seconds
•
Others can be transformed by breaking them up into
separate components
1. Phone Numbers
2. Timestamps
Data structure
•
•
Key Fields
Denormalization vs. Normalization
Normalization vs. Denormalization
•
•
A “traditional” QlikView data structure is most likely not ideal
for a large QlikView document
“Normalization” Definition (Wikipedia):
1. 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.
2. How does this apply to QlikView?
Improving a QlikView document’s efficiency
•
•
•
Avoid single-threaded processes
Avoid unnecessary expression complexity
Other general application design considerations
Avoid single-threaded QlikView processes
•
•
Macros
“Data Island” Fields vs. Variables
Expression Syntax / Strategy
•
•
•
Count Distinct
String Comparisons
Calculations
1. (CY-LY)/LY vs. CY/LY – 1
•
•
Use Flags
Target expressions that are frequently repeated
Application Design
•
•
Avoid “Show Frequency”
Forcing Proper Object Display
1. Calculation Conditions
2. Show Conditional
•
Avoid too many active objects on the same sheet
QlikView Security
•
•
QlikView Publisher Security
Section Access
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
Section Access
•
Dynamically reduces the QlikView file at logon based on user
authorization
Measuring Performance
How can I measure response times in QlikView?
•
•
•
QlikView log files
User / Selection simulation macro
Task Manager
1. 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.
Influencing Hardware Factors
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
CPU
•
•
•
Multi-Threading capabilities
# of Cores vs. # of CPUs
Intel vs. AMD
Others
•
Hyper-Threading
1. No positive impact
2. Could actually have negative impact
•
Hard Disc Performance
1. Does impact how long it takes to load the QlikView file from disk
into memory (i.e. initial QVS load)
•
Network Capacity
1. Data transfer between the server and the client during QlikView
sessions is minimal so bandwidth is not typically a critical factor
Thank You!
Niklas Boman