SlideShare una empresa de Scribd logo
1 de 19
Pro IT Consulting 
Scaling apps for the big time
The Challenge? 
• You have an app that works 
• You have users that like it 
Awesome 
• Performance is suffering as you scale. 
• Reliability is getting worse, not better. 
• As your data sets grow, 
the problems are more pronounced. 
• The operations team are talking about problems, not 
solutions 
Not so awesome
So what happens if you win big?
You are not alone – unfortunately… 
• Your cool app 
• May end up supported 
• By lots of things 
• You can’t control
You are not alone – unfortunately…
What is the root cause? 
• Take the time to understand what happens when your code 
asks the server to do some task. 
select * from 
some_production_table_with_100,000,000_records 
Is really not the same workload as 
select * from some_dev_table_with_100_records 
• Look for evidence in logs and tools that provide real insight.
What is the root cause?
Issues of priority… 
• Disk drive, single user 
session 
• Disk drives, Multiple 
users….
Issues of Scale… 
• Fetching Blocks, single 
user session 
• Fetching Blocks, 
enterprise workload
Storage 
• Many database and operating system vendor 
recommendations are woefully out of date. 
• Modern techniques utilising flash in the right way can deliver 
millions of random IOPS. 
• SAN and flash vendors have made dramatic changes over the 
last few years that invalidate many of the old 
recommendations. 
• Some principles still hold and are important for optimised 
performance 
– 1 process writes to each disk group 
– Avoid reads and writes occurring simultaneously if possible
CPU 
• CPUs are not all created equal. 
• Use SpecInt to compare if it matters for your workload. 
• Split up the work and scale wide if you can. There is a reason 
the web scale companies have. 
• Don’t process work now that can wait until later. 
• Later might be in a few seconds and on another box. 
• Schedule intensive workloads like reports. 
• Don’t expect your laptop and the production server to scale 
the same way.
Memory 
• Memory is addressable in various forms with performance 
tradeoffs for capacity. 
• Use the lowest latency one you can afford. 
Memory Type Typical Capacity Approximate 
Access time 
CPU cache 30MB < 10 ns 
DDR3 64GB <100ns 
SSD ~ 800GB <20,000ns 
FC or SAS ~ 1TB <20,000,000ns 
SATA 4TB + <8,000,000ns
Network 
• Why is it that we conceptualise networks from an individual 
point of view?
Network 
The best transport is context dependent
Network 
• Latency & Bandwidth are not the same thing. 
– Think satellite delay on a TV interview 
• In this context we use these definitions 
– Latency is the amount of time a network takes to reach the other end. 
– Bandwidth is the rate at which we can successfully transmit data to the 
other end. 
• This is why you need to test your app through a latency 
generator. 
– There are capable free open source tools such as WANEM
Middleware 
• Websphere, WebLogic, JBOSS, Tomcat 
– Garbage collection tradeoffs between JVM size and system 
memory/CPU capacities. 
• Django 
– Read HighPerformanceDjango by the team from Lincoln Loop 
– Sponsored by the Common Code team
SQL databases 
• Microsoft SQL, Oracle DB, PostgreSQL & MySQL. 
• Various strengths & weaknesses for each but have some key 
things in common. 
• Offload reporting away from OLTP workloads 
• Indexes are important 
• Transaction Logs are a performance bottleneck 
• Think deeply about scaling out 
• Think about caching queries 
• Backups are critical because you will need to restore one day
Backup is about Restore 
• Enterprise wide backup will find all your infrastructure failings 
by pushing more data for longer while other work continues. 
• Test your restores. Really, test them. 
• Offload large backups away from your production systems.
Questions? 
How to get in touch? 
James Clifford 
Email: james@proitconsulting.com.au 
Phone: 0421 648 034 
Brenton Carbins 
Email: brenton@proitconsulting.com.au 
Phone: 0409 779 230

Más contenido relacionado

La actualidad más candente

BDM37 - Simon Grondin - Scaling an API proxy in OCaml
BDM37 - Simon Grondin - Scaling an API proxy in OCamlBDM37 - Simon Grondin - Scaling an API proxy in OCaml
BDM37 - Simon Grondin - Scaling an API proxy in OCamlBig Data Montreal
 
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...MySQL Brasil
 
The have no fear guide to virtualizing databases
The have no fear guide to virtualizing databasesThe have no fear guide to virtualizing databases
The have no fear guide to virtualizing databasesSolarWinds
 
Domino server and application performance in the real world
Domino server and application performance in the real worldDomino server and application performance in the real world
Domino server and application performance in the real worlddominion
 
London VMUG Presentation 19th July 2012
London VMUG Presentation 19th July 2012London VMUG Presentation 19th July 2012
London VMUG Presentation 19th July 2012Chris Evans
 
Capacity - Ransomware - Protection - Three Windows File Server Upgrades to Avoid
Capacity - Ransomware - Protection - Three Windows File Server Upgrades to AvoidCapacity - Ransomware - Protection - Three Windows File Server Upgrades to Avoid
Capacity - Ransomware - Protection - Three Windows File Server Upgrades to AvoidStorage Switzerland
 
Lessons in moving from physical hosts to mesos
Lessons in moving from physical hosts to mesosLessons in moving from physical hosts to mesos
Lessons in moving from physical hosts to mesosRaj Shekhar
 
EarthLink Business Cloud Server Backup
EarthLink Business Cloud Server BackupEarthLink Business Cloud Server Backup
EarthLink Business Cloud Server BackupMike Ricca
 
How to speed up any pc
How to speed up any pcHow to speed up any pc
How to speed up any pcunrant
 
De3 IT Solutions - Hosted Desktop Presentation
De3 IT Solutions - Hosted Desktop PresentationDe3 IT Solutions - Hosted Desktop Presentation
De3 IT Solutions - Hosted Desktop PresentationAaron Thirling
 
Five things virtualization has changed in your dr plan
Five things virtualization has changed in your dr planFive things virtualization has changed in your dr plan
Five things virtualization has changed in your dr planJosh Mazgelis
 
What Ifs - VMware Lightning Talk OpsCamp San Francisco
What Ifs - VMware Lightning Talk OpsCamp San FranciscoWhat Ifs - VMware Lightning Talk OpsCamp San Francisco
What Ifs - VMware Lightning Talk OpsCamp San FranciscoOpsCamp
 
How not to be a cranky dba
How not to be a cranky dbaHow not to be a cranky dba
How not to be a cranky dbaMike Hillwig
 
Stopping Storage Hardware Sprawl
Stopping Storage Hardware SprawlStopping Storage Hardware Sprawl
Stopping Storage Hardware SprawlStorage Switzerland
 
The 5 Minute MySQL DBA
The 5 Minute MySQL DBAThe 5 Minute MySQL DBA
The 5 Minute MySQL DBAIrawan Soetomo
 
Optimizing Flash Storage for SQL Databases
Optimizing Flash Storage for SQL DatabasesOptimizing Flash Storage for SQL Databases
Optimizing Flash Storage for SQL DatabasesStorage Switzerland
 

La actualidad más candente (20)

BDM37 - Simon Grondin - Scaling an API proxy in OCaml
BDM37 - Simon Grondin - Scaling an API proxy in OCamlBDM37 - Simon Grondin - Scaling an API proxy in OCaml
BDM37 - Simon Grondin - Scaling an API proxy in OCaml
 
Platform Cache (DF15 session)
Platform Cache (DF15 session)Platform Cache (DF15 session)
Platform Cache (DF15 session)
 
Platform Cache
Platform CachePlatform Cache
Platform Cache
 
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
 
The have no fear guide to virtualizing databases
The have no fear guide to virtualizing databasesThe have no fear guide to virtualizing databases
The have no fear guide to virtualizing databases
 
Domino server and application performance in the real world
Domino server and application performance in the real worldDomino server and application performance in the real world
Domino server and application performance in the real world
 
London VMUG Presentation 19th July 2012
London VMUG Presentation 19th July 2012London VMUG Presentation 19th July 2012
London VMUG Presentation 19th July 2012
 
Capacity - Ransomware - Protection - Three Windows File Server Upgrades to Avoid
Capacity - Ransomware - Protection - Three Windows File Server Upgrades to AvoidCapacity - Ransomware - Protection - Three Windows File Server Upgrades to Avoid
Capacity - Ransomware - Protection - Three Windows File Server Upgrades to Avoid
 
Lessons in moving from physical hosts to mesos
Lessons in moving from physical hosts to mesosLessons in moving from physical hosts to mesos
Lessons in moving from physical hosts to mesos
 
EarthLink Business Cloud Server Backup
EarthLink Business Cloud Server BackupEarthLink Business Cloud Server Backup
EarthLink Business Cloud Server Backup
 
How to speed up any pc
How to speed up any pcHow to speed up any pc
How to speed up any pc
 
De3 IT Solutions - Hosted Desktop Presentation
De3 IT Solutions - Hosted Desktop PresentationDe3 IT Solutions - Hosted Desktop Presentation
De3 IT Solutions - Hosted Desktop Presentation
 
Five things virtualization has changed in your dr plan
Five things virtualization has changed in your dr planFive things virtualization has changed in your dr plan
Five things virtualization has changed in your dr plan
 
No stress with state
No stress with stateNo stress with state
No stress with state
 
What Ifs - VMware Lightning Talk OpsCamp San Francisco
What Ifs - VMware Lightning Talk OpsCamp San FranciscoWhat Ifs - VMware Lightning Talk OpsCamp San Francisco
What Ifs - VMware Lightning Talk OpsCamp San Francisco
 
How not to be a cranky dba
How not to be a cranky dbaHow not to be a cranky dba
How not to be a cranky dba
 
Stopping Storage Hardware Sprawl
Stopping Storage Hardware SprawlStopping Storage Hardware Sprawl
Stopping Storage Hardware Sprawl
 
Secured Development
Secured DevelopmentSecured Development
Secured Development
 
The 5 Minute MySQL DBA
The 5 Minute MySQL DBAThe 5 Minute MySQL DBA
The 5 Minute MySQL DBA
 
Optimizing Flash Storage for SQL Databases
Optimizing Flash Storage for SQL DatabasesOptimizing Flash Storage for SQL Databases
Optimizing Flash Storage for SQL Databases
 

Similar a Scaling apps for the big time

Performance Tuning
Performance TuningPerformance Tuning
Performance TuningJannet Peetz
 
Performance Optimization of Cloud Based Applications by Peter Smith, ACL
Performance Optimization of Cloud Based Applications by Peter Smith, ACLPerformance Optimization of Cloud Based Applications by Peter Smith, ACL
Performance Optimization of Cloud Based Applications by Peter Smith, ACLTriNimbus
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive WritesLiran Zelkha
 
Scaling Systems: Architectures that grow
Scaling Systems: Architectures that growScaling Systems: Architectures that grow
Scaling Systems: Architectures that growGibraltar Software
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestRodolfo Kohn
 
Hardware Provisioning
Hardware ProvisioningHardware Provisioning
Hardware ProvisioningMongoDB
 
Doc 2011101412020074
Doc 2011101412020074Doc 2011101412020074
Doc 2011101412020074Rhythm Sun
 
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...Marina Peregud
 
Silicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The SequelSilicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The SequelDaniel Coupal
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systemselliando dias
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP120bi
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsAchievers Tech
 
Choosing the right parallel compute architecture
Choosing the right parallel compute architecture Choosing the right parallel compute architecture
Choosing the right parallel compute architecture corehard_by
 
Capacity Planning For Your Growing MongoDB Cluster
Capacity Planning For Your Growing MongoDB ClusterCapacity Planning For Your Growing MongoDB Cluster
Capacity Planning For Your Growing MongoDB ClusterMongoDB
 
Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...Sergey Platonov
 
MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014Ryusuke Kajiyama
 
Database Administration & Management - 01
Database Administration & Management - 01Database Administration & Management - 01
Database Administration & Management - 01FaisalMashood
 

Similar a Scaling apps for the big time (20)

Performance Tuning
Performance TuningPerformance Tuning
Performance Tuning
 
Performance Optimization of Cloud Based Applications by Peter Smith, ACL
Performance Optimization of Cloud Based Applications by Peter Smith, ACLPerformance Optimization of Cloud Based Applications by Peter Smith, ACL
Performance Optimization of Cloud Based Applications by Peter Smith, ACL
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive Writes
 
Scaling Systems: Architectures that grow
Scaling Systems: Architectures that growScaling Systems: Architectures that grow
Scaling Systems: Architectures that grow
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance Test
 
Hardware Provisioning
Hardware ProvisioningHardware Provisioning
Hardware Provisioning
 
Doc 2011101412020074
Doc 2011101412020074Doc 2011101412020074
Doc 2011101412020074
 
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
 
Silicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The SequelSilicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systems
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web Applications
 
Breaking data
Breaking dataBreaking data
Breaking data
 
Choosing the right parallel compute architecture
Choosing the right parallel compute architecture Choosing the right parallel compute architecture
Choosing the right parallel compute architecture
 
Capacity Planning For Your Growing MongoDB Cluster
Capacity Planning For Your Growing MongoDB ClusterCapacity Planning For Your Growing MongoDB Cluster
Capacity Planning For Your Growing MongoDB Cluster
 
Capacityplanning
Capacityplanning Capacityplanning
Capacityplanning
 
Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...
 
Fastest Servlets in the West
Fastest Servlets in the WestFastest Servlets in the West
Fastest Servlets in the West
 
MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014
 
Database Administration & Management - 01
Database Administration & Management - 01Database Administration & Management - 01
Database Administration & Management - 01
 

Último

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Último (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Scaling apps for the big time

  • 1. Pro IT Consulting Scaling apps for the big time
  • 2. The Challenge? • You have an app that works • You have users that like it Awesome • Performance is suffering as you scale. • Reliability is getting worse, not better. • As your data sets grow, the problems are more pronounced. • The operations team are talking about problems, not solutions Not so awesome
  • 3. So what happens if you win big?
  • 4. You are not alone – unfortunately… • Your cool app • May end up supported • By lots of things • You can’t control
  • 5. You are not alone – unfortunately…
  • 6. What is the root cause? • Take the time to understand what happens when your code asks the server to do some task. select * from some_production_table_with_100,000,000_records Is really not the same workload as select * from some_dev_table_with_100_records • Look for evidence in logs and tools that provide real insight.
  • 7. What is the root cause?
  • 8. Issues of priority… • Disk drive, single user session • Disk drives, Multiple users….
  • 9. Issues of Scale… • Fetching Blocks, single user session • Fetching Blocks, enterprise workload
  • 10. Storage • Many database and operating system vendor recommendations are woefully out of date. • Modern techniques utilising flash in the right way can deliver millions of random IOPS. • SAN and flash vendors have made dramatic changes over the last few years that invalidate many of the old recommendations. • Some principles still hold and are important for optimised performance – 1 process writes to each disk group – Avoid reads and writes occurring simultaneously if possible
  • 11. CPU • CPUs are not all created equal. • Use SpecInt to compare if it matters for your workload. • Split up the work and scale wide if you can. There is a reason the web scale companies have. • Don’t process work now that can wait until later. • Later might be in a few seconds and on another box. • Schedule intensive workloads like reports. • Don’t expect your laptop and the production server to scale the same way.
  • 12. Memory • Memory is addressable in various forms with performance tradeoffs for capacity. • Use the lowest latency one you can afford. Memory Type Typical Capacity Approximate Access time CPU cache 30MB < 10 ns DDR3 64GB <100ns SSD ~ 800GB <20,000ns FC or SAS ~ 1TB <20,000,000ns SATA 4TB + <8,000,000ns
  • 13. Network • Why is it that we conceptualise networks from an individual point of view?
  • 14. Network The best transport is context dependent
  • 15. Network • Latency & Bandwidth are not the same thing. – Think satellite delay on a TV interview • In this context we use these definitions – Latency is the amount of time a network takes to reach the other end. – Bandwidth is the rate at which we can successfully transmit data to the other end. • This is why you need to test your app through a latency generator. – There are capable free open source tools such as WANEM
  • 16. Middleware • Websphere, WebLogic, JBOSS, Tomcat – Garbage collection tradeoffs between JVM size and system memory/CPU capacities. • Django – Read HighPerformanceDjango by the team from Lincoln Loop – Sponsored by the Common Code team
  • 17. SQL databases • Microsoft SQL, Oracle DB, PostgreSQL & MySQL. • Various strengths & weaknesses for each but have some key things in common. • Offload reporting away from OLTP workloads • Indexes are important • Transaction Logs are a performance bottleneck • Think deeply about scaling out • Think about caching queries • Backups are critical because you will need to restore one day
  • 18. Backup is about Restore • Enterprise wide backup will find all your infrastructure failings by pushing more data for longer while other work continues. • Test your restores. Really, test them. • Offload large backups away from your production systems.
  • 19. Questions? How to get in touch? James Clifford Email: james@proitconsulting.com.au Phone: 0421 648 034 Brenton Carbins Email: brenton@proitconsulting.com.au Phone: 0409 779 230

Notas del editor

  1. You are not the only fish in the sea…
  2. You are not the only fish in the sea…