SlideShare a Scribd company logo
1 of 20
1
© OCTO 2012© OCTO 2012
Performance perpétuelle
Mesures et améliorations continues des
performances
Mikaël Robert
Responsable R&D Software Factory 2.0
OCTO Technology
Henri Tremblay
Responsable R&D Performance
OCTO Technology
2
© OCTO 2012
Premature optimization is
the root of all evil - Donald
Knuth
3
© OCTO 2012
Il voulait dire ça:
// Do not use the for(Object o : list)
// because I think it is probably
// slower than doing this… Probably…
for(int i = 0; i < list.size(); i++) {
Object o = list.get(i);
…
}
Stop guessing dam it!!!
4
© OCTO 2012
Code
Mesure
Optimise
Là où c’est
important
5
© OCTO 2012
PROD
Archi
Dev
Perf
6
© OCTO 2012
PROD
Archi
Dev
Perf
7
© OCTO 2012
Archi
Dev
Perf
PROD
Délai
8
© OCTO 2012
PROD
Archi
Dev
Tests de charge en
continue
9
© OCTO 2012
10
© OCTO 2012
11
© OCTO 2012
include_recipe "tomcat"
include_recipe "nginx"
directory node.myapp.home do
owner node.tomcat.user
end
tomcat_instance "myapp:tomcat" do
war_url node.myapp.url
war_location node.myapp.location
end tomcat_myapp_http_port =
tomcat_config("myapp:tomcat")[:connectors][:http][:port]
nginx_add_default_location "myapp" do
content <<-EOF
location #{node.myapp.location} {
proxy_pass http://tomcat_myapp_upstream;
break;
}
EOF
upstream <<-EOF
upstream tomcat_myapp_upstream {
server 127.0.0.1:#{tomcat_myapp_http_port} fail_timeout=0;
}
EOF
end
12
© OCTO 2012
<plugin>
<groupId>com.excilys.ebi.gatling</groupId>
<artifactId>gatling-maven-plugin</artifactId>
<version>1.4.6</version>
</plugin>
13
© OCTO 2012
VM Perf
VM UDD
14
© OCTO 2012
assertThat(details("account")
.responseTime
.mean
.lessThan(1000))
15
© OCTO 2012
Simulation finished.
account mean response time is less than 1000 : false
Simulation failed.
Generating reports...
Reports generated in 0s.
[INFO] ----------------------------------------
[INFO] BUILD FAILURE
[INFO] ----------------------------------------
[INFO] Total time: 32.411s
[INFO] Finished at: Mon Apr 15 00:23:07 CEST 2013
[INFO] Final Memory: 9M/120M
[INFO] ----------------------------------------
16
© OCTO 2012
17
© OCTO 2012
Après, vous faites comme
vous voulez.
18
© OCTO 2012
Mais nous on préfère les pina
colada.
Recette:
2oz amber rhum
4oz pinapple juice
Dash of coco syrup
Blend with crush ice
19
© OCTO 2012
20
© OCTO 2012
Questions ?

More Related Content

Similar to Performance perpétuelle (Devopsdays Paris 2013)

Test Driven Design & Deployment
Test Driven Design & DeploymentTest Driven Design & Deployment
Test Driven Design & DeploymentJan Collijs
 
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...Nagios
 
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...Codemotion
 
Vers l'entreprise agile
Vers l'entreprise agileVers l'entreprise agile
Vers l'entreprise agileHerve Lourdin
 
fast forword juli 2012
fast forword juli 2012fast forword juli 2012
fast forword juli 2012Mark Achten
 
The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021Anders Lundsgård
 
Company Overview
Company OverviewCompany Overview
Company OverviewTom Mueck
 
Challenges of applying Blockchain to enterprise systems in NTTDATA
Challenges of applying Blockchain to enterprise systems in NTTDATAChallenges of applying Blockchain to enterprise systems in NTTDATA
Challenges of applying Blockchain to enterprise systems in NTTDATAHyperleger Tokyo Meetup
 
Who Pulls the Strings?
Who Pulls the Strings?Who Pulls the Strings?
Who Pulls the Strings?Ronny Trommer
 
【企画書】ReceReco:新規事業討議用社内資料
【企画書】ReceReco:新規事業討議用社内資料【企画書】ReceReco:新規事業討議用社内資料
【企画書】ReceReco:新規事業討議用社内資料Find Job Startup
 
Pareto will tell you to stop using your ORM - Mateo Collina
Pareto will tell you to stop using your ORM - Mateo CollinaPareto will tell you to stop using your ORM - Mateo Collina
Pareto will tell you to stop using your ORM - Mateo CollinaWey Wey Web
 
Open Computer Vision with OpenCV, Apache NiFi, TensorFlow, Python
Open Computer Vision with OpenCV, Apache NiFi, TensorFlow, PythonOpen Computer Vision with OpenCV, Apache NiFi, TensorFlow, Python
Open Computer Vision with OpenCV, Apache NiFi, TensorFlow, PythonTimothy Spann
 
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.02014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0Joakim Lindbom
 
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...Thanos TP
 
Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...
Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...
Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...Intel® Software
 
Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?Revelation Technologies
 
Rapid Application Development in Plone - Paul Roe
Rapid Application Development in Plone - Paul RoeRapid Application Development in Plone - Paul Roe
Rapid Application Development in Plone - Paul Roeknappt
 
Deploying Splunk on OpenShift
Deploying Splunk on OpenShiftDeploying Splunk on OpenShift
Deploying Splunk on OpenShiftEric Gardner
 
LetsGrow SOLID Software development
LetsGrow SOLID Software developmentLetsGrow SOLID Software development
LetsGrow SOLID Software developmentPatrick Kalkman
 

Similar to Performance perpétuelle (Devopsdays Paris 2013) (20)

Test Driven Design & Deployment
Test Driven Design & DeploymentTest Driven Design & Deployment
Test Driven Design & Deployment
 
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...
 
L'entreprise agile
L'entreprise agileL'entreprise agile
L'entreprise agile
 
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
 
Vers l'entreprise agile
Vers l'entreprise agileVers l'entreprise agile
Vers l'entreprise agile
 
fast forword juli 2012
fast forword juli 2012fast forword juli 2012
fast forword juli 2012
 
The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021
 
Company Overview
Company OverviewCompany Overview
Company Overview
 
Challenges of applying Blockchain to enterprise systems in NTTDATA
Challenges of applying Blockchain to enterprise systems in NTTDATAChallenges of applying Blockchain to enterprise systems in NTTDATA
Challenges of applying Blockchain to enterprise systems in NTTDATA
 
Who Pulls the Strings?
Who Pulls the Strings?Who Pulls the Strings?
Who Pulls the Strings?
 
【企画書】ReceReco:新規事業討議用社内資料
【企画書】ReceReco:新規事業討議用社内資料【企画書】ReceReco:新規事業討議用社内資料
【企画書】ReceReco:新規事業討議用社内資料
 
Pareto will tell you to stop using your ORM - Mateo Collina
Pareto will tell you to stop using your ORM - Mateo CollinaPareto will tell you to stop using your ORM - Mateo Collina
Pareto will tell you to stop using your ORM - Mateo Collina
 
Open Computer Vision with OpenCV, Apache NiFi, TensorFlow, Python
Open Computer Vision with OpenCV, Apache NiFi, TensorFlow, PythonOpen Computer Vision with OpenCV, Apache NiFi, TensorFlow, Python
Open Computer Vision with OpenCV, Apache NiFi, TensorFlow, Python
 
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.02014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
 
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...
 
Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...
Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...
Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...
 
Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?
 
Rapid Application Development in Plone - Paul Roe
Rapid Application Development in Plone - Paul RoeRapid Application Development in Plone - Paul Roe
Rapid Application Development in Plone - Paul Roe
 
Deploying Splunk on OpenShift
Deploying Splunk on OpenShiftDeploying Splunk on OpenShift
Deploying Splunk on OpenShift
 
LetsGrow SOLID Software development
LetsGrow SOLID Software developmentLetsGrow SOLID Software development
LetsGrow SOLID Software development
 

More from Henri Tremblay

DevNexus 2020: Discover Modern Java
DevNexus 2020: Discover Modern JavaDevNexus 2020: Discover Modern Java
DevNexus 2020: Discover Modern JavaHenri Tremblay
 
OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?
OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?
OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?Henri Tremblay
 
Confoo 2018: Être pragmatique
Confoo 2018: Être pragmatiqueConfoo 2018: Être pragmatique
Confoo 2018: Être pragmatiqueHenri Tremblay
 
DevNexus 2018: Learn Java 8, lambdas and functional programming
DevNexus 2018: Learn Java 8, lambdas and functional programmingDevNexus 2018: Learn Java 8, lambdas and functional programming
DevNexus 2018: Learn Java 8, lambdas and functional programmingHenri Tremblay
 
Do you know your mock? - Madras JUG 20171028
Do you know your mock? - Madras JUG 20171028Do you know your mock? - Madras JUG 20171028
Do you know your mock? - Madras JUG 20171028Henri Tremblay
 
Be Pragmatic - JavaOne 2017
Be Pragmatic - JavaOne 2017Be Pragmatic - JavaOne 2017
Be Pragmatic - JavaOne 2017Henri Tremblay
 
Generics and Lambda survival guide - DevNexus 2017
Generics and Lambda survival guide - DevNexus 2017Generics and Lambda survival guide - DevNexus 2017
Generics and Lambda survival guide - DevNexus 2017Henri Tremblay
 
JavaOne 2016 - Learn Lambda and functional programming
JavaOne 2016 - Learn Lambda and functional programmingJavaOne 2016 - Learn Lambda and functional programming
JavaOne 2016 - Learn Lambda and functional programmingHenri Tremblay
 
Java 8, lambdas, generics: How to survive? - NYC Java Meetup Group
Java 8, lambdas, generics: How to survive? - NYC Java Meetup GroupJava 8, lambdas, generics: How to survive? - NYC Java Meetup Group
Java 8, lambdas, generics: How to survive? - NYC Java Meetup GroupHenri Tremblay
 
Confoo 2016: Initiation aux tests de charge
Confoo 2016: Initiation aux tests de chargeConfoo 2016: Initiation aux tests de charge
Confoo 2016: Initiation aux tests de chargeHenri Tremblay
 
Generics and Lambdas cocktail explained - Montreal JUG
Generics and Lambdas cocktail explained  - Montreal JUGGenerics and Lambdas cocktail explained  - Montreal JUG
Generics and Lambdas cocktail explained - Montreal JUGHenri Tremblay
 
Réactif, parallèle, asynchrone. Pourquoi!
Réactif, parallèle, asynchrone. Pourquoi!Réactif, parallèle, asynchrone. Pourquoi!
Réactif, parallèle, asynchrone. Pourquoi!Henri Tremblay
 
Vivre en parallèle - Softshake 2013
Vivre en parallèle - Softshake 2013Vivre en parallèle - Softshake 2013
Vivre en parallèle - Softshake 2013Henri Tremblay
 
DevoxxFR 2013: Lambda are coming. Meanwhile, are you sure we've mastered the ...
DevoxxFR 2013: Lambda are coming. Meanwhile, are you sure we've mastered the ...DevoxxFR 2013: Lambda are coming. Meanwhile, are you sure we've mastered the ...
DevoxxFR 2013: Lambda are coming. Meanwhile, are you sure we've mastered the ...Henri Tremblay
 

More from Henri Tremblay (15)

DevNexus 2020: Discover Modern Java
DevNexus 2020: Discover Modern JavaDevNexus 2020: Discover Modern Java
DevNexus 2020: Discover Modern Java
 
OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?
OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?
OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?
 
Confoo 2018: Être pragmatique
Confoo 2018: Être pragmatiqueConfoo 2018: Être pragmatique
Confoo 2018: Être pragmatique
 
DevNexus 2018: Learn Java 8, lambdas and functional programming
DevNexus 2018: Learn Java 8, lambdas and functional programmingDevNexus 2018: Learn Java 8, lambdas and functional programming
DevNexus 2018: Learn Java 8, lambdas and functional programming
 
Do you know your mock? - Madras JUG 20171028
Do you know your mock? - Madras JUG 20171028Do you know your mock? - Madras JUG 20171028
Do you know your mock? - Madras JUG 20171028
 
Be Pragmatic - JavaOne 2017
Be Pragmatic - JavaOne 2017Be Pragmatic - JavaOne 2017
Be Pragmatic - JavaOne 2017
 
Generics and Lambda survival guide - DevNexus 2017
Generics and Lambda survival guide - DevNexus 2017Generics and Lambda survival guide - DevNexus 2017
Generics and Lambda survival guide - DevNexus 2017
 
JavaOne 2016 - Learn Lambda and functional programming
JavaOne 2016 - Learn Lambda and functional programmingJavaOne 2016 - Learn Lambda and functional programming
JavaOne 2016 - Learn Lambda and functional programming
 
Java 8, lambdas, generics: How to survive? - NYC Java Meetup Group
Java 8, lambdas, generics: How to survive? - NYC Java Meetup GroupJava 8, lambdas, generics: How to survive? - NYC Java Meetup Group
Java 8, lambdas, generics: How to survive? - NYC Java Meetup Group
 
Confoo 2016: Initiation aux tests de charge
Confoo 2016: Initiation aux tests de chargeConfoo 2016: Initiation aux tests de charge
Confoo 2016: Initiation aux tests de charge
 
Generics and Lambdas cocktail explained - Montreal JUG
Generics and Lambdas cocktail explained  - Montreal JUGGenerics and Lambdas cocktail explained  - Montreal JUG
Generics and Lambdas cocktail explained - Montreal JUG
 
Réactif, parallèle, asynchrone. Pourquoi!
Réactif, parallèle, asynchrone. Pourquoi!Réactif, parallèle, asynchrone. Pourquoi!
Réactif, parallèle, asynchrone. Pourquoi!
 
Perf university
Perf universityPerf university
Perf university
 
Vivre en parallèle - Softshake 2013
Vivre en parallèle - Softshake 2013Vivre en parallèle - Softshake 2013
Vivre en parallèle - Softshake 2013
 
DevoxxFR 2013: Lambda are coming. Meanwhile, are you sure we've mastered the ...
DevoxxFR 2013: Lambda are coming. Meanwhile, are you sure we've mastered the ...DevoxxFR 2013: Lambda are coming. Meanwhile, are you sure we've mastered the ...
DevoxxFR 2013: Lambda are coming. Meanwhile, are you sure we've mastered the ...
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Performance perpétuelle (Devopsdays Paris 2013)

Editor's Notes

  1. 01- Page titre (pourquoi il faut faire des tests au début)Henri: Je suis Henri Tremblay et j’ai avec moi Mikaël Robert.On va vous expliquer pourquoi il faut faire des tests de performance au début, pendant et pas juste à la fin des projets comme d’habitude. Tout ça de façon automatique.Traditionnellement, on le fait à la fin à cause de Donald Knuth
  2. 02- Early optimisation is the root of all evil (tout à commencé par ça)Henri:C’est là où tout à commencé. On l’apprend très tôt à l’école, ne pas optimisé prématurément, ça sert à rien et souvent c’est pire.Les problèmes c’est qu’en disant ça, Knuth pensait à ça
  3. 03- Code early optimisé pour rien (en fait c&apos;était pour ça)Henri:C’est-à-dire faire une niaiserie qui sert à rien, mélange le compilateur, complique le code et ne sert à rien du tout.Reprenons du début et voyons comment se déroule un projet
  4. 03- Code early optimisé pour rien (en fait c&apos;était pour ça)Henri:Là où il faut écouter Knuth, c’est qu’en pratique, on code, on mesure et on optimise là où c’est importantMais reprenons du début
  5. 11- Un déploiement automatiqueMikaël:Pour créer votre environnement automatiquement vous avez pas mal de choix.En gros, vous utilisez votre cloud préféré, votre hyperviseur préféré et surtout vos outils de construction automatique d’environnement préférés
  6. 12- Un VM des perfsMikaël:Par exemple, là on utilise chef pour créer un serveur tomcat dans lequel est déployé notre application et on lui met un front nginx pour être proche de notre conf de prod
  7. 10- Un gatlingEnsuite, il vous faut un scénario représentatif, par exemple fait avec Gatling comme iciEt vous le lancez par maven avec le gatling-maven-plugin
  8. 09- Un jenkinsMikaël:Vous mettez tout ça dans jenkins et ça vous donneUn jenkins qui - Crée un environnement de tests- Récupére les binaires pour les déployer sur l’environnement de tests- Lance les tests de charge avec le gatling-maven-plugin
  9. 14- Des résultats vérifiésMikaël:Vous obtenez des rapports détaillésGatling permet même d’avoir des assertions sur les résultats. Donc si un matin un développeur fait une connerie et que soudain le 251ms se transforme
  10. 15- Résultats mauvais (et hop, le prochain qui fait le con)Mikaël:En 1335ms… au lieu de le voir une semaine avant la prod, ça fait exploser votre build et ça rend Jenkins tout triste
  11. Mikaël:C’est réparé sur le champ et Jenkins redevient de bonne humeur
  12. 18- Plein d&apos;argent à la finMikaël:Après vous faites comme vous voulez… soit vous préférez attendre la fin du projet pour réaliser que rien ne marche et finir en catastrophe
  13. 18- Plein d&apos;argent à la finHenri:Mais nous on préfère finir nos projets tranquillement et boire des pina colada dont je vous met ma recette personnelle ci-dessous
  14. 20- Un takeaway d&apos;outils utiles avec bien sûr OCTO qui peut vous aider :-)Henri:Sinon, c’était un peu dense tout ça, si vous avez besoin d’aide pour les détails, évidemment, OCTO peut vous aider avec plaisir
  15. 20- Des questions?Henri:Avez-vous des questions?