Performance Tuning for Informer PRESENTER: Jason Vorenkamp| support@entrinsik.com | October 11,...

Post on 01-Apr-2015

215 views 0 download

Tags:

Transcript of Performance Tuning for Informer PRESENTER: Jason Vorenkamp| support@entrinsik.com | October 11,...

Performance Tuning for Informer

PRESENTER: Jason Vorenkamp| support@entrinsik.com | October 11, 2010

ARE YOU ON THE LATEST VERSION OF INFORMER?

Version 4.1

Improved Result Rendering

Improved SQL queries

Version 4.2

Optional Report Sample

Optimized Auto-suggest

3

Database Server Web Server Client Machine

Open a Connection Load Results

Calculations

Arranging Data

Execute the Query

Render the Results

Compute Functions

4

Database Server Web Server Client Machine

Pentium 4® or higher

2 GB recommended

Disk Space: 500 MB

Google Chrome

Firefox

DO YOU HAVE THEMINIMUM SYSTEM REQUIREMENTS?

5

Database Server

Open a Connection

Do you have enough database licenses?

Has Informer reached its connection maximum?

6

Database Server

Open a Connection

Do you have enough database licenses?

UniData : LISTUSER

UniVerse : CONFIG

7

Database Server

Open a Connection

Has Informer reached its connection maximum?

8

Database Server

Open a Connection

Has Informer reached its connection maximum?

9

Database Server

Execute the Query

Do you have initialization subroutines?

Are you selecting on a virtual field from large dataset?

Are you returning a large number of rows?

10

Database Server

Execute the Query

Do you have initialization subroutines?

UniData / UniVerse:Consider purchasing a connection pooling license to reduce initialization subroutine overhead.

11

Database Server

Execute the Query

Are you selecting on a virtual field from large dataset?

PERSON FILE 60,000 RECORDS

SELECT PERSON WITH AGE = 18 5,000 RECORDS

SELECT PERSON WITH NAME = “JASON” 50 RECORDS

1 MINUTE

10 SECONDS

= 1 MINUTE : 10 SECONDSTOTAL

12

Database Server

Execute the Query

Are you selecting on a virtual field from large dataset?

PERSON FILE 60,000 RECORDS

SELECT PERSON WITH NAME = “JASON” 500 RECORDS

SELECT PERSON WITH AGE = 18 50 RECORDS

20 SECONDS

2 SECONDS

= 22 SECONDSTOTAL

13

Database Server

Execute the Query / Loading Results

Are you returning a large number of rows?

Database Server Web Server

Web Server

14

Web Server

Calculations

Do you have calculated columns in your report?

What is the nature of the calculated columns?

Does it loop through an iteration? Does it check an if-then-else statement? Does it run a subroutine or function?

15

Web Server

Calculations

Do you have calculated columns in your report?

60,000 RECORDS

10 ITERATIONS

600,000 CALCULATIONS!

X

=

16

Web Server

Arranging Data

Is your data Sorted?

Are you normalizing on multi-values?

Is your data being grouped?

17

Web Server

Compute Functions

Are you subtotaling/averaging groups?

18

Rendering the Results

Again, is your data being grouped?

Are you displaying all records instead of a paged set?

Do you have a large number of columns?

Client Machine

19

Rendering the Results

Again, is your data being grouped?

Group Headers are not shown in pages!

10,000 Groups = 10,000 Items to render!Client Machine

20

Rendering the Results

Are you displaying all records instead of a paged set?

Paged:

Not Paged:Client Machine

21

Rendering the Results

Do you have a large number of columns?

10,000 Rows x 10 Columns = 100,000 Cells

10,000 Rows x 20 Columns = 200,000 Cells

Twice the information, Twice the render time!

Client Machine

Thank you! Any questions?