SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
15-Nov-07




            Introduction to Software
            Performance Engineering
             Blackboard Performance Center of Excellence

             Steve Feldman, Tim Moore and Ryan O’Neil
                      perfeng@blackboard.com
                           ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Any statements in this presentation about future
expectations, plans and prospects for the Company, including
statements about the Company, the Building Blocks Program
and other statements containing the words “believes,”
“anticipates,” “plans,” “expects,” “will,” and similar
expressions, constitute forward-looking statements within
the meaning of The Private Securities Litigation Reform Act
of 1995. Actual results may differ materially from those
indicated by such forward-looking statements as a result of
various important factors, including: product development,
and other factors discussed in our Registration Statement
filed on Form S-1 with the SEC. In addition, the forward-
looking statements included in this press release represent
the Company’s views as of July 26, 2004. The Company
anticipates that subsequent events and developments will
cause the Company’s views to change. However, while the
Company may elect to update these forward-looking
statements at some point in the future, the Company
specifically disclaims any obligation to do so. These forward-
looking statements should not be relied upon as representing
the Company’s views as of any date subsequent to July 26,
2004.
                            ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Read the Fine Print
Any statements in this presentation about future expectations, plans and prospects for the Company, including statements about the Company, the Building Blocks Program and other
Any statements in this presentation about future expectations, plans and prospects for the Company, including statements about the Company, the Building Blocks Program and other
statements containing the words “believes,” “anticipates,” “plans,” “expects,” “will,” and similar expressions, constitute forward-looking statements within the meaning of The Private Securities
statements containing the words “believes,” “anticipates,” “plans,” “expects,” “will,” and similar expressions, constitute forward-looking statements within the meaning of The Private Securities
Litigation Reform Act of 1995. Actual results may differ materially from those indicated by such forward-looking statements as a result of various important factors, including: product
Litigation Reform Act of 1995. Actual results may differ materially from those indicated by such forward-looking statements as a result of various important factors, including: product
development, and other factors discussed in our Registration Statement filed on Form S-1 with the SEC. In addition, the forward-looking statements included in this press release represent the
development, and other factors discussed in our Registration Statement filed on Form S-1 with the SEC. In addition, the forward-looking statements included in this press release represent the
Company’s views as of July 26, 2004. The Company anticipates that subsequent events and developments will cause the Company’s views to change. However, while the Company may elect
Company’s views as of July 26, 2004. The Company anticipates that subsequent events and developments will cause the Company’s views to change. However, while the Company may elect
to update these forward-looking statements at some point in the future, the Company specifically disclaims any obligation to do so. These forward-looking statements should not be relied upon
to update these forward-looking statements at some point in the future, the Company specifically disclaims any obligation to do so. These forward-looking statements should not be relied upon
as representing the Company’s views as of any date subsequent to July 26, 2004.
as representing the Company’s views as of any date subsequent to July 26, 2004.




                                                                          ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Purpose of Today’s Session
  Introduction to SPE (5 Minutes)

  SPE Methodology (15 Minutes)

  Applying SPE to Building Blocks (5 Minutes)

  Performance Analysis Tools and Techniques (5
Minutes)

  Demonstration of Building Block (10 minutes)

  Answer some questions… (10 minutes)


                     ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Introduction to SPE
Q: What is software performance?

A: Any characteristic of a software product that you
could quantifiably measure?

Q: Why is software performance important?

A: The world we live in today is becoming more digitally
sophisticated. We expect our digital transactions to be
faster then our paper transactions.

Q: How do we manage performance in the SDLC?

A: Plan, Predict, Prove, Improve performance
throughout the SDLC?
                      ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Introduction to SPE
  Performance is at the top of everyone’s mind.

   If Performance is poor, software adoption will decline
and potentially cause usage attrition or adoption of
alternative products/processes.

  Performance Failures cost institutions a large amount
of unplanned money.

  Performance problems can create a huge trust
barrier between user and provider of technology.

                 So then what is SPE?

                      ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Introduction to SPE
SPE is a methodology that…

  Provides a systematic, quantitative approach to
constructing software systems that meet performance
objectives.

  Provides a software-oriented approach to
architecture, design and implementation choices.

  Prescribes principles and performance patterns for
creating responsive software.
  Performance antipatterns for recognizing and correcting common problems,
  the data required for evaluation, procedures for obtaining performance
  specifications, and guidelines for the types of evaluation to be conducted at
  each development stage.
                             ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
SPE Methodology
SPE is a 7 Step Cyclical Process…

  Assess Performance Risk

  Identify Critical Use Cases

  Select Key Performance Scenarios

  Establish Performance Objectives

  Construct Performance Models

  Determine Software Resource Requirements

  Add System Resource Requirements

                         ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
SPE Methodology
Assess Performance Risk

  Distinguish between new development and refactor.

  Work with requirements specialists to understand
the problem/domain issues for the work.

   Understand potential inter- versus intra-system
integration.

  Apply common sense and basic business logic from
past experiences and similar development projects.


                     ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
SPE Methodology
Identify Critical Use Cases

  Most important operations/actions in the feature or
system.

  Responsiveness driven.

  Risk driven.
  You look for use cases where there is a risk that, if performance goals are
  not met, the system will fail or be less than successful.




                             ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
SPE Methodology
Select Key Performance Scenarios

  Unlikely that all critical use cases will be important to
performance.

  The key performance scenarios are those that are
executed frequently, or those that are critical to the
perceived performance of the system.

  Each performance scenario corresponds to a
workload.

  Performance scenarios represented through sequence
diagrams augmented with some useful extensions.
                      ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
SPE Methodology
Establish Performance Objectives

  Identify and define performance objectives.
  Specify the quantitative criteria for evaluating the performance
  characteristics of the system under development.
  Response time, throughput, or constraints on resource usage


  Identify and define workload objectives.
  Specify the level of usage for the scenario.
  They are specified as an arrival rate (e.g., number of Web site hits per
  hour), number of concurrent users or number of parallel transactions.




                             ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
SPE Methodology
Construct Performance Models

  Use of Execution Graphs to represent software
processing steps in the performance model.

  The sequence diagram representations of the key
performance scenarios are translated into execution
graphs.

  Reverse Engineer       Reverse Engineer                          Reverse
Engineer



                     ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
SPE Methodology
Determine Software Resource Requirements

  Understand at an atomic level the types of software resource
requirements.
   Method Calls
   SQL Executions
   Data Loading
   Caching


  Understand the effects of this software to inter- and intra-
system components.

  Understand at best- and worst-case perspective.
   90% of the time
   Peak time.


                         ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
SPE Methodology
Add System Resource Requirements

 Apply Workload Understanding

  Based on findings in the software resource
requirements phase you should be able to understand at
an atomic level...
  CPU Cycles consumed by the method call and/or sql operation.
  Network overhead (packet transfer)
  Memory requirements
  Processing Thread/DB Connection Requirements




                            ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Applying SPE to Blocks
We chose to create our own building block for this demo…

Santa’s Little Helper

  B2 that provides performance/capacity metrics of sub-system
usage within Blackboard.

  Parses an Apache access.log file

  Generate a graphical display of the following metrics
    –   Sub-System Breakdown (Primary Graphical Requirement)
    –   Hits Per Day in terms of Visits (Secondary Graphical Requirement)
    –   Average Length Per Visit (Nice to Have Graphical Requirement)


  Generate a textual summary of the following metrics
    –   Sub-System Breakdown (Primary Graphical Requirement)
    –   Top 50 Click Paths (Primary Graphical Requirement)
    –   Hits Per Day in terms of Visits (Secondary Graphical Requirement)
    –   Average Length Per Visit (Nice to Have Graphical Requirement)

                                     ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Applying SPE to Blocks
               SPE Phase                                                    Application of B2 to SPE
Assess Performance Risk                       Relatively low use case, maybe executed by 1 person on a system a
                                              handful of times per day or week. No major database activity,
                                              performed in isolation on the application server.
Identify Critical Use Cases                   1. Textual Report (Default Report) of Sub-System Breakdown.

                                              2. Textual Report of Hits Per Day.

Select Key Performance Scenarios              Limited only to administrator role access to this sub-system. Expected
                                              to be executed daily.


Establish Performance Objectives              1.       Ability to Parse up to 10mb in size. (Manage via a log rotation
                                                       parameter)

                                              2.        1mb file processed in 90 seconds.

                                              3.        Conversion of text into graphic 10 seconds or less.
Construct Performance Models                  Sequence Diagram Attached



Determine Software Resource Requirements      Review Profiling Metrics



Add System Resource Requirements              Report from Grinder and Study System Resource Usage




                                           ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Applying SPE to Blocks

                                                              Example
                                                          Sequence/Workflow
                                                               Diagram




            ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
SPE Tools and Techniques
 Load Induced Tools for Simulation

 Java Profiling Interface to plug into the JVMPI API.

 SQL Profiler




                    ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
SPE Tools and Techniques
Load Induced Tools for Simulation

  Commercially Available Tools
  Mercury LoadRunner (Primary Tool of BB Perfeng)
  Seque Silk Performer


  Freeware Tools
  The Grinder (Primary Tool of BB Dev)
  Volano
  Countless others on Sourceforge




                           ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
SPE Tools and Techniques
Java Profilers

 Commercially Available Tools
  JProbe (Used by BB Perfeng)
  Performasure
  OptimizeIt
  Wily Enterprise Application Analyzer
  HyPerformix


 Freeware Tools
  HPJmeter
  JProbe Light (Used by BB Dev)
  Eclipse Profiler (Used by BB Dev)

                            ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
SPE Tools and Techniques
SQL Profilers

  Commercially Available Tools
  Hotsos (Used by BB Perfeng)
  IronEye SQL


  Freeware Tools
  Oracle SQL Analyze (Used by BB Perfeng and Dev)
  SQL Profiler for MS SQL Server (Used by BB Perfeng and Dev)




                           ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Demonstration…




     Here is our new
     Building Block




                       ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Demonstration…




                                                         Click Here to
                                                         Study Usage
                                                          Statistics




           ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Demonstration…


                                             Sub-Systems are Categorized and
                                                   Distributed by Hits




                                                 Total System Hits for the Day




           ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Demonstration…
Contents of the Grinder.Properties File
grinder.processes=1
grinder.threads=10
grinder.runs=5
grinder.duration=0
grinder.script=tests/usage_analysis.py
grinder.logDirectory=logs
grinder.useConsole=false
grinder.initialSleepTime=5000
grinder.sleepTimeFactor=1
grinder.sleepTimeVariation=1.0
grinder.logProcessStreams=true
grinder.recordTime=true
                           ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Demonstration…




                                 Example Grinder .py file
                                    for Load Testing
                                  Santa’s Little Helper




           ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Demonstration…
   Test   Iterations   Errors       Mean                    Mean              Response    Response   Transaction
                                 Transaction              Response            Bytes Per    Errors
                                  Time (ms)                Length              Second


Test 1       50          0      494.32                  36565.00                NA           0       "My
                                                                                                     Institution"




Test 2       50          0      2547.30                  43182.00               NA           0       "Admin
                                                                                                     Panel"




Test 3       50          0      106592.2                16566.94                NA           0       "Usage
                                                                                                     Stats"




                                ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Demonstration…




           ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Demonstration…




           ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Demonstration…




           ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Demonstration…




           ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
Question and Answer…




           ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.

Contenu connexe

Tendances

Con8442 fusion functional setup manager
Con8442 fusion functional setup managerCon8442 fusion functional setup manager
Con8442 fusion functional setup manager
Berry Clemens
 
OOW09 R12.1 Standalone Solutions
OOW09 R12.1 Standalone SolutionsOOW09 R12.1 Standalone Solutions
OOW09 R12.1 Standalone Solutions
jucaab
 

Tendances (20)

Whats new Primavera P6 Professional 15.2?
Whats new Primavera P6 Professional 15.2?Whats new Primavera P6 Professional 15.2?
Whats new Primavera P6 Professional 15.2?
 
Extensibility
ExtensibilityExtensibility
Extensibility
 
Best practices for fusion hcm cloud implementation
Best practices for fusion hcm cloud implementationBest practices for fusion hcm cloud implementation
Best practices for fusion hcm cloud implementation
 
Oracle Primavera P6 Release Content Document (RCD)
Oracle Primavera P6 Release Content Document (RCD)Oracle Primavera P6 Release Content Document (RCD)
Oracle Primavera P6 Release Content Document (RCD)
 
Con8442 fusion functional setup manager
Con8442 fusion functional setup managerCon8442 fusion functional setup manager
Con8442 fusion functional setup manager
 
Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009
 
ORACLE EBS R12 UPGRADE
ORACLE EBS R12 UPGRADEORACLE EBS R12 UPGRADE
ORACLE EBS R12 UPGRADE
 
Oracle Primavera P6 v7 Release Value Proposition
Oracle Primavera P6 v7 Release Value Proposition Oracle Primavera P6 v7 Release Value Proposition
Oracle Primavera P6 v7 Release Value Proposition
 
OOW09 R12.1 Standalone Solutions
OOW09 R12.1 Standalone SolutionsOOW09 R12.1 Standalone Solutions
OOW09 R12.1 Standalone Solutions
 
Costacctreceiptacct e22705-02-1514567
Costacctreceiptacct e22705-02-1514567Costacctreceiptacct e22705-02-1514567
Costacctreceiptacct e22705-02-1514567
 
Whats new in Primavera Prime 15.2?
Whats new in Primavera Prime 15.2?Whats new in Primavera Prime 15.2?
Whats new in Primavera Prime 15.2?
 
Superia Presentation
Superia PresentationSuperia Presentation
Superia Presentation
 
The Major Advantages of Oracle EBS R12 Upgrade!
The Major Advantages of Oracle EBS R12 Upgrade!The Major Advantages of Oracle EBS R12 Upgrade!
The Major Advantages of Oracle EBS R12 Upgrade!
 
What's New In Primavera P6 EPPM 17.1
What's New In Primavera P6 EPPM 17.1What's New In Primavera P6 EPPM 17.1
What's New In Primavera P6 EPPM 17.1
 
OOW15 - Planning Your Upgrade to Oracle E-Business Suite 12.2
OOW15 - Planning Your Upgrade to Oracle E-Business Suite 12.2OOW15 - Planning Your Upgrade to Oracle E-Business Suite 12.2
OOW15 - Planning Your Upgrade to Oracle E-Business Suite 12.2
 
System Software Modification Proposal PowerPoint Presentation Slides
System Software Modification Proposal PowerPoint Presentation SlidesSystem Software Modification Proposal PowerPoint Presentation Slides
System Software Modification Proposal PowerPoint Presentation Slides
 
Whats new in Primavera Gateway 15.2
Whats new in Primavera Gateway 15.2Whats new in Primavera Gateway 15.2
Whats new in Primavera Gateway 15.2
 
Primavera P6 Enterprise Project Portfolio Management 8 Essentials (1Z0-567) ...
Primavera P6 Enterprise Project Portfolio Management 8  Essentials (1Z0-567) ...Primavera P6 Enterprise Project Portfolio Management 8  Essentials (1Z0-567) ...
Primavera P6 Enterprise Project Portfolio Management 8 Essentials (1Z0-567) ...
 
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
OOW15 - Migrating and Managing Customizations for Oracle E-Business Suite 12.2
OOW15 - Migrating and Managing Customizations for Oracle E-Business Suite 12.2OOW15 - Migrating and Managing Customizations for Oracle E-Business Suite 12.2
OOW15 - Migrating and Managing Customizations for Oracle E-Business Suite 12.2
 

En vedette (8)

Bb performance-engineering-spotlight
Bb performance-engineering-spotlightBb performance-engineering-spotlight
Bb performance-engineering-spotlight
 
B2 2005 introduction_load_testing_blackboard_primer_draft
B2 2005 introduction_load_testing_blackboard_primer_draftB2 2005 introduction_load_testing_blackboard_primer_draft
B2 2005 introduction_load_testing_blackboard_primer_draft
 
B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)
 
Dell bb quest_wp_jan6
Dell bb quest_wp_jan6Dell bb quest_wp_jan6
Dell bb quest_wp_jan6
 
So Your Boss Wants You to Performance Test Blackboard
So Your Boss Wants You to Performance Test BlackboardSo Your Boss Wants You to Performance Test Blackboard
So Your Boss Wants You to Performance Test Blackboard
 
How to Grow Your Audience Through Accessibility
How to Grow Your Audience Through AccessibilityHow to Grow Your Audience Through Accessibility
How to Grow Your Audience Through Accessibility
 
Bb world 2011 capacity planning
Bb world 2011 capacity planningBb world 2011 capacity planning
Bb world 2011 capacity planning
 
Turbocharge Your Mac Productivity SVMUG
Turbocharge Your Mac Productivity SVMUGTurbocharge Your Mac Productivity SVMUG
Turbocharge Your Mac Productivity SVMUG
 

Similaire à B2conference performance 2004

Building Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling APIBuilding Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling API
Jeff Douglas
 
Improving Predictability and Efficiency with Kanban Metrics using Rational In...
Improving Predictability and Efficiency with Kanban Metrics using Rational In...Improving Predictability and Efficiency with Kanban Metrics using Rational In...
Improving Predictability and Efficiency with Kanban Metrics using Rational In...
Paulo Lacerda
 
Dreamforce 2008 : Transforming IT Success with Agile Development Processes
Dreamforce 2008 : Transforming IT Success with Agile Development ProcessesDreamforce 2008 : Transforming IT Success with Agile Development Processes
Dreamforce 2008 : Transforming IT Success with Agile Development Processes
Steve Greene
 

Similaire à B2conference performance 2004 (20)

Dreamforce 2013 - Pitfalls and solutions
Dreamforce 2013 - Pitfalls and solutionsDreamforce 2013 - Pitfalls and solutions
Dreamforce 2013 - Pitfalls and solutions
 
Introduction to Apex Triggers
Introduction to Apex TriggersIntroduction to Apex Triggers
Introduction to Apex Triggers
 
Manage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkManage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance Framework
 
Build your API with Force.com and Heroku
Build your API with Force.com and HerokuBuild your API with Force.com and Heroku
Build your API with Force.com and Heroku
 
Modern App Dev: Modular Development Strategies
Modern App Dev: Modular Development StrategiesModern App Dev: Modular Development Strategies
Modern App Dev: Modular Development Strategies
 
API Design for Your Packaged App
API Design for Your Packaged AppAPI Design for Your Packaged App
API Design for Your Packaged App
 
Guidewire Connections 2023 DE-4 Using AI to Accelerate Application Integration
Guidewire Connections 2023 DE-4 Using AI to Accelerate Application IntegrationGuidewire Connections 2023 DE-4 Using AI to Accelerate Application Integration
Guidewire Connections 2023 DE-4 Using AI to Accelerate Application Integration
 
Building Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling APIBuilding Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling API
 
Planning Your Migration to the Lightning Experience
Planning Your Migration to the Lightning ExperiencePlanning Your Migration to the Lightning Experience
Planning Your Migration to the Lightning Experience
 
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
 
Gems to help you troubleshoot query performance
Gems to help you troubleshoot query performanceGems to help you troubleshoot query performance
Gems to help you troubleshoot query performance
 
Salesforce Winter '23 Release Highlights.pptx
Salesforce Winter '23 Release Highlights.pptxSalesforce Winter '23 Release Highlights.pptx
Salesforce Winter '23 Release Highlights.pptx
 
Introduction to Apex Triggers
Introduction to Apex TriggersIntroduction to Apex Triggers
Introduction to Apex Triggers
 
Introduction to Apex Triggers
Introduction to Apex TriggersIntroduction to Apex Triggers
Introduction to Apex Triggers
 
Improving Predictability and Efficiency with Kanban Metrics using Rational In...
Improving Predictability and Efficiency with Kanban Metrics using Rational In...Improving Predictability and Efficiency with Kanban Metrics using Rational In...
Improving Predictability and Efficiency with Kanban Metrics using Rational In...
 
Learn to Leverage the Power of SOQL
Learn to Leverage the Power of SOQLLearn to Leverage the Power of SOQL
Learn to Leverage the Power of SOQL
 
Best Practices for Creating Scalable Apps with Heroku
Best Practices for Creating Scalable Apps with HerokuBest Practices for Creating Scalable Apps with Heroku
Best Practices for Creating Scalable Apps with Heroku
 
Lightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE EvolvedLightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE Evolved
 
Dreamforce 2008 : Transforming IT Success with Agile Development Processes
Dreamforce 2008 : Transforming IT Success with Agile Development ProcessesDreamforce 2008 : Transforming IT Success with Agile Development Processes
Dreamforce 2008 : Transforming IT Success with Agile Development Processes
 
Best Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgBest Practices for Team Development in a Single Org
Best Practices for Team Development in a Single Org
 

Plus de Steve Feldman

Cookbook for Administrating Blackboard Learn
Cookbook for Administrating Blackboard LearnCookbook for Administrating Blackboard Learn
Cookbook for Administrating Blackboard Learn
Steve Feldman
 
Emerging technologies
Emerging technologiesEmerging technologies
Emerging technologies
Steve Feldman
 
Scaling Blackboard Learn™ for High Performance and Delivery
Scaling Blackboard Learn™ for High Performance and DeliveryScaling Blackboard Learn™ for High Performance and Delivery
Scaling Blackboard Learn™ for High Performance and Delivery
Steve Feldman
 
Short reference architecture
Short reference architectureShort reference architecture
Short reference architecture
Steve Feldman
 
Sfeldman bbworld 07_going_enterprise (1)
Sfeldman bbworld 07_going_enterprise (1)Sfeldman bbworld 07_going_enterprise (1)
Sfeldman bbworld 07_going_enterprise (1)
Steve Feldman
 
Sfeldman performance bb_worldemea07
Sfeldman performance bb_worldemea07Sfeldman performance bb_worldemea07
Sfeldman performance bb_worldemea07
Steve Feldman
 
Bb performance-engineering-toad
Bb performance-engineering-toadBb performance-engineering-toad
Bb performance-engineering-toad
Steve Feldman
 
Sun blackboardwp10 1_07
Sun blackboardwp10 1_07Sun blackboardwp10 1_07
Sun blackboardwp10 1_07
Steve Feldman
 
Hied blackboard dell_whitepaper
Hied blackboard dell_whitepaperHied blackboard dell_whitepaper
Hied blackboard dell_whitepaper
Steve Feldman
 
Hied blackboard whitepaper
Hied blackboard whitepaperHied blackboard whitepaper
Hied blackboard whitepaper
Steve Feldman
 
B2 2006 tomcat_clusters
B2 2006 tomcat_clustersB2 2006 tomcat_clusters
B2 2006 tomcat_clusters
Steve Feldman
 
B2 2006 sizing_benchmarking
B2 2006 sizing_benchmarkingB2 2006 sizing_benchmarking
B2 2006 sizing_benchmarking
Steve Feldman
 
7.17 1130am adv.perform.forensics_bb
7.17 1130am adv.perform.forensics_bb7.17 1130am adv.perform.forensics_bb
7.17 1130am adv.perform.forensics_bb
Steve Feldman
 

Plus de Steve Feldman (20)

Day 2 05 - steve feldman - logging matters
Day 2 05 - steve feldman - logging mattersDay 2 05 - steve feldman - logging matters
Day 2 05 - steve feldman - logging matters
 
PTOn...Finding the Time to Dedicate Individual Projects of Passion and Role
PTOn...Finding the Time to Dedicate Individual Projects of Passion and Role PTOn...Finding the Time to Dedicate Individual Projects of Passion and Role
PTOn...Finding the Time to Dedicate Individual Projects of Passion and Role
 
3days september
3days september3days september
3days september
 
Logonomics
LogonomicsLogonomics
Logonomics
 
Cookbook for Administrating Blackboard Learn
Cookbook for Administrating Blackboard LearnCookbook for Administrating Blackboard Learn
Cookbook for Administrating Blackboard Learn
 
Emerging technologies
Emerging technologiesEmerging technologies
Emerging technologies
 
Bb sql serverdell
Bb sql serverdellBb sql serverdell
Bb sql serverdell
 
Scaling Blackboard Learn™ for High Performance and Delivery
Scaling Blackboard Learn™ for High Performance and DeliveryScaling Blackboard Learn™ for High Performance and Delivery
Scaling Blackboard Learn™ for High Performance and Delivery
 
Short reference architecture
Short reference architectureShort reference architecture
Short reference architecture
 
Sfeldman bbworld 07_going_enterprise (1)
Sfeldman bbworld 07_going_enterprise (1)Sfeldman bbworld 07_going_enterprise (1)
Sfeldman bbworld 07_going_enterprise (1)
 
Sfeldman performance bb_worldemea07
Sfeldman performance bb_worldemea07Sfeldman performance bb_worldemea07
Sfeldman performance bb_worldemea07
 
Dell bb wp_final
Dell bb wp_finalDell bb wp_final
Dell bb wp_final
 
Bb performance-engineering-toad
Bb performance-engineering-toadBb performance-engineering-toad
Bb performance-engineering-toad
 
Sun blackboardwp10 1_07
Sun blackboardwp10 1_07Sun blackboardwp10 1_07
Sun blackboardwp10 1_07
 
Hied blackboard dell_whitepaper
Hied blackboard dell_whitepaperHied blackboard dell_whitepaper
Hied blackboard dell_whitepaper
 
Hied blackboard whitepaper
Hied blackboard whitepaperHied blackboard whitepaper
Hied blackboard whitepaper
 
B2 2006 tomcat_clusters
B2 2006 tomcat_clustersB2 2006 tomcat_clusters
B2 2006 tomcat_clusters
 
B2 2006 sizing_benchmarking
B2 2006 sizing_benchmarkingB2 2006 sizing_benchmarking
B2 2006 sizing_benchmarking
 
7.17 1130am adv.perform.forensics_bb
7.17 1130am adv.perform.forensics_bb7.17 1130am adv.perform.forensics_bb
7.17 1130am adv.perform.forensics_bb
 
071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen
 

B2conference performance 2004

  • 1. 15-Nov-07 Introduction to Software Performance Engineering Blackboard Performance Center of Excellence Steve Feldman, Tim Moore and Ryan O’Neil perfeng@blackboard.com ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 2. Any statements in this presentation about future expectations, plans and prospects for the Company, including statements about the Company, the Building Blocks Program and other statements containing the words “believes,” “anticipates,” “plans,” “expects,” “will,” and similar expressions, constitute forward-looking statements within the meaning of The Private Securities Litigation Reform Act of 1995. Actual results may differ materially from those indicated by such forward-looking statements as a result of various important factors, including: product development, and other factors discussed in our Registration Statement filed on Form S-1 with the SEC. In addition, the forward- looking statements included in this press release represent the Company’s views as of July 26, 2004. The Company anticipates that subsequent events and developments will cause the Company’s views to change. However, while the Company may elect to update these forward-looking statements at some point in the future, the Company specifically disclaims any obligation to do so. These forward- looking statements should not be relied upon as representing the Company’s views as of any date subsequent to July 26, 2004. ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 3. Read the Fine Print Any statements in this presentation about future expectations, plans and prospects for the Company, including statements about the Company, the Building Blocks Program and other Any statements in this presentation about future expectations, plans and prospects for the Company, including statements about the Company, the Building Blocks Program and other statements containing the words “believes,” “anticipates,” “plans,” “expects,” “will,” and similar expressions, constitute forward-looking statements within the meaning of The Private Securities statements containing the words “believes,” “anticipates,” “plans,” “expects,” “will,” and similar expressions, constitute forward-looking statements within the meaning of The Private Securities Litigation Reform Act of 1995. Actual results may differ materially from those indicated by such forward-looking statements as a result of various important factors, including: product Litigation Reform Act of 1995. Actual results may differ materially from those indicated by such forward-looking statements as a result of various important factors, including: product development, and other factors discussed in our Registration Statement filed on Form S-1 with the SEC. In addition, the forward-looking statements included in this press release represent the development, and other factors discussed in our Registration Statement filed on Form S-1 with the SEC. In addition, the forward-looking statements included in this press release represent the Company’s views as of July 26, 2004. The Company anticipates that subsequent events and developments will cause the Company’s views to change. However, while the Company may elect Company’s views as of July 26, 2004. The Company anticipates that subsequent events and developments will cause the Company’s views to change. However, while the Company may elect to update these forward-looking statements at some point in the future, the Company specifically disclaims any obligation to do so. These forward-looking statements should not be relied upon to update these forward-looking statements at some point in the future, the Company specifically disclaims any obligation to do so. These forward-looking statements should not be relied upon as representing the Company’s views as of any date subsequent to July 26, 2004. as representing the Company’s views as of any date subsequent to July 26, 2004. ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 4. Purpose of Today’s Session Introduction to SPE (5 Minutes) SPE Methodology (15 Minutes) Applying SPE to Building Blocks (5 Minutes) Performance Analysis Tools and Techniques (5 Minutes) Demonstration of Building Block (10 minutes) Answer some questions… (10 minutes) ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 5. Introduction to SPE Q: What is software performance? A: Any characteristic of a software product that you could quantifiably measure? Q: Why is software performance important? A: The world we live in today is becoming more digitally sophisticated. We expect our digital transactions to be faster then our paper transactions. Q: How do we manage performance in the SDLC? A: Plan, Predict, Prove, Improve performance throughout the SDLC? ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 6. Introduction to SPE Performance is at the top of everyone’s mind. If Performance is poor, software adoption will decline and potentially cause usage attrition or adoption of alternative products/processes. Performance Failures cost institutions a large amount of unplanned money. Performance problems can create a huge trust barrier between user and provider of technology. So then what is SPE? ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 7. Introduction to SPE SPE is a methodology that… Provides a systematic, quantitative approach to constructing software systems that meet performance objectives. Provides a software-oriented approach to architecture, design and implementation choices. Prescribes principles and performance patterns for creating responsive software. Performance antipatterns for recognizing and correcting common problems, the data required for evaluation, procedures for obtaining performance specifications, and guidelines for the types of evaluation to be conducted at each development stage. ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 8. SPE Methodology SPE is a 7 Step Cyclical Process… Assess Performance Risk Identify Critical Use Cases Select Key Performance Scenarios Establish Performance Objectives Construct Performance Models Determine Software Resource Requirements Add System Resource Requirements ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 9. SPE Methodology Assess Performance Risk Distinguish between new development and refactor. Work with requirements specialists to understand the problem/domain issues for the work. Understand potential inter- versus intra-system integration. Apply common sense and basic business logic from past experiences and similar development projects. ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 10. SPE Methodology Identify Critical Use Cases Most important operations/actions in the feature or system. Responsiveness driven. Risk driven. You look for use cases where there is a risk that, if performance goals are not met, the system will fail or be less than successful. ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 11. SPE Methodology Select Key Performance Scenarios Unlikely that all critical use cases will be important to performance. The key performance scenarios are those that are executed frequently, or those that are critical to the perceived performance of the system. Each performance scenario corresponds to a workload. Performance scenarios represented through sequence diagrams augmented with some useful extensions. ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 12. SPE Methodology Establish Performance Objectives Identify and define performance objectives. Specify the quantitative criteria for evaluating the performance characteristics of the system under development. Response time, throughput, or constraints on resource usage Identify and define workload objectives. Specify the level of usage for the scenario. They are specified as an arrival rate (e.g., number of Web site hits per hour), number of concurrent users or number of parallel transactions. ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 13. SPE Methodology Construct Performance Models Use of Execution Graphs to represent software processing steps in the performance model. The sequence diagram representations of the key performance scenarios are translated into execution graphs. Reverse Engineer Reverse Engineer Reverse Engineer ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 14. SPE Methodology Determine Software Resource Requirements Understand at an atomic level the types of software resource requirements. Method Calls SQL Executions Data Loading Caching Understand the effects of this software to inter- and intra- system components. Understand at best- and worst-case perspective. 90% of the time Peak time. ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 15. SPE Methodology Add System Resource Requirements Apply Workload Understanding Based on findings in the software resource requirements phase you should be able to understand at an atomic level... CPU Cycles consumed by the method call and/or sql operation. Network overhead (packet transfer) Memory requirements Processing Thread/DB Connection Requirements ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 16. Applying SPE to Blocks We chose to create our own building block for this demo… Santa’s Little Helper B2 that provides performance/capacity metrics of sub-system usage within Blackboard. Parses an Apache access.log file Generate a graphical display of the following metrics – Sub-System Breakdown (Primary Graphical Requirement) – Hits Per Day in terms of Visits (Secondary Graphical Requirement) – Average Length Per Visit (Nice to Have Graphical Requirement) Generate a textual summary of the following metrics – Sub-System Breakdown (Primary Graphical Requirement) – Top 50 Click Paths (Primary Graphical Requirement) – Hits Per Day in terms of Visits (Secondary Graphical Requirement) – Average Length Per Visit (Nice to Have Graphical Requirement) ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 17. Applying SPE to Blocks SPE Phase Application of B2 to SPE Assess Performance Risk Relatively low use case, maybe executed by 1 person on a system a handful of times per day or week. No major database activity, performed in isolation on the application server. Identify Critical Use Cases 1. Textual Report (Default Report) of Sub-System Breakdown. 2. Textual Report of Hits Per Day. Select Key Performance Scenarios Limited only to administrator role access to this sub-system. Expected to be executed daily. Establish Performance Objectives 1. Ability to Parse up to 10mb in size. (Manage via a log rotation parameter) 2. 1mb file processed in 90 seconds. 3. Conversion of text into graphic 10 seconds or less. Construct Performance Models Sequence Diagram Attached Determine Software Resource Requirements Review Profiling Metrics Add System Resource Requirements Report from Grinder and Study System Resource Usage ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 18. Applying SPE to Blocks Example Sequence/Workflow Diagram ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 19. SPE Tools and Techniques Load Induced Tools for Simulation Java Profiling Interface to plug into the JVMPI API. SQL Profiler ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 20. SPE Tools and Techniques Load Induced Tools for Simulation Commercially Available Tools Mercury LoadRunner (Primary Tool of BB Perfeng) Seque Silk Performer Freeware Tools The Grinder (Primary Tool of BB Dev) Volano Countless others on Sourceforge ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 21. SPE Tools and Techniques Java Profilers Commercially Available Tools JProbe (Used by BB Perfeng) Performasure OptimizeIt Wily Enterprise Application Analyzer HyPerformix Freeware Tools HPJmeter JProbe Light (Used by BB Dev) Eclipse Profiler (Used by BB Dev) ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 22. SPE Tools and Techniques SQL Profilers Commercially Available Tools Hotsos (Used by BB Perfeng) IronEye SQL Freeware Tools Oracle SQL Analyze (Used by BB Perfeng and Dev) SQL Profiler for MS SQL Server (Used by BB Perfeng and Dev) ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 23. Demonstration… Here is our new Building Block ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 24. Demonstration… Click Here to Study Usage Statistics ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 25. Demonstration… Sub-Systems are Categorized and Distributed by Hits Total System Hits for the Day ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 26. Demonstration… Contents of the Grinder.Properties File grinder.processes=1 grinder.threads=10 grinder.runs=5 grinder.duration=0 grinder.script=tests/usage_analysis.py grinder.logDirectory=logs grinder.useConsole=false grinder.initialSleepTime=5000 grinder.sleepTimeFactor=1 grinder.sleepTimeVariation=1.0 grinder.logProcessStreams=true grinder.recordTime=true ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 27. Demonstration… Example Grinder .py file for Load Testing Santa’s Little Helper ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 28. Demonstration… Test Iterations Errors Mean Mean Response Response Transaction Transaction Response Bytes Per Errors Time (ms) Length Second Test 1 50 0 494.32 36565.00 NA 0 "My Institution" Test 2 50 0 2547.30 43182.00 NA 0 "Admin Panel" Test 3 50 0 106592.2 16566.94 NA 0 "Usage Stats" ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 29. Demonstration… ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 30. Demonstration… ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 31. Demonstration… ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 32. Demonstration… ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.
  • 33. Question and Answer… ©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED.