What Is Good Performance Isqlug Jan 2010

103
What is (good) performance? Tal Olier, HP Software Jan, 2010 (Israel’s SQL Server UG)

Transcript of What Is Good Performance Isqlug Jan 2010

Page 1: What Is Good Performance Isqlug Jan 2010

What is (good) performance?

Tal Olier, HP SoftwareJan, 2010

(Israel’s SQL Server UG)

Page 2: What Is Good Performance Isqlug Jan 2010

Who am I?

Tal Olier

Works for HP-SW, R&D

• Database expert• System architect• Performance theme

manager

Page 3: What Is Good Performance Isqlug Jan 2010

Scope of this lecture

ISV – Independent software provider

Product / Release

Rich functionality

Today I am going to tell you my story - a story about the product's/release's performance and what do we actually mean when aiming for good performance...

Page 4: What Is Good Performance Isqlug Jan 2010

So I went looking for a performance problem...

Page 5: What Is Good Performance Isqlug Jan 2010

Demo

Simple application that loads objects to memory

At object 10,000 there is an important development ...

Page 6: What Is Good Performance Isqlug Jan 2010

Okay, Enough with It

You have just been subjected to a behavior experiment without you knowing about it

Page 7: What Is Good Performance Isqlug Jan 2010

Demo source

kse_demo_application.exe is a simple sleep.exe that sleeps %1 miliseconds.

run_demo.bat is a script that displays numbers from 1 .. 9958 and gets stuck

End of the run_demo.bat script:...echo 9955 kse_demo_application.exe -m 8000echo 9956 kse_demo_application.exe -m 16000echo 9957kse_demo_application.exe -m 32000echo 9958kse_demo_application.exe -m 3200000 #not going anywhere from here ...

Page 8: What Is Good Performance Isqlug Jan 2010

Okay, enough with It

• Demo goal was to let us experience on our own time what our customers are experiencing in their meetings (and they pay for our products…)

Page 9: What Is Good Performance Isqlug Jan 2010

So what does makes good performance?

Anybody?

Page 10: What Is Good Performance Isqlug Jan 2010

So I asked god..

Page 11: What Is Good Performance Isqlug Jan 2010

So I asked god

Page 12: What Is Good Performance Isqlug Jan 2010

And god said..

Page 13: What Is Good Performance Isqlug Jan 2010

And god said..

Page 14: What Is Good Performance Isqlug Jan 2010

And god said..

Page 15: What Is Good Performance Isqlug Jan 2010

And god said..

Page 16: What Is Good Performance Isqlug Jan 2010

I guess god is not the answer to everything, let's ask people...

Page 17: What Is Good Performance Isqlug Jan 2010

So what does makes good performance?

Database CPU ?

Page 18: What Is Good Performance Isqlug Jan 2010

So what does makes good performance?

Server memory ?

Page 19: What Is Good Performance Isqlug Jan 2010

So what does makes good performance?

How many disks I have?

Page 20: What Is Good Performance Isqlug Jan 2010

So what does makes good performance?

The size of my window?

Page 21: What Is Good Performance Isqlug Jan 2010

So what does makes good performance?

Who am I married to?

Page 22: What Is Good Performance Isqlug Jan 2010

So what does makes good performance?

Who am I?

Page 23: What Is Good Performance Isqlug Jan 2010

So what does makes good performance?

What am I?

Page 24: What Is Good Performance Isqlug Jan 2010

So what does make good performance?

???

Page 25: What Is Good Performance Isqlug Jan 2010

This is not getting anywhere...

Page 26: What Is Good Performance Isqlug Jan 2010

I turn to "observing"...

Page 27: What Is Good Performance Isqlug Jan 2010

It was awkward at the beginning...

Page 28: What Is Good Performance Isqlug Jan 2010

The family was looking funny...

Page 29: What Is Good Performance Isqlug Jan 2010

Then I learn some beautiful things...

Page 30: What Is Good Performance Isqlug Jan 2010

Although the smell sometimes was weird...

Page 31: What Is Good Performance Isqlug Jan 2010

I finaly managed to have some fun...

Page 32: What Is Good Performance Isqlug Jan 2010

I found it…

Page 33: What Is Good Performance Isqlug Jan 2010

So what does make good performance?

Customer perception...

Page 34: What Is Good Performance Isqlug Jan 2010

So what does make good performance?

Customer perception...

Of the application performance

Page 35: What Is Good Performance Isqlug Jan 2010

Who is the customer?

Page 36: What Is Good Performance Isqlug Jan 2010

Who is the customer?

• Developer• Help desk person• CIO• Analyst• Tester• Manager• ...

Page 37: What Is Good Performance Isqlug Jan 2010

Who is the customer?

• Developer• Help desk person• CIO• Analyst• Tester• Manager• ...

= USERS

Page 38: What Is Good Performance Isqlug Jan 2010

Who is the customer?

• Developer• Help desk person• CIO• Analyst• Tester• Manager• ...

= USERS

Page 39: What Is Good Performance Isqlug Jan 2010

Who is the customer? (cont.)

Usability, this is it?

What about servers, scalability, network, all of the stuff that we can't live without?

Page 40: What Is Good Performance Isqlug Jan 2010

Who is the customer? (cont.)

Page 41: What Is Good Performance Isqlug Jan 2010

Who is the customer? (cont.)

Application Administrator

Page 42: What Is Good Performance Isqlug Jan 2010

Who is the customer? (cont.)

?= Application Administrator

Page 43: What Is Good Performance Isqlug Jan 2010

Who is the customer? (cont.)

Organization perspective:• Mainly an IT person• Responsible for the

application firmness inside the organization

• A mixture of a technical-geek and a functional architect

• Provides initial aid for any problem inside the organization (including performance of our product)

= Application Administrator

Page 44: What Is Good Performance Isqlug Jan 2010

Who is the customer? (cont.)

Organization perspective:• Mainly an IT person• Responsible for the

application firmness inside the organization

• A mixture of a technical-geek and a functional architect

• Provides initial aid for any problem inside the organization (including performance of our product)

Provider perspective:• Our best friend inside the

organization• The guy who collect info

for• The guy who read our

capacity planning guides and plans the next phase

• Single point of perception

Page 45: What Is Good Performance Isqlug Jan 2010

The inevitable equation :)

+ =

Page 46: What Is Good Performance Isqlug Jan 2010

“Customer perception”, I need elaboration...

Page 47: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

What is it composed of?

Page 48: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Page 49: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

What drives the end user?

Page 50: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

9 2 5

Page 51: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

• 9 2 5 (09:00 - 17:00)• Let me complete my job

ASAP and go home

:)

Page 52: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

• 9 2 5 (09:00 - 17:00)• Let me complete my job

ASAP and go home

:)

What drives the application administrator ?

Page 53: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

• 9 2 5 (09:00 - 17:00)• Let me complete my job

ASAP and go home

:)

9 2 5

Page 54: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

• 9 2 5 (09:00 - 17:00)• Let me complete my job

ASAP and go home

:)

• 9 2 5 (09:00 - 17:00)• Let me complete my job

ASAP and go home

:)

Page 55: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

I need a usable application now !

I need all my users to be able to use the application, all the time and for a long time.

Page 56: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

? ? ? ? ? ?

Page 57: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

• Product’s usability

? ? ?

Page 58: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

• Product’s usability • Product’s scalability • Product’s robustness• Product’s support /

supportability

Page 59: What Is Good Performance Isqlug Jan 2010

Usability, ... Supportabilty - I am not sure I know those words

Page 60: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s usability -

?

Page 61: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s usability -

From Wikipedia: In human-computer interaction and computer science, usability usually refers to the elegance and clarity with which the interaction with a Computer program or a web site is designed

Page 62: What Is Good Performance Isqlug Jan 2010

"It is impossible to work this way..."

Page 63: What Is Good Performance Isqlug Jan 2010

"S**t !!! It is impossible to work this way..."

Page 64: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s scalability -

?

Page 65: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s scalability -

From Wikipedia: The capability of a system to increase total throughput under an increased load when resources (typically hardware) are added

Page 66: What Is Good Performance Isqlug Jan 2010

“Mother f***er!!! I don't know what HW I need to run my site?”

Page 67: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s robustness -

?

Page 68: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s robustness -

From Wikipedia: Robustness is the quality of being able to withstand stresses, pressures, or changes in procedure or circumstance. A system, organism or design may be said to be "robust“ if it is capable of coping well with variations (sometimes unpredictable variations) in its operating environment with minimal damage, alteration or loss of functionality.

Page 69: What Is Good Performance Isqlug Jan 2010

“Damn, p re ssing this one a lway s stuck it a ll...”

Page 70: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s support / supportability -

?

Page 71: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s support / supportability -

Pinpointing the problem as fast as possible providing an accurate, cost saving and low risk solution that requires minimum customer activity

Page 72: What Is Good Performance Isqlug Jan 2010

“This support case is open for a long time and up until now those ma***cs

were unable to pinpoint the problem” ...

Page 73: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

• Product’s usability • Product’s scalability • Product’s robustness• Product’s support /

supportability

Page 74: What Is Good Performance Isqlug Jan 2010

This is a great discovery, let's make a poster...

Page 75: What Is Good Performance Isqlug Jan 2010

Performance axis

Page 76: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

• Product’s usability• Product’s scalability • Product’s robustness• Product’s support /

supportability

Page 77: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

• Product’s usability• Product’s scalability • Product’s robustness• Product’s support /

supportability

So I am a project manager and would like to use this information in order to make my product better...

Page 78: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

• Product’s usability• Product’s scalability • Product’s robustness• Product’s support /

supportability

So I am a project manager and would like to use this information in order to make my product better...

Can we break it down to something practical?

Page 79: What Is Good Performance Isqlug Jan 2010

Sounds like I am going to do some additional research...

Page 80: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performanceProduct’s usability - itemization

Page 81: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performanceProduct’s usability - itemization

• Embarrassment – “waiting for a long time for such a simple operation is a major embarrassment”

Page 82: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performanceProduct’s usability - itemization

• Embarrassment – “waiting for a long time for such a simple operation is a major embarrassment”

• Operation usage – differentiation between activities based on “amount/time” e.g. operations being performed many times during the day and one time daily operations

Page 83: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performanceProduct’s usability - itemization

• Embarrassment – “waiting for a long time for such a simple operation is a major embarrassment”

• Operation usage – differentiation between activities based on “amount/time” e.g. operations being performed many times during the day and one time daily operations

• Non-Intuitiveness of current – inability to agree with current solution model (current performance penalty) based on one’s intuition

Page 84: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performanceProduct’s usability - itemization

• Embarrassment – “waiting for a long time for such a simple operation is a major embarrassment”

• Operation usage – differentiation between activities based on “amount/time” e.g. operations being performed many times during the day and one time daily operations

• Non-Intuitiveness of current – inability to agree with current solution model (current performance penalty) based on one’s intuition

• Expensiveness non-acceptance – “it is so easy to fix, why isn’t that fixed?”

Page 85: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performanceProduct’s scalability - itemization

Page 86: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performanceProduct’s scalability - itemization

• Pure scalability – existing performance load issue which is not solved if more "machines power" is added

Page 87: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performanceProduct’s scalability - itemization

• Pure scalability – existing performance issue which is not solved if more "machines power" is added

• Suitability discrepancy – mismatch between the customer scale and his machinery strength causing issues

Page 88: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performanceProduct’s scalability - itemization

• Pure scalability – existing performance issue which is not solved if more "machines power" is added

• Suitability discrepancy – mismatch between the customer scale and his machinery strength causing issues

• Inability to predict – missing the ability to predict that a scale up or out is required

Page 89: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s robustness - itemization

Page 90: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s robustness - itemization

• Pure robustness – existing performance issue caused by stress, pressure, or changes in procedure or circumstance.

Page 91: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s robustness - itemization

• Pure robustness – existing performance issue caused by stress, pressure, or changes in procedure or circumstance.

• Robustness problem prevention - blocking robustness issues from happening e.g. preventing a server resource from being abused by a client

Page 92: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s support / supportability - itemization

Page 93: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s support / supportability - itemization

• Lengthy resolution - it takes a long time until get the root cause and fix

Page 94: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s support / supportability - itemization

• Lengthy resolution - it takes a long time until get the root cause and fix

• Risky solution/resolution - o Understanding what's wrong (sometimes) involves

"tweaking" in production siteo Solution provided (frequently) imposes a certain amount

of risk

Page 95: What Is Good Performance Isqlug Jan 2010

Customer perception of the application performance

Product’s support / supportability - itemization

• Lengthy resolution - it takes a long time until get the root cause and fix

• Risky solution/resolution - o Understanding what's wrong (sometimes) involves

"tweaking" in production siteo Solution provided (frequently) imposes a certain amount

of risk• Expensive solution - In many cases the solution price is

high e.g. buy new hardware

Page 96: What Is Good Performance Isqlug Jan 2010

Performance axis

Page 97: What Is Good Performance Isqlug Jan 2010

Performance axis

Page 98: What Is Good Performance Isqlug Jan 2010

I am practical, now what?

Page 99: What Is Good Performance Isqlug Jan 2010

Translating into actions (cont.)

“Hooking” into the development processes:

• “Performance Risk” attribute in the ALM system• Address feature leaders• Technical and functional design reviews• Addressed by DEV - technical consulting

Page 100: What Is Good Performance Isqlug Jan 2010

Translating into actions

Research aspects (Scope: R&D):

Methodology Aspect

Performance usability Response time validation

Performance scalability and robustness Resource consumption analysis

Performance support Architecture, flexibility

Page 101: What Is Good Performance Isqlug Jan 2010

Let's summ up

Customer perception

2 types of "customers"

Methodology:• Response• Resource• Architectural

Flexibility

Page 102: What Is Good Performance Isqlug Jan 2010

Performance is like...A poem by Alex (Bummer) Perfomsky. (the 2nd)

Sometimes you cry, but no one will notice your tears.

Sometimes you laugh, but no one will notice your smile.

Sometimes you are scared, but no one will notice you are shivering.

Sometimes you fall, but no one will notice your pain.

But if you fart once…

Page 103: What Is Good Performance Isqlug Jan 2010

Performance is like...A poem by Alex (Bummer) Perfomsky. (the 2nd)

Sometimes you cry, but no one will notice your tears.

Sometimes you laugh, but no one will notice your smile.

Sometimes you are scared, but no one will notice you are shivering.

Sometimes you fall, but no one will notice your pain.

But if you fart once…

The End

for comments / questions:

[email protected]@hp.com