Performance Tuning Informer - Informer Client Portal

Download Report

Transcript Performance Tuning Informer - Informer Client Portal

Performance Tuning Informer
Understanding how Informer works
PRESENTER: Presenter Name| Title & Organization| Date
© 2012 Entrinsik, Inc.
Is this your typical user?
© 2012 Entrinsik, Inc.
Understanding Informer is key to
training users to make efficient
reports
•
•
•
•
Learn where processing takes place
Learn where bottlenecks might occur
Learn how to monitor user activity
Create the best environment for your
organization
© 2012 Entrinsik, Inc.
Are you on the latest version of
informer?
Current Release:
• Improved Data Caching
• Quicker Loading of Pages
• More Efficient Garbage Collection
Upcoming Releases :
• Storing cached data on main memory
• Migration of Informer data to MySQL
and other databases
© 2012 Entrinsik, Inc.
Understand that Informer is a 3-Tier
System!
Web Server
Database Server
•
•
•
•
•
Open Connection
Connection Pooling
Execute Query
Init Subroutines
Selection
•
•
•
•
•
Load Results
Grouping
Executing Scripts
Sorting
Normalization
Client Machine
•
•
•
Render Results
Ajax/JavaScript
Group Listing
© 2012 Entrinsik, Inc.
Do you have the recommended
system requirements?
Database Server
Client Machine
Web Server
•
•
•
•
Pentium 4® or higher
64bit Operating System
4GB of RAM
40GB of Disk Space
•
Modern Browser
© 2012 Entrinsik, Inc.
Client Machine
Rendering Report Results
Client Machine
© 2012 Entrinsik, Inc.
Client Machine
Ajax/JavaScript Interaction
Client Machine
Gube, Jacob. “Performance Comparison of Major Web Browsers”. Oct 14 2009. http://sixrevisions.com/infographics/performance-comparison-of-major-web-browsers/
© 2012 Entrinsik, Inc.
Client Machine
Group list and Paging
The list of groups is not
paged.
Client Machine
The results within each
group are paged.
© 2012 Entrinsik, Inc.
Web Server
Generating Groups
The more rows you
have, the longer it will
take to group.
The more groups that
you have, the more
memory is required to
group.
Web Server
© 2012 Entrinsik, Inc.
Web Server
Executing Scripts
What is the time complexity of your calculations?
Scripts are executed for
each row after results
are returned.
Web Server
60,000 rows
x
10 iterations
=
600,000 executions!
© 2012 Entrinsik, Inc.
Web Server / Database Server
Returning Results
Database Server
Web Server
The webserver must receive all results from the database before
processing can continue. Results are not returned in pages.
This differs from Informer 3.2 and also from the TCL prompt.
© 2012 Entrinsik, Inc.
Database Server
Opening Connections
Do you have enough licenses?
Database Server
UniData: LISTUSER
UniVerse: CONFIG
© 2012 Entrinsik, Inc.
Database Server
Connection Pooling
Have you reached your connection limit?
Database Server
© 2012 Entrinsik, Inc.
Database Server
Connection Pooling
Have you reached your connection limit?
Database Server
© 2012 Entrinsik, Inc.
Database Server
Initialization subroutines
Do you have any initialization subroutines?
Database Server
Consider purchasing a connection pooling license so these subroutines would only
run once on startup, instead of at the onset of each connection.
© 2012 Entrinsik, Inc.
Database Server
Selection
Are you selecting off any virtual fields?
Off a file with 30,000 records…
500ms
Database Server
7,000ms
END.DATE is a
data field
AGE is a
calculation from
current date and
age
An order of magnitude difference! If you have the option to
select off of a data field, always use that option.
© 2012 Entrinsik, Inc.
Thank you! Any questions?
© 2012 Entrinsik, Inc.