SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
Imaginea
                                  Performance Engineering Practice


                                                           Methodology & Success Stories




For Private Viewing Only. Not for Public and Unsolicited Distribution. Copyright © 2009, IMAGINEA a business unit of Pramati Technologies Pvt. Ltd.   1
Performance Engineering Methodology
  Performance Characterization
  Production System Analysis
  Detailed Architecture Review
  Detailed code review analysis
  Performance Tuning
  Database architecture, Query Analysis and entity relationships
Performance Characterization
  Performance goals and objectives                Testing for performance
  Metrics and performance criteria                   Identify the most common use cases and
                                                     load levels
     Expected peak load
                                                     Development of performance test suites
     Throughput
                                                     Test Tool identification
     Response time
                                                     Test data generation
     No of users
     Define and capture work load                 Runs tests and analyze data

  Workload objectives
     Base Line characterization
     Analyze statistics
     Repeat baseline with optimized application

  Test Tool identification
     Grinder, webload, loadrunner, funkload,
     rational tester etc
Production System Analysis
  Understand Deployment requirements            Technology stack
     Fault tolerance and Redundancy                Key components along the response path
     Understand transactional requirements         Web Server, Middleware, Database
     Caching and Clustering                     Server diagnostics
     Load Balancing and state management           Memory, gc analysis
  Deployment configuration                         Using Java profilers
     Caching and clustering issues?                Run time statistics
     Configurable parameters like no. of           Latencies
     thread, socket buffer sizes                   Concurrency and threading issues
     Statistics collection (Memory analysis ,
     garbage collection etc)                    Database Service times
     Estimate the Capacity                         SQL queries

     Size the applications                         Connection pools
                                                   Database cache
Architecture Review
  Architecture review                            Requirements
     Major modules, interfaces                       No of users, response time, throughput
     Inter and intra product message exchanges       Capacity and sizing requirements
     Transactional analysis                          Understand transactional requirements
     Data path and its size                      Load characterization
     Architectural design patterns and their         Run tests and analyze data
     applicability
                                                     Top down approach
     Failure (severance) scenarios
                                                 •   OS, VM, AppServer, Application, Network, DB
     Recovery scenarios(Recoverability)
                                                     Choose profiling tools
     Data integrity and fault tolerance
                                                 Evaluation of deployment parameters
     Object instances and scalability
                                                     Clustering
     Memory requirements
                                                     Load balancing etc
     Optimum performance through load
     characterization
Detailed Code Review
  Analysis                                       Understand Code
     Standard coding practices                      Different modules
     Design patterns                                Layers and Interfaces
     Class design and Code reuse                    Dependency and boundary tests
     Thread safety and deadlocks                    UI interaction
     Unit test suites                            Caching and Clustering
     Continuous integration                         Session management and state
     Peer code review process                       Clustering and session state
     Modularity
     Intra and Inter product message exchanges
Performance Tuning
  Understand the problem                       Performance improvement
     Generic tuning                               Repeatable test load, with baseline and
                                                  target
     Specific operations slow
                                                  Generating load
     Slow on high volume of load
                                                  Run tests and analyze data, interpret
  Tunable components                              data
     Processors, memory, I/O, Network BW          Repeat performance tests
     OS parameters, VM Parameters
                                               Tune OS and Network
     Schema Design, Table indexes
                                                  Buffer sizes, paging, no of threads, disk
     No of connections, DB cache                  reads and writes
  Performance Criteria and Test                Tune JVM
  environment                                     GC times, Memory, I/O
     Repeatable test load, with baseline and
     target                                    Tune Database
     Tools for generating load                    Queries, indexes, partitioning

     Run tests and analyze data                Tune Application
                                                  Sessions, application cache, data paths
Database Analysis
  Understand the Entity model                         Scaling the Db Reads
     Understand domain model, relationships,             Replication with slave servers
     attributes
                                                         Slave
     Replication requirements
     BI requirements                                  Scaling the DB writes
                                                         Sharading: Partition data multiple
  Analysis                                               servers
     Optimum normalization of the schema                 Managing queries across shrads
     SQL query analysis, joins (cost analysis)
                                                      Data redundancy and backups
     Caching
                                                         Slave DB for backup
     Index sizes and its effect on writes and reads
     Sharding, Partitioning and application design
     Statistics collection and analysis
Success Stories
SocialTwist: 59 mn queries & 6 bn buttons served
   Worlds leading social media sharing widget developed on the Java platform and deployed on EC2
   for extremely high scalability and 24x7x365 availability. Here are some key characteristics

       2.79 billion impressions served
                                                                                       16
       Auto scale up or down
       Configures load balancer automatically
                                                                           15
       New instance to share load after configuration
       Instant deployment                                                         12

                                                                   11
       Monitor health, average load, requests etc                                      13    S3
                                                                        Balance
       Uptime for more than a year                                      Loader

       24% reads and 76% writes on master                                         14
                                                             EC2
       3 slaves and 100% reads




                                     Remote Shell
                                     Cacti


                                                    System
                                                    Admin
MyPicks Beijing: Facebook Gaming Application
   Sun Microsystems sought Imaginea’s expertise to develop and test the Mypicks application
   that had to be designed to scale for more than 3mn users

       User DB is sharded (with hot standby)
      Look up table for sharding                                                                    S3
                                                                   Shard Lookup DB
      10MB cache size for mil users                                             S
                                                                    M
      Sharding logic in Node chooser                                                          Result Processor
      Friends DB replicated instead of MapReduce
      Attaching Web Servers to shard reduces no of                         User Shard 1
      connections to DB
                                                                                     M    S
      Base AMI types (LB, Web, Database)                                                            S
                                                         LB         WEB
      Join Cluster, publish stats, join monitor system                                                           M

      Instances on demand using AMI’s
                                                                           User Shard 2             S
      Instance join the cluster
                                                                                     M    S
                                                                                                        Friends DB

                                                                    WEB
Performance Improvement for a contract service
management platform
   Short introduction: Imaginea executed a performance engg optimization project for a
   contract mgmt platform (Tech stack). The engagement involved

      Performance Improvement of 30%                              Core Services        Containers       Applications

      Redundant DB calls                                              Resource
                                                                                                           App1
                                                                                                Web
      Optimize and batch SQL queries                      DB
                                                         Tuning

      Caching the Metadata                                            Naming
                                                                                                           App2
                                              Database                                           EJB
      Performance Test Suite
                                                                                                           App3
      Tested up to 1500 users                                        Transaction
                                                                                                 JMS
      Web Load Test tool
                                                                                                                         LB
      Designed framework for script reuse
      and schedule load                                            JVM

      Monitoring hit ratio, response times,                                                              Threading
                                                                                                                       Apache/
                                                                     JVM Memory             GC                            IIS
      heap, gc times, cpu, disk, network,                                                                Models I/O
                                                                                                                        plugin
      database queries
                                                                  Operating Systems/ Hardware
                                                                                                                       Cluster

                                                                     CPU           MEMORY         RAM      NETWORK
Performance Engineering for a SaaS application
   Imaginea delivered a 3X improvement in response time and throughput for a leading
   enterprise SaaS application vendor.
   The vendor expected load on the application to increase significantly. App is based on
   Java/J2EE middleware technology stack.
   Imaginea executed an engagement that involved a systematic process of analysis,
   quantification, recommendations & remedy as described below
      Understand current implementation - Functionality, architecture, modules & frameworks
      Identify representative test workloads and setup test environments
      Characterization & analysis exercise
      Analyze scalability – User scaling & hardware scaling
      Scalability metrics (concurrent users, throughput, response)
      Improving response times & throughput
      Identify code & design bottlenecks suggest fix(s)
      Scalability reports for the Application (with varying user loads)
Thank You!



                                                                                 Contact:
                                                                     santosh.abraham@imaginea.com




For Private Viewing Only. Not for Public and Unsolicited Distribution. Copyright © 2009, IMAGINEA a business unit of Pramati Technologies Pvt. Ltd.   14

Más contenido relacionado

La actualidad más candente

The SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software ApplicationsThe SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software ApplicationsHeiko Koziolek
 
Sql server 2012 ha and dr sql saturday boston
Sql server 2012 ha and dr sql saturday bostonSql server 2012 ha and dr sql saturday boston
Sql server 2012 ha and dr sql saturday bostonJoseph D'Antoni
 
Sql server 2012 ha and dr sql saturday dc
Sql server 2012 ha and dr sql saturday dcSql server 2012 ha and dr sql saturday dc
Sql server 2012 ha and dr sql saturday dcJoseph D'Antoni
 
Sql server 2012 ha and dr sql saturday tampa
Sql server 2012 ha and dr sql saturday tampaSql server 2012 ha and dr sql saturday tampa
Sql server 2012 ha and dr sql saturday tampaJoseph D'Antoni
 
Liquidity Risk Management powered by SAP HANA
Liquidity Risk Management powered by SAP HANALiquidity Risk Management powered by SAP HANA
Liquidity Risk Management powered by SAP HANASAP Technology
 
Summer training java
Summer training javaSummer training java
Summer training javaArshit Rai
 
SQL Server 2008 R2 Parallel Data Warehouse
SQL Server 2008 R2 Parallel Data WarehouseSQL Server 2008 R2 Parallel Data Warehouse
SQL Server 2008 R2 Parallel Data WarehouseMark Ginnebaugh
 
Orders of-magnitude-scale-out-your-sql-server-data-slideshare
Orders of-magnitude-scale-out-your-sql-server-data-slideshareOrders of-magnitude-scale-out-your-sql-server-data-slideshare
Orders of-magnitude-scale-out-your-sql-server-data-slideshareMark Broadbent
 
Summer training java
Summer training javaSummer training java
Summer training javaArshit Rai
 
Using multi tiered storage systems for storing both structured & unstructured...
Using multi tiered storage systems for storing both structured & unstructured...Using multi tiered storage systems for storing both structured & unstructured...
Using multi tiered storage systems for storing both structured & unstructured...ORACLE USER GROUP ESTONIA
 
SQL Server 2012 Certifications
SQL Server 2012 CertificationsSQL Server 2012 Certifications
SQL Server 2012 CertificationsMarcos Freccia
 
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...CloudOps Summit
 
Ajp notes-chapter-05
Ajp notes-chapter-05Ajp notes-chapter-05
Ajp notes-chapter-05Ankit Dubey
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-finalRohit Kelapure
 
Towards an Architectural Style for Multi-tenant Software Applications
Towards an Architectural Style for Multi-tenant Software ApplicationsTowards an Architectural Style for Multi-tenant Software Applications
Towards an Architectural Style for Multi-tenant Software ApplicationsHeiko Koziolek
 
Azure Cloud Patterns
Azure Cloud PatternsAzure Cloud Patterns
Azure Cloud PatternsTamir Dresher
 

La actualidad más candente (20)

The SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software ApplicationsThe SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software Applications
 
Sql server 2012 ha and dr sql saturday boston
Sql server 2012 ha and dr sql saturday bostonSql server 2012 ha and dr sql saturday boston
Sql server 2012 ha and dr sql saturday boston
 
Sql server 2012 ha and dr sql saturday dc
Sql server 2012 ha and dr sql saturday dcSql server 2012 ha and dr sql saturday dc
Sql server 2012 ha and dr sql saturday dc
 
Unit 07: Design Patterns and Frameworks (1/3)
Unit 07: Design Patterns and Frameworks (1/3)Unit 07: Design Patterns and Frameworks (1/3)
Unit 07: Design Patterns and Frameworks (1/3)
 
Sql server 2012 ha and dr sql saturday tampa
Sql server 2012 ha and dr sql saturday tampaSql server 2012 ha and dr sql saturday tampa
Sql server 2012 ha and dr sql saturday tampa
 
Liquidity Risk Management powered by SAP HANA
Liquidity Risk Management powered by SAP HANALiquidity Risk Management powered by SAP HANA
Liquidity Risk Management powered by SAP HANA
 
Cliser
CliserCliser
Cliser
 
Summer training java
Summer training javaSummer training java
Summer training java
 
Java Introduction
Java IntroductionJava Introduction
Java Introduction
 
SQL Server 2008 R2 Parallel Data Warehouse
SQL Server 2008 R2 Parallel Data WarehouseSQL Server 2008 R2 Parallel Data Warehouse
SQL Server 2008 R2 Parallel Data Warehouse
 
Orders of-magnitude-scale-out-your-sql-server-data-slideshare
Orders of-magnitude-scale-out-your-sql-server-data-slideshareOrders of-magnitude-scale-out-your-sql-server-data-slideshare
Orders of-magnitude-scale-out-your-sql-server-data-slideshare
 
Summer training java
Summer training javaSummer training java
Summer training java
 
Unit 07: Design Patterns and Frameworks (3/3)
Unit 07: Design Patterns and Frameworks (3/3)Unit 07: Design Patterns and Frameworks (3/3)
Unit 07: Design Patterns and Frameworks (3/3)
 
Using multi tiered storage systems for storing both structured & unstructured...
Using multi tiered storage systems for storing both structured & unstructured...Using multi tiered storage systems for storing both structured & unstructured...
Using multi tiered storage systems for storing both structured & unstructured...
 
SQL Server 2012 Certifications
SQL Server 2012 CertificationsSQL Server 2012 Certifications
SQL Server 2012 Certifications
 
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
 
Ajp notes-chapter-05
Ajp notes-chapter-05Ajp notes-chapter-05
Ajp notes-chapter-05
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
 
Towards an Architectural Style for Multi-tenant Software Applications
Towards an Architectural Style for Multi-tenant Software ApplicationsTowards an Architectural Style for Multi-tenant Software Applications
Towards an Architectural Style for Multi-tenant Software Applications
 
Azure Cloud Patterns
Azure Cloud PatternsAzure Cloud Patterns
Azure Cloud Patterns
 

Destacado

Lindas mochilas
Lindas mochilasLindas mochilas
Lindas mochilaskelliiyoa
 
pokok bahasan kelompok 7
pokok bahasan kelompok 7pokok bahasan kelompok 7
pokok bahasan kelompok 7earlymamonto
 
Que es un voki
Que es un vokiQue es un voki
Que es un vokikarenp24
 
Webcast Office 365 - Limites OneDrive for Business
Webcast Office 365 - Limites OneDrive for BusinessWebcast Office 365 - Limites OneDrive for Business
Webcast Office 365 - Limites OneDrive for BusinessSara Barbosa
 
Carrah le boon unit 11 history assignment[6]
Carrah le boon   unit 11 history assignment[6]Carrah le boon   unit 11 history assignment[6]
Carrah le boon unit 11 history assignment[6]CarrahLeBoon
 
Modding pc colombia
Modding pc colombiaModding pc colombia
Modding pc colombiakarenp24
 
Perito en Piratería Intelectual e Industrial
Perito en Piratería Intelectual e IndustrialPerito en Piratería Intelectual e Industrial
Perito en Piratería Intelectual e IndustrialCENPROEX
 
Blavatsky helena la doctrina de las eras arcaicas
Blavatsky  helena   la doctrina de las eras arcaicasBlavatsky  helena   la doctrina de las eras arcaicas
Blavatsky helena la doctrina de las eras arcaicasCatalina Forero Acosta
 
Redes sociales
Redes socialesRedes sociales
Redes socialesSaiGeT
 

Destacado (20)

El día del planeta tierra
El día del planeta tierra El día del planeta tierra
El día del planeta tierra
 
Lindas mochilas
Lindas mochilasLindas mochilas
Lindas mochilas
 
Mazniashvilis mogonebebi
Mazniashvilis mogonebebiMazniashvilis mogonebebi
Mazniashvilis mogonebebi
 
P4
P4P4
P4
 
pokok bahasan kelompok 7
pokok bahasan kelompok 7pokok bahasan kelompok 7
pokok bahasan kelompok 7
 
Que es un voki
Que es un vokiQue es un voki
Que es un voki
 
Webcast Office 365 - Limites OneDrive for Business
Webcast Office 365 - Limites OneDrive for BusinessWebcast Office 365 - Limites OneDrive for Business
Webcast Office 365 - Limites OneDrive for Business
 
Carrah le boon unit 11 history assignment[6]
Carrah le boon   unit 11 history assignment[6]Carrah le boon   unit 11 history assignment[6]
Carrah le boon unit 11 history assignment[6]
 
Modding pc colombia
Modding pc colombiaModding pc colombia
Modding pc colombia
 
Judge training
Judge trainingJudge training
Judge training
 
Trabajo 3
Trabajo 3Trabajo 3
Trabajo 3
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
Ekosistem
EkosistemEkosistem
Ekosistem
 
Gp2 plural singular_br_bl_pr_pl
Gp2 plural singular_br_bl_pr_plGp2 plural singular_br_bl_pr_pl
Gp2 plural singular_br_bl_pr_pl
 
Perito en Piratería Intelectual e Industrial
Perito en Piratería Intelectual e IndustrialPerito en Piratería Intelectual e Industrial
Perito en Piratería Intelectual e Industrial
 
Perolasnacionais
PerolasnacionaisPerolasnacionais
Perolasnacionais
 
Blavatsky helena la doctrina de las eras arcaicas
Blavatsky  helena   la doctrina de las eras arcaicasBlavatsky  helena   la doctrina de las eras arcaicas
Blavatsky helena la doctrina de las eras arcaicas
 
Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Aves desperezando pps
Aves desperezando ppsAves desperezando pps
Aves desperezando pps
 
доклад
докладдоклад
доклад
 

Similar a Imaginea Performance Engineering

Webinar issues we_find_slideshare
Webinar issues we_find_slideshareWebinar issues we_find_slideshare
Webinar issues we_find_slideshareSOASTA
 
Building Scalable Databases on AWS - AWS Summit 2012 - NYC
Building Scalable Databases on AWS - AWS Summit 2012 - NYCBuilding Scalable Databases on AWS - AWS Summit 2012 - NYC
Building Scalable Databases on AWS - AWS Summit 2012 - NYCAmazon Web Services
 
The Cloud: A game changer to test, at scale and in production, SOA based web...
The Cloud: A game changer to test, at scale and in production,  SOA based web...The Cloud: A game changer to test, at scale and in production,  SOA based web...
The Cloud: A game changer to test, at scale and in production, SOA based web...Fred Beringer
 
Application architecture for cloud
Application architecture for cloudApplication architecture for cloud
Application architecture for cloudMarco Parenzan
 
AWS Summit 2011: Architecting in the cloud
AWS Summit 2011: Architecting in the cloudAWS Summit 2011: Architecting in the cloud
AWS Summit 2011: Architecting in the cloudAmazon Web Services
 
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012SOASTA
 
Performance Engineering Case Study V1.0
Performance Engineering Case Study    V1.0Performance Engineering Case Study    V1.0
Performance Engineering Case Study V1.0sambitgarnaik
 
Performance testslideshowrecent
Performance testslideshowrecentPerformance testslideshowrecent
Performance testslideshowrecentFuture Simmons
 
Amazon RDS: Deep dive with Oracle
Amazon RDS: Deep dive with OracleAmazon RDS: Deep dive with Oracle
Amazon RDS: Deep dive with OracleAmazon Web Services
 
13h00 p duff-building-applications-with-aws-final
13h00   p duff-building-applications-with-aws-final13h00   p duff-building-applications-with-aws-final
13h00 p duff-building-applications-with-aws-finalLuiz Gustavo Santos
 
BUG - BEA Users\' Group, Jan16 2003
BUG - BEA Users\' Group, Jan16 2003BUG - BEA Users\' Group, Jan16 2003
BUG - BEA Users\' Group, Jan16 2003Sanjeev Kumar
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA
 
Virtualizing Latency Sensitive Workloads and vFabric GemFire
Virtualizing Latency Sensitive Workloads and vFabric GemFireVirtualizing Latency Sensitive Workloads and vFabric GemFire
Virtualizing Latency Sensitive Workloads and vFabric GemFireCarter Shanklin
 
DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012Amazon Web Services
 
Kluczowe elementy infrastruktury...
Kluczowe elementy infrastruktury...Kluczowe elementy infrastruktury...
Kluczowe elementy infrastruktury...Alicja Sieminska
 

Similar a Imaginea Performance Engineering (20)

Webinar issues we_find_slideshare
Webinar issues we_find_slideshareWebinar issues we_find_slideshare
Webinar issues we_find_slideshare
 
Azure and cloud design patterns
Azure and cloud design patternsAzure and cloud design patterns
Azure and cloud design patterns
 
Building Scalable Databases on AWS - AWS Summit 2012 - NYC
Building Scalable Databases on AWS - AWS Summit 2012 - NYCBuilding Scalable Databases on AWS - AWS Summit 2012 - NYC
Building Scalable Databases on AWS - AWS Summit 2012 - NYC
 
The Cloud: A game changer to test, at scale and in production, SOA based web...
The Cloud: A game changer to test, at scale and in production,  SOA based web...The Cloud: A game changer to test, at scale and in production,  SOA based web...
The Cloud: A game changer to test, at scale and in production, SOA based web...
 
Application architecture for cloud
Application architecture for cloudApplication architecture for cloud
Application architecture for cloud
 
AWS Summit 2011: Architecting in the cloud
AWS Summit 2011: Architecting in the cloudAWS Summit 2011: Architecting in the cloud
AWS Summit 2011: Architecting in the cloud
 
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
 
Abdulla Resume
Abdulla ResumeAbdulla Resume
Abdulla Resume
 
Performance Engineering Case Study V1.0
Performance Engineering Case Study    V1.0Performance Engineering Case Study    V1.0
Performance Engineering Case Study V1.0
 
Performance testslideshowrecent
Performance testslideshowrecentPerformance testslideshowrecent
Performance testslideshowrecent
 
Amazon RDS: Deep dive with Oracle
Amazon RDS: Deep dive with OracleAmazon RDS: Deep dive with Oracle
Amazon RDS: Deep dive with Oracle
 
13h00 p duff-building-applications-with-aws-final
13h00   p duff-building-applications-with-aws-final13h00   p duff-building-applications-with-aws-final
13h00 p duff-building-applications-with-aws-final
 
BUG - BEA Users\' Group, Jan16 2003
BUG - BEA Users\' Group, Jan16 2003BUG - BEA Users\' Group, Jan16 2003
BUG - BEA Users\' Group, Jan16 2003
 
Lafauci dv club oct 2006
Lafauci dv club oct 2006Lafauci dv club oct 2006
Lafauci dv club oct 2006
 
Building Applications with AWS
Building Applications with AWSBuilding Applications with AWS
Building Applications with AWS
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 
Performance on a budget
Performance on a budgetPerformance on a budget
Performance on a budget
 
Virtualizing Latency Sensitive Workloads and vFabric GemFire
Virtualizing Latency Sensitive Workloads and vFabric GemFireVirtualizing Latency Sensitive Workloads and vFabric GemFire
Virtualizing Latency Sensitive Workloads and vFabric GemFire
 
DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012
 
Kluczowe elementy infrastruktury...
Kluczowe elementy infrastruktury...Kluczowe elementy infrastruktury...
Kluczowe elementy infrastruktury...
 

Último

MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLSeo
 
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Delhi Call girls
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...amitlee9823
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMRavindra Nath Shukla
 
Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Roland Driesen
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangaloreamitlee9823
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayNZSG
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒anilsa9823
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsMichael W. Hawkins
 
Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Centuryrwgiffor
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Dipal Arora
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...lizamodels9
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Lviv Startup Club
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataExhibitors Data
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Neil Kimberley
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...Paul Menig
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsP&CO
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.Aaiza Hassan
 

Último (20)

MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
 
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSM
 
Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 May
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael Hawkins
 
Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Century
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors Data
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...
 
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pillsMifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.
 

Imaginea Performance Engineering

  • 1. Imaginea Performance Engineering Practice Methodology & Success Stories For Private Viewing Only. Not for Public and Unsolicited Distribution. Copyright © 2009, IMAGINEA a business unit of Pramati Technologies Pvt. Ltd. 1
  • 2. Performance Engineering Methodology Performance Characterization Production System Analysis Detailed Architecture Review Detailed code review analysis Performance Tuning Database architecture, Query Analysis and entity relationships
  • 3. Performance Characterization Performance goals and objectives Testing for performance Metrics and performance criteria Identify the most common use cases and load levels Expected peak load Development of performance test suites Throughput Test Tool identification Response time Test data generation No of users Define and capture work load Runs tests and analyze data Workload objectives Base Line characterization Analyze statistics Repeat baseline with optimized application Test Tool identification Grinder, webload, loadrunner, funkload, rational tester etc
  • 4. Production System Analysis Understand Deployment requirements Technology stack Fault tolerance and Redundancy Key components along the response path Understand transactional requirements Web Server, Middleware, Database Caching and Clustering Server diagnostics Load Balancing and state management Memory, gc analysis Deployment configuration Using Java profilers Caching and clustering issues? Run time statistics Configurable parameters like no. of Latencies thread, socket buffer sizes Concurrency and threading issues Statistics collection (Memory analysis , garbage collection etc) Database Service times Estimate the Capacity SQL queries Size the applications Connection pools Database cache
  • 5. Architecture Review Architecture review Requirements Major modules, interfaces No of users, response time, throughput Inter and intra product message exchanges Capacity and sizing requirements Transactional analysis Understand transactional requirements Data path and its size Load characterization Architectural design patterns and their Run tests and analyze data applicability Top down approach Failure (severance) scenarios • OS, VM, AppServer, Application, Network, DB Recovery scenarios(Recoverability) Choose profiling tools Data integrity and fault tolerance Evaluation of deployment parameters Object instances and scalability Clustering Memory requirements Load balancing etc Optimum performance through load characterization
  • 6. Detailed Code Review Analysis Understand Code Standard coding practices Different modules Design patterns Layers and Interfaces Class design and Code reuse Dependency and boundary tests Thread safety and deadlocks UI interaction Unit test suites Caching and Clustering Continuous integration Session management and state Peer code review process Clustering and session state Modularity Intra and Inter product message exchanges
  • 7. Performance Tuning Understand the problem Performance improvement Generic tuning Repeatable test load, with baseline and target Specific operations slow Generating load Slow on high volume of load Run tests and analyze data, interpret Tunable components data Processors, memory, I/O, Network BW Repeat performance tests OS parameters, VM Parameters Tune OS and Network Schema Design, Table indexes Buffer sizes, paging, no of threads, disk No of connections, DB cache reads and writes Performance Criteria and Test Tune JVM environment GC times, Memory, I/O Repeatable test load, with baseline and target Tune Database Tools for generating load Queries, indexes, partitioning Run tests and analyze data Tune Application Sessions, application cache, data paths
  • 8. Database Analysis Understand the Entity model Scaling the Db Reads Understand domain model, relationships, Replication with slave servers attributes Slave Replication requirements BI requirements Scaling the DB writes Sharading: Partition data multiple Analysis servers Optimum normalization of the schema Managing queries across shrads SQL query analysis, joins (cost analysis) Data redundancy and backups Caching Slave DB for backup Index sizes and its effect on writes and reads Sharding, Partitioning and application design Statistics collection and analysis
  • 10. SocialTwist: 59 mn queries & 6 bn buttons served Worlds leading social media sharing widget developed on the Java platform and deployed on EC2 for extremely high scalability and 24x7x365 availability. Here are some key characteristics 2.79 billion impressions served 16 Auto scale up or down Configures load balancer automatically 15 New instance to share load after configuration Instant deployment 12 11 Monitor health, average load, requests etc 13 S3 Balance Uptime for more than a year Loader 24% reads and 76% writes on master 14 EC2 3 slaves and 100% reads Remote Shell Cacti System Admin
  • 11. MyPicks Beijing: Facebook Gaming Application Sun Microsystems sought Imaginea’s expertise to develop and test the Mypicks application that had to be designed to scale for more than 3mn users User DB is sharded (with hot standby) Look up table for sharding S3 Shard Lookup DB 10MB cache size for mil users S M Sharding logic in Node chooser Result Processor Friends DB replicated instead of MapReduce Attaching Web Servers to shard reduces no of User Shard 1 connections to DB M S Base AMI types (LB, Web, Database) S LB WEB Join Cluster, publish stats, join monitor system M Instances on demand using AMI’s User Shard 2 S Instance join the cluster M S Friends DB WEB
  • 12. Performance Improvement for a contract service management platform Short introduction: Imaginea executed a performance engg optimization project for a contract mgmt platform (Tech stack). The engagement involved Performance Improvement of 30% Core Services Containers Applications Redundant DB calls Resource App1 Web Optimize and batch SQL queries DB Tuning Caching the Metadata Naming App2 Database EJB Performance Test Suite App3 Tested up to 1500 users Transaction JMS Web Load Test tool LB Designed framework for script reuse and schedule load JVM Monitoring hit ratio, response times, Threading Apache/ JVM Memory GC IIS heap, gc times, cpu, disk, network, Models I/O plugin database queries Operating Systems/ Hardware Cluster CPU MEMORY RAM NETWORK
  • 13. Performance Engineering for a SaaS application Imaginea delivered a 3X improvement in response time and throughput for a leading enterprise SaaS application vendor. The vendor expected load on the application to increase significantly. App is based on Java/J2EE middleware technology stack. Imaginea executed an engagement that involved a systematic process of analysis, quantification, recommendations & remedy as described below Understand current implementation - Functionality, architecture, modules & frameworks Identify representative test workloads and setup test environments Characterization & analysis exercise Analyze scalability – User scaling & hardware scaling Scalability metrics (concurrent users, throughput, response) Improving response times & throughput Identify code & design bottlenecks suggest fix(s) Scalability reports for the Application (with varying user loads)
  • 14. Thank You! Contact: santosh.abraham@imaginea.com For Private Viewing Only. Not for Public and Unsolicited Distribution. Copyright © 2009, IMAGINEA a business unit of Pramati Technologies Pvt. Ltd. 14