SlideShare a Scribd company logo
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

More Related Content

What's hot

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
 
Platform Cache (DF15 session)
Platform Cache (DF15 session)Platform Cache (DF15 session)
Platform Cache (DF15 session)
Salesforce Partners
 
Platform Cache
Platform CachePlatform Cache
Platform Cache
Salesforce Developers
 
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 databases
SolarWinds
 
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 Avoid
Storage 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 mesos
Raj 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 pc
unrant
 
De3 IT Solutions - Hosted Desktop Presentation
De3 IT Solutions - Hosted Desktop PresentationDe3 IT Solutions - Hosted Desktop Presentation
De3 IT Solutions - Hosted Desktop Presentation
Aaron 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 plan
Josh Mazgelis
 
No stress with state
No stress with stateNo stress with state
No stress with state
Uwe Friedrichsen
 
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
OpsCamp
 
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
Mike Hillwig
 
Stopping Storage Hardware Sprawl
Stopping Storage Hardware SprawlStopping Storage Hardware Sprawl
Stopping Storage Hardware Sprawl
Storage Switzerland
 
Secured Development
Secured DevelopmentSecured Development
Secured Development
Burhan Khalid
 
The 5 Minute MySQL DBA
The 5 Minute MySQL DBAThe 5 Minute MySQL DBA
The 5 Minute MySQL DBA
Irawan Soetomo
 
Optimizing Flash Storage for SQL Databases
Optimizing Flash Storage for SQL DatabasesOptimizing Flash Storage for SQL Databases
Optimizing Flash Storage for SQL Databases
Storage Switzerland
 

What's hot (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 to Scaling apps for the big time

Performance Tuning
Performance TuningPerformance Tuning
Performance Tuning
Jannet 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, ACL
TriNimbus
 
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 grow
Gibraltar 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 Test
Rodolfo Kohn
 
Hardware Provisioning
Hardware ProvisioningHardware Provisioning
Hardware Provisioning
MongoDB
 
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 Sequel
Daniel 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 PHP
120bi
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web Applications
Achievers Tech
 
Breaking data
Breaking dataBreaking data
Breaking data
Terry Bunio
 
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 Cluster
MongoDB
 
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
 
Fastest Servlets in the West
Fastest Servlets in the WestFastest Servlets in the West
Fastest Servlets in the West
Stuart (Pid) Williams
 
MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014
Ryusuke Kajiyama
 
DBAM-01.pdf
DBAM-01.pdfDBAM-01.pdf
DBAM-01.pdf
hania80
 

Similar to 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
 
DBAM-01.pdf
DBAM-01.pdfDBAM-01.pdf
DBAM-01.pdf
 

Recently uploaded

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

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

Editor's Notes

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