Performance Tuning for Informer PRESENTER: Jason Vorenkamp| [email protected] | October 11,...

22
Performance Tuning for Informer PRESENTER: Jason Vorenkamp| [email protected] | October 11, 2010

Transcript of Performance Tuning for Informer PRESENTER: Jason Vorenkamp| [email protected] | October 11,...

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

Performance Tuning for Informer

PRESENTER: Jason Vorenkamp| [email protected] | October 11, 2010

Page 2: 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

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

3

Database Server Web Server Client Machine

Open a Connection Load Results

Calculations

Arranging Data

Execute the Query

Render the Results

Compute Functions

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

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?

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

5

Database Server

Open a Connection

Do you have enough database licenses?

Has Informer reached its connection maximum?

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

6

Database Server

Open a Connection

Do you have enough database licenses?

UniData : LISTUSER

UniVerse : CONFIG

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

7

Database Server

Open a Connection

Has Informer reached its connection maximum?

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

8

Database Server

Open a Connection

Has Informer reached its connection maximum?

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

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?

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

10

Database Server

Execute the Query

Do you have initialization subroutines?

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

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

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

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

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

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

13

Database Server

Execute the Query / Loading Results

Are you returning a large number of rows?

Database Server Web Server

Web Server

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

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?

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

15

Web Server

Calculations

Do you have calculated columns in your report?

60,000 RECORDS

10 ITERATIONS

600,000 CALCULATIONS!

X

=

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

16

Web Server

Arranging Data

Is your data Sorted?

Are you normalizing on multi-values?

Is your data being grouped?

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

17

Web Server

Compute Functions

Are you subtotaling/averaging groups?

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

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

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

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

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

20

Rendering the Results

Are you displaying all records instead of a paged set?

Paged:

Not Paged:Client Machine

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

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

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

Thank you! Any questions?