SlideShare una empresa de Scribd logo
1 de 43
Optimization of web applications An introduction
Whois Sherif ? ,[object Object]
Worked for 3 years as a Web Developer
Then 2.5 years as a Perl Programmer handling large scale ecommerce web sites
Then for 2.5 years as Software Architect, Team Lead for (J2EE)
Worked for 2.5 years as IT Director, Software Architect at w.illi.am/ ,[object Object]
Overview How does Apache Prefork handle your request Projects that #Failed What I have learned
Apache Prefork
Request/Response Cycle (Apache Prefork) Apache Main Process Request on port 80
Request/Response Cycle (Apache Prefork) Apache Main Process Request on port 80 ForkChild Child Process
Request/Response Cycle (Apache Prefork) Apache Main Process Apache Main Process Request on port 80 ForkChild Child Process SendRespond
Request/Response Cycle (Apache Prefork) Request/Response Cycle (Apache Prefork) Apache Main Process Apache Main Process Child Process Child Process
Request/Response Cycle (Apache Prefork) Apache Main Process Requeston port 80 Child Process
Request/Response Cycle (Apache Prefork) Apache Main Process Requeston port 80 Child Exists Child Process
Request/Response Cycle (Apache Prefork) Apache Main Process Apache Main Process Child Exists Child Process Child Process
Request/Response Cycle (Apache Prefork) Apache Main Process Child Process Child Process
Request/Response Cycle (Apache Prefork) Apache Main Process Child Process Child Process
Request/Response Cycle (Apache Prefork) Apache Main Process Child Process Child Process
Past Failings Conclusions Minimize response time Do not let the children hang Don’t use to many children
How I #Failed
Challenges : Component Failure # Failure Hardware failure RAID fails Node  in cluster fails
Challenges : Component Failure # Failure Hardware failure RAID fails Node  in cluster fails Learning :  Design for 60% usage KISS
Challenges : Peaks in traffic # Failure Successful marketing campaigns Radio Station – 10 stations announcement TV Personality – News agency interviews
Challenges : Peaks in traffic # Failure Successful marketing campaigns Radio Station – 10 stations announcement TV Personality – News agency interviews Learning  Try to stagger your communications Soft launch when you can
Challenges : Peaks in traffic # Failure Important news events
Challenges : Peaks in traffic # Failure Important news events Learning :  Estimate your  peak  and design for it
Challenges : Unproven code # Failure Third party libraries can go wrong
Challenges : Unproven code # Failure Third party libraries can go wrong Learning Beware of 3rd party libraries Profile all new code Profile all new code Profile all new code
Challenges : Unproven code # Failure Updated System libraries Memcached client libraries update GD2 Client library update
Challenges : Unproven code # Failure Updated System libraries Memcached client libraries update GD2 Client library update Learning Beware when updating production servers Always have a Hot backup to rollback
Challenges : Stress tests # Failure Stress tests the false insurance
Challenges : Stress tests # Failure Stress tests the false insurance Learning Correct planning of test scenarios Correct estimation of your traffics shape Replicate a production environment as closely as possible
Challenges : Conclusions The 10 Conclusions Design for 60% usage Try to stagger your communications Soft launch when you can ,[object Object],Beware when updating production servers Always have a Hot backup to rollback changes Correct planning of test scenarios Correct estimation of your traffics shape ,[object Object],[object Object]
Understand your Software components
Understand your Human components
Understand your Marketing pushes,[object Object]
Optimization Optimization is not about code Optimization is not about RAIDed disks Optimization is not about software architecture Optimization is not about caching systems Optimization is not about load
Optimization Optimization is not about code Optimization is not about RAIDed disks Optimization is not about software architecture Optimization is not about caching systems Optimization is not about load Optimization is about all the pieces working in unison  Optimization is an ongoing process
Optimization : Finding the bottleneck Optimization starts with Risk
Optimization : Finding the bottleneck Optimization starts with Risk Set the Assumptions # Users Mix of traffic Connection speed ....
Optimization : Finding the bottleneck Optimization starts with Risk Set the Assumptions # Users Mix of traffic Connection speed .... Define your System metrics Page load time Page weight Memory usage CPU Usage Load average
Optimization : Finding the bottleneck ,[object Object],Optimization starts with Risk Set the Assumptions # Users Mix of traffic Connection speed .... Define your System metrics Page load time Page weight Memory usage CPU Usage Load average
Optimization : Finding the bottleneck ,[object Object]

Más contenido relacionado

La actualidad más candente

La actualidad más candente (13)

Etech2005
Etech2005Etech2005
Etech2005
 
HSPS 2015 - SharePoint Performance Santiy Checks
HSPS 2015 - SharePoint Performance Santiy ChecksHSPS 2015 - SharePoint Performance Santiy Checks
HSPS 2015 - SharePoint Performance Santiy Checks
 
Web Performance Culture and Tools at Etsy
Web Performance Culture and Tools at EtsyWeb Performance Culture and Tools at Etsy
Web Performance Culture and Tools at Etsy
 
Application Performance Monitoring for WordPress
Application Performance Monitoring for WordPressApplication Performance Monitoring for WordPress
Application Performance Monitoring for WordPress
 
Keeping Rails on the Tracks
Keeping Rails on the TracksKeeping Rails on the Tracks
Keeping Rails on the Tracks
 
Reliable observability at scale: Error Budgets for 1,000+
Reliable observability at scale: Error Budgets for 1,000+Reliable observability at scale: Error Budgets for 1,000+
Reliable observability at scale: Error Budgets for 1,000+
 
Joomla Extreme Performance
Joomla Extreme PerformanceJoomla Extreme Performance
Joomla Extreme Performance
 
Java Performance Mistakes
Java Performance MistakesJava Performance Mistakes
Java Performance Mistakes
 
Client Side Performance @ Xero
Client Side Performance @ XeroClient Side Performance @ Xero
Client Side Performance @ Xero
 
Advanced WordPress Tooling
Advanced WordPress ToolingAdvanced WordPress Tooling
Advanced WordPress Tooling
 
When it all goes wrong (with Postgres) | RailsConf 2019 | Will Leinweber
When it all goes wrong (with Postgres) | RailsConf 2019 | Will LeinweberWhen it all goes wrong (with Postgres) | RailsConf 2019 | Will Leinweber
When it all goes wrong (with Postgres) | RailsConf 2019 | Will Leinweber
 
When it all goes wrong | PGConf EU 2019 | Will Leinweber
When it all goes wrong | PGConf EU 2019 | Will LeinweberWhen it all goes wrong | PGConf EU 2019 | Will Leinweber
When it all goes wrong | PGConf EU 2019 | Will Leinweber
 
Load-testing 101 for Startups with Artillery.io
Load-testing 101 for Startups with Artillery.ioLoad-testing 101 for Startups with Artillery.io
Load-testing 101 for Startups with Artillery.io
 

Similar a Presentation confoo optimization_sherifzaroubi

Optimization In Mobile Systems
Optimization In Mobile SystemsOptimization In Mobile Systems
Optimization In Mobile Systems
momobangalore
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
Lorna Mitchell
 

Similar a Presentation confoo optimization_sherifzaroubi (20)

Optimization In Mobile Systems
Optimization In Mobile SystemsOptimization In Mobile Systems
Optimization In Mobile Systems
 
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
 
Start Up Austin 2017: Production Preview - How to Stop Bad Things From Happening
Start Up Austin 2017: Production Preview - How to Stop Bad Things From HappeningStart Up Austin 2017: Production Preview - How to Stop Bad Things From Happening
Start Up Austin 2017: Production Preview - How to Stop Bad Things From Happening
 
Systematic Load Testing of Web Applications
Systematic Load Testing of Web ApplicationsSystematic Load Testing of Web Applications
Systematic Load Testing of Web Applications
 
2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire
 
Operations: Production Readiness
Operations: Production ReadinessOperations: Production Readiness
Operations: Production Readiness
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for Ops
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
 
Measure() or die()
Measure() or die()Measure() or die()
Measure() or die()
 
Measure() or die()
Measure() or die() Measure() or die()
Measure() or die()
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
 
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupWeb Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
 
Compliance as Code Everywhere
Compliance as Code EverywhereCompliance as Code Everywhere
Compliance as Code Everywhere
 
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuning
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 
Better and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and EnjoymentBetter and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and Enjoyment
 
So You Just Inherited a $Legacy Application… NomadPHP July 2016
So You Just Inherited a $Legacy Application… NomadPHP July 2016So You Just Inherited a $Legacy Application… NomadPHP July 2016
So You Just Inherited a $Legacy Application… NomadPHP July 2016
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
 
Preparing for Enterprise Continuous Delivery - 5 Critical Steps
Preparing for Enterprise Continuous Delivery - 5 Critical StepsPreparing for Enterprise Continuous Delivery - 5 Critical Steps
Preparing for Enterprise Continuous Delivery - 5 Critical Steps
 

Más de Valtech Canada

Optimisation ecommerce 110413_dlefebvre
Optimisation ecommerce 110413_dlefebvreOptimisation ecommerce 110413_dlefebvre
Optimisation ecommerce 110413_dlefebvre
Valtech Canada
 

Más de Valtech Canada (20)

How Virtual Reality impacts Shopping Habits?
How Virtual Reality impacts Shopping Habits?How Virtual Reality impacts Shopping Habits?
How Virtual Reality impacts Shopping Habits?
 
Télévision connectée: Analyses et perspectives d'un marché en pleine expansion
Télévision connectée: Analyses et perspectives d'un marché en pleine expansionTélévision connectée: Analyses et perspectives d'un marché en pleine expansion
Télévision connectée: Analyses et perspectives d'un marché en pleine expansion
 
Les tendances technologiques du CES 2016
Les tendances technologiques du CES 2016Les tendances technologiques du CES 2016
Les tendances technologiques du CES 2016
 
Resum Adobe Summit 2015
Resum Adobe Summit 2015 Resum Adobe Summit 2015
Resum Adobe Summit 2015
 
RFID Journal Live! 2014 Charles Colby - User-centered Design
RFID Journal Live! 2014 Charles Colby - User-centered DesignRFID Journal Live! 2014 Charles Colby - User-centered Design
RFID Journal Live! 2014 Charles Colby - User-centered Design
 
Naturiste - e-commerce - Transformation Numérique - Mélanie Kau, Co-présiden...
Naturiste - e-commerce - Transformation Numérique -  Mélanie Kau, Co-présiden...Naturiste - e-commerce - Transformation Numérique -  Mélanie Kau, Co-présiden...
Naturiste - e-commerce - Transformation Numérique - Mélanie Kau, Co-présiden...
 
Conférence Marketing de contenu - Les Affaires - Étude de cas Bombardier - Je...
Conférence Marketing de contenu - Les Affaires - Étude de cas Bombardier - Je...Conférence Marketing de contenu - Les Affaires - Étude de cas Bombardier - Je...
Conférence Marketing de contenu - Les Affaires - Étude de cas Bombardier - Je...
 
Conférence Boomerang : Design de persuasion par Anastasia Simitsis
Conférence Boomerang : Design de persuasion par Anastasia SimitsisConférence Boomerang : Design de persuasion par Anastasia Simitsis
Conférence Boomerang : Design de persuasion par Anastasia Simitsis
 
Optimisation ecommerce 110413_dlefebvre
Optimisation ecommerce 110413_dlefebvreOptimisation ecommerce 110413_dlefebvre
Optimisation ecommerce 110413_dlefebvre
 
Le futur des banques par Damien Lefebvre, Infopresse 2013
Le futur des banques par Damien Lefebvre, Infopresse 2013Le futur des banques par Damien Lefebvre, Infopresse 2013
Le futur des banques par Damien Lefebvre, Infopresse 2013
 
Conférence_futur_du_retail_Matyas_Gabor_201113
Conférence_futur_du_retail_Matyas_Gabor_201113Conférence_futur_du_retail_Matyas_Gabor_201113
Conférence_futur_du_retail_Matyas_Gabor_201113
 
Étude de cas Céragrès : une expérience client repensée
Étude de cas Céragrès : une expérience client repenséeÉtude de cas Céragrès : une expérience client repensée
Étude de cas Céragrès : une expérience client repensée
 
socialmedias_entrepriselevel_bymandypoon
socialmedias_entrepriselevel_bymandypoonsocialmedias_entrepriselevel_bymandypoon
socialmedias_entrepriselevel_bymandypoon
 
REPENSER L'ENTREPRISE ET SON ORGANISATION PAR LE NUMÉRIQUE
REPENSER L'ENTREPRISE ET SON ORGANISATION PAR LE NUMÉRIQUEREPENSER L'ENTREPRISE ET SON ORGANISATION PAR LE NUMÉRIQUE
REPENSER L'ENTREPRISE ET SON ORGANISATION PAR LE NUMÉRIQUE
 
Le design persuasif au profit du taux de conversion
Le design persuasif au profit du taux de conversionLe design persuasif au profit du taux de conversion
Le design persuasif au profit du taux de conversion
 
Damien Lefebvre/ JIP Communication et institutions publiques_26mars2012
Damien Lefebvre/ JIP Communication et institutions publiques_26mars2012Damien Lefebvre/ JIP Communication et institutions publiques_26mars2012
Damien Lefebvre/ JIP Communication et institutions publiques_26mars2012
 
Web social : Les 7 jours de la création, par Matyas Gabor, w.illi.am/
Web social : Les 7 jours de la création, par Matyas Gabor, w.illi.am/Web social : Les 7 jours de la création, par Matyas Gabor, w.illi.am/
Web social : Les 7 jours de la création, par Matyas Gabor, w.illi.am/
 
W/ conférence - Le marketing connecté : la révolution numérique en cours! par...
W/ conférence - Le marketing connecté : la révolution numérique en cours! par...W/ conférence - Le marketing connecté : la révolution numérique en cours! par...
W/ conférence - Le marketing connecté : la révolution numérique en cours! par...
 
Le marketing connecté. La révolution numérique en cours! par Damien Lefebvre
Le marketing connecté. La révolution numérique en cours! par Damien LefebvreLe marketing connecté. La révolution numérique en cours! par Damien Lefebvre
Le marketing connecté. La révolution numérique en cours! par Damien Lefebvre
 
W/ conférence : Expérience utilisateur, créativité et design, par Anastasia S...
W/ conférence : Expérience utilisateur, créativité et design, par Anastasia S...W/ conférence : Expérience utilisateur, créativité et design, par Anastasia S...
W/ conférence : Expérience utilisateur, créativité et design, par Anastasia S...
 

Último

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Último (20)

General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 

Presentation confoo optimization_sherifzaroubi

Notas del editor

  1. What can cause these Apache children to slow down or completely stall ?
  2. Mon Cinema – NFS Failed on writesCvendu – Clustering (That famous 4 am call)
  3. Try to stagger your communicationsSoft launch when you can
  4. Estimate your peak and design for it
  5. Zend_Cache’s default config.NET Component
  6. Beware when updating production serversAlways have a Hot backup to rollback
  7. Correct planning of test scenarios# Visitors, Average Time on page, # Concurrent usersCorrect estimation of your traffics shapeRead/Write ratio, Cache Hits/Miss ratio
  8. Correct planning of test scenarios# Visitors, Average Time on page, # Concurrent usersCorrect estimation of your traffics shapeRead/Write ratio, Cache Hits/Miss ratioReplicate a production environment as closely as possibleMake sure that you have correct amounts of data
  9. Understand
  10. A project lands on your deskWhere can it break ?
  11. Set your boundries !Make sure people understand
  12. How are you going to measure your boundaries