SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
PERFORMANCE
                              STRATEGIES
                            Alexander Meindl @ Drupalcamp Wien 2009




Monday, November 30, 2009
ABOUT ME


              Freelancer for 13 years

              Linux experience for 18 years

              PHP experience for 9 years

              Drupal addicted since 2006




Monday, November 30, 2009
AGENDA

              use cases

              analyses

              strategies

                   shift load to the client (frontend optimization)

                   optimize the application (drupal)

                   server/infrastructure optimization


Monday, November 30, 2009
PERFORMANCE
         STRATEGIES




               Some kittens can die

Monday, November 30, 2009
SERVER QUICK WINS

                   PHP OP code caching (xcache, eaccelerator, APC, Zend
                   Server )

                   MySQL Query Cache

                   use mysqli with MySQL5

                   AllowOverwrite = None (move php configuration to vhost
                   file)



Monday, November 30, 2009
ANALYSES


              Analyses of the current status

                   Stress tests / simulation

                   Profiling (xdebug, drupal devel)

                   Log files (error logs, slow queries...)




Monday, November 30, 2009
USE CASES


         1. complex functionality (e.g. large number of modules)

         2.large number of concurrent anonymous users

         3.large number of concurrent registered users

         4.large amount of data




Monday, November 30, 2009
1. COMPLEX
         FUNCTIONALITY
              simplify it!

                   reduce modules (solve tasks with a more abstract solution
                   - views, cck, panels, context?)

                   optimize modules (find bottlenecks)

              use asyncron jobs (drush is your friend)

              cache it (data, objects, ...)



Monday, November 30, 2009
1. COMPLEX
         FUNCTIONALITY

              use a different cache engine (default DB):

                   memcache

                   cacherouter (APC, eAccelerator, memcache, XCache)

              use cache_get/cache_set in your code




Monday, November 30, 2009
2. HIGH TRAFFIC

              large number of concurrent anonymous users

              - everyone can see the same page content

              - page can be cached without complex logic behind

                    •       reverse proxy

                    •       boost cache




Monday, November 30, 2009
REVERSE PROXY

              Squid / Varnish




Monday, November 30, 2009
REVERSE PROXY

              Squid / Varnish - Single Server




Monday, November 30, 2009
BOOST CACHE

              Files from file system without parsing PHP and a database
              connection




Monday, November 30, 2009
3. HIGH TRAFFIC

              large number of concurrent registered users

              problem:

                            - role based content

                            - user based content

                              -> lots of database queries



Monday, November 30, 2009
3. HIGH TRAFFIC

              large number of concurrent registered users

              - block based caching

                    •       drupal core can do it!

                    •       authcache

                    •       ESI



Monday, November 30, 2009
STATIC CONTENT -
         CDN
              Images, videos, CSS servered with lighttpd or nginx

                   Own server
                            less memory usage
                            faster client requests (2 request restriction)

                            cheaper for small projects

                   CDN provider
                            less server load

                            less traffic

                            expensive



Monday, November 30, 2009
CONTENT DELIVERY
         NETWORK (CDN)



              Multiple CDN Server




Monday, November 30, 2009
CONTENT DELIVERY
         NETWORK (CDN)



              CDN+Webserver




Monday, November 30, 2009
CONTENT DELIVERY
         NETWORK (CDN)
              CDN+Webserver iptables rules:




Monday, November 30, 2009
4. LARGE NUMBER OF
         DATA

                   lots of nodes and/or users

                            no application based solution

                            server based solution

                              database partitioning (MySQL >= 5.1)

                              Database replication/ cluster



Monday, November 30, 2009
IF PROJECT GROWTH

              scale you project!

                   database replication / cluster

                   external search (solar)

                   CDN and/or reverse proxies

                   external applications for expert solutions (e.g. forum,
                   videos, ad server)



Monday, November 30, 2009
THINK BIG




                            20
Monday, November 30, 2009
THINK BIG




                            0.2
Monday, November 30, 2009
PRESSFLOW

              MySQL Replication

              Reverse proxy

              MySQL optimization

              PHP optimization (PHP5 required)

              compatible to contributed modules



Monday, November 30, 2009
SUMMARY


              Try to simplify complexity

              Cache whatever you can as long as you can

              source functionality out




Monday, November 30, 2009
INFORMATION


              http://www.2bits.com

              https://launchpad.net/pressflow

              http://tag1consulting.com/patches




Monday, November 30, 2009
QUESTIONS



              Alexander Meindl

                            alex@squatlabs.com




Monday, November 30, 2009

Más contenido relacionado

La actualidad más candente

WordPress Performance & Scalability
WordPress Performance & ScalabilityWordPress Performance & Scalability
WordPress Performance & ScalabilityJoseph Scott
 
Introducing apache stratos (incubating) & wso2 paa s foundation
Introducing apache stratos (incubating) & wso2 paa s foundationIntroducing apache stratos (incubating) & wso2 paa s foundation
Introducing apache stratos (incubating) & wso2 paa s foundationLakmal Warusawithana
 
Achieving the ultimate performance with KVM
Achieving the ultimate performance with KVM Achieving the ultimate performance with KVM
Achieving the ultimate performance with KVM ShapeBlue
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerJulio Martinez
 
ODSA PoC: Network Flow Processor Overview
ODSA PoC: Network Flow Processor OverviewODSA PoC: Network Flow Processor Overview
ODSA PoC: Network Flow Processor Overviewjennimenni
 

La actualidad más candente (7)

風若 foonyah v0.0.2
風若 foonyah v0.0.2風若 foonyah v0.0.2
風若 foonyah v0.0.2
 
WordPress Performance & Scalability
WordPress Performance & ScalabilityWordPress Performance & Scalability
WordPress Performance & Scalability
 
Introducing apache stratos (incubating) & wso2 paa s foundation
Introducing apache stratos (incubating) & wso2 paa s foundationIntroducing apache stratos (incubating) & wso2 paa s foundation
Introducing apache stratos (incubating) & wso2 paa s foundation
 
Achieving the ultimate performance with KVM
Achieving the ultimate performance with KVM Achieving the ultimate performance with KVM
Achieving the ultimate performance with KVM
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Amepad lt(tmpfs)
Amepad lt(tmpfs)Amepad lt(tmpfs)
Amepad lt(tmpfs)
 
ODSA PoC: Network Flow Processor Overview
ODSA PoC: Network Flow Processor OverviewODSA PoC: Network Flow Processor Overview
ODSA PoC: Network Flow Processor Overview
 

Destacado

Continuous Delivery in the Real World: From Jenkins to Production
Continuous Delivery in the Real World: From Jenkins to ProductionContinuous Delivery in the Real World: From Jenkins to Production
Continuous Delivery in the Real World: From Jenkins to ProductionMario Cruz
 
Agile is a mindset
Agile is a mindsetAgile is a mindset
Agile is a mindsetDominik Rose
 
Estudos de sujeito único
Estudos de sujeito únicoEstudos de sujeito único
Estudos de sujeito únicoJoao P. Dubas
 
Enterprise Architecture Surveys with LeanIX
Enterprise Architecture Surveys with LeanIXEnterprise Architecture Surveys with LeanIX
Enterprise Architecture Surveys with LeanIXLeanIX GmbH
 
LeanIX Enterprise Architecture Management - Release Notes 3.3
LeanIX Enterprise Architecture Management - Release Notes 3.3LeanIX Enterprise Architecture Management - Release Notes 3.3
LeanIX Enterprise Architecture Management - Release Notes 3.3LeanIX GmbH
 
Smart Enterprise & IT Architecture Reporting with LeanIX
Smart Enterprise & IT Architecture Reporting with LeanIXSmart Enterprise & IT Architecture Reporting with LeanIX
Smart Enterprise & IT Architecture Reporting with LeanIXLeanIX GmbH
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinLeanIX GmbH
 
Interface Fact Sheets in LeanIX Enterprise Architecture Management
Interface Fact Sheets in LeanIX Enterprise Architecture ManagementInterface Fact Sheets in LeanIX Enterprise Architecture Management
Interface Fact Sheets in LeanIX Enterprise Architecture ManagementLeanIX GmbH
 
LeanIX New API Tokens
LeanIX New API TokensLeanIX New API Tokens
LeanIX New API TokensLeanIX GmbH
 
How to increase your understanding of application usage with LeanIX and OneLo...
How to increase your understanding of application usage with LeanIX and OneLo...How to increase your understanding of application usage with LeanIX and OneLo...
How to increase your understanding of application usage with LeanIX and OneLo...LeanIX GmbH
 
LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016
LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016
LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016LeanIX GmbH
 
Survey Add-on in LeanIX Enterprise Architecture Management
Survey Add-on in LeanIX Enterprise Architecture ManagementSurvey Add-on in LeanIX Enterprise Architecture Management
Survey Add-on in LeanIX Enterprise Architecture ManagementLeanIX GmbH
 
Enterprise & IT Architecture Management User Guide with LeanIX
Enterprise & IT Architecture Management User Guide with LeanIXEnterprise & IT Architecture Management User Guide with LeanIX
Enterprise & IT Architecture Management User Guide with LeanIXLeanIX GmbH
 
Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...
Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...
Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...LeanIX GmbH
 
Manage Technology Obsolescence with LeanIX BDNA Technopedia Integration - Ent...
Manage Technology Obsolescence with LeanIX BDNA Technopedia Integration - Ent...Manage Technology Obsolescence with LeanIX BDNA Technopedia Integration - Ent...
Manage Technology Obsolescence with LeanIX BDNA Technopedia Integration - Ent...LeanIX GmbH
 
Your IT Architecture in your pocket with LeanIX iPhone App. Mobile Enterprise...
Your IT Architecture in your pocket with LeanIX iPhone App. Mobile Enterprise...Your IT Architecture in your pocket with LeanIX iPhone App. Mobile Enterprise...
Your IT Architecture in your pocket with LeanIX iPhone App. Mobile Enterprise...LeanIX GmbH
 
LeanIX Swagger REST API @ Open Source Konferenz FrosCon, Sankt Augustin
LeanIX Swagger REST API @ Open Source Konferenz FrosCon, Sankt AugustinLeanIX Swagger REST API @ Open Source Konferenz FrosCon, Sankt Augustin
LeanIX Swagger REST API @ Open Source Konferenz FrosCon, Sankt AugustinLeanIX GmbH
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...LeanIX GmbH
 
LeanIX Enterprise Architecture Management - Release Notes 3.4
LeanIX Enterprise Architecture Management - Release Notes 3.4 LeanIX Enterprise Architecture Management - Release Notes 3.4
LeanIX Enterprise Architecture Management - Release Notes 3.4 LeanIX GmbH
 
Junivo Solutions - Brochure
Junivo Solutions - BrochureJunivo Solutions - Brochure
Junivo Solutions - BrochureMurat Eren
 

Destacado (20)

Continuous Delivery in the Real World: From Jenkins to Production
Continuous Delivery in the Real World: From Jenkins to ProductionContinuous Delivery in the Real World: From Jenkins to Production
Continuous Delivery in the Real World: From Jenkins to Production
 
Agile is a mindset
Agile is a mindsetAgile is a mindset
Agile is a mindset
 
Estudos de sujeito único
Estudos de sujeito únicoEstudos de sujeito único
Estudos de sujeito único
 
Enterprise Architecture Surveys with LeanIX
Enterprise Architecture Surveys with LeanIXEnterprise Architecture Surveys with LeanIX
Enterprise Architecture Surveys with LeanIX
 
LeanIX Enterprise Architecture Management - Release Notes 3.3
LeanIX Enterprise Architecture Management - Release Notes 3.3LeanIX Enterprise Architecture Management - Release Notes 3.3
LeanIX Enterprise Architecture Management - Release Notes 3.3
 
Smart Enterprise & IT Architecture Reporting with LeanIX
Smart Enterprise & IT Architecture Reporting with LeanIXSmart Enterprise & IT Architecture Reporting with LeanIX
Smart Enterprise & IT Architecture Reporting with LeanIX
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
 
Interface Fact Sheets in LeanIX Enterprise Architecture Management
Interface Fact Sheets in LeanIX Enterprise Architecture ManagementInterface Fact Sheets in LeanIX Enterprise Architecture Management
Interface Fact Sheets in LeanIX Enterprise Architecture Management
 
LeanIX New API Tokens
LeanIX New API TokensLeanIX New API Tokens
LeanIX New API Tokens
 
How to increase your understanding of application usage with LeanIX and OneLo...
How to increase your understanding of application usage with LeanIX and OneLo...How to increase your understanding of application usage with LeanIX and OneLo...
How to increase your understanding of application usage with LeanIX and OneLo...
 
LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016
LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016
LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016
 
Survey Add-on in LeanIX Enterprise Architecture Management
Survey Add-on in LeanIX Enterprise Architecture ManagementSurvey Add-on in LeanIX Enterprise Architecture Management
Survey Add-on in LeanIX Enterprise Architecture Management
 
Enterprise & IT Architecture Management User Guide with LeanIX
Enterprise & IT Architecture Management User Guide with LeanIXEnterprise & IT Architecture Management User Guide with LeanIX
Enterprise & IT Architecture Management User Guide with LeanIX
 
Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...
Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...
Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...
 
Manage Technology Obsolescence with LeanIX BDNA Technopedia Integration - Ent...
Manage Technology Obsolescence with LeanIX BDNA Technopedia Integration - Ent...Manage Technology Obsolescence with LeanIX BDNA Technopedia Integration - Ent...
Manage Technology Obsolescence with LeanIX BDNA Technopedia Integration - Ent...
 
Your IT Architecture in your pocket with LeanIX iPhone App. Mobile Enterprise...
Your IT Architecture in your pocket with LeanIX iPhone App. Mobile Enterprise...Your IT Architecture in your pocket with LeanIX iPhone App. Mobile Enterprise...
Your IT Architecture in your pocket with LeanIX iPhone App. Mobile Enterprise...
 
LeanIX Swagger REST API @ Open Source Konferenz FrosCon, Sankt Augustin
LeanIX Swagger REST API @ Open Source Konferenz FrosCon, Sankt AugustinLeanIX Swagger REST API @ Open Source Konferenz FrosCon, Sankt Augustin
LeanIX Swagger REST API @ Open Source Konferenz FrosCon, Sankt Augustin
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
 
LeanIX Enterprise Architecture Management - Release Notes 3.4
LeanIX Enterprise Architecture Management - Release Notes 3.4 LeanIX Enterprise Architecture Management - Release Notes 3.4
LeanIX Enterprise Architecture Management - Release Notes 3.4
 
Junivo Solutions - Brochure
Junivo Solutions - BrochureJunivo Solutions - Brochure
Junivo Solutions - Brochure
 

Similar a Performance Strategies

Non-Relational Databases & Key/Value Stores
Non-Relational Databases & Key/Value StoresNon-Relational Databases & Key/Value Stores
Non-Relational Databases & Key/Value StoresJoël Perras
 
Building A Scalable Open Source Storage Solution
Building A Scalable Open Source Storage SolutionBuilding A Scalable Open Source Storage Solution
Building A Scalable Open Source Storage SolutionPhil Cryer
 
Protecting TYPO3 With Suhosin And Modsecurity
Protecting TYPO3 With Suhosin And ModsecurityProtecting TYPO3 With Suhosin And Modsecurity
Protecting TYPO3 With Suhosin And ModsecurityXavier Perseguers
 
How to Install, Use, and Customize Drush
How to Install, Use, and Customize DrushHow to Install, Use, and Customize Drush
How to Install, Use, and Customize DrushAcquia
 
Agile Development with PHP in Practice
Agile Development with PHP in PracticeAgile Development with PHP in Practice
Agile Development with PHP in PracticeLars Jankowfsky
 
Speeding Up Spark Performance using Alluxio at China Unicom
Speeding Up Spark Performance using Alluxio at China UnicomSpeeding Up Spark Performance using Alluxio at China Unicom
Speeding Up Spark Performance using Alluxio at China UnicomAlluxio, Inc.
 
AWS Webcast - How to Migrate On-premise NAS Storage to Cloud NAS Storage
AWS Webcast - How to Migrate On-premise NAS Storage to Cloud NAS StorageAWS Webcast - How to Migrate On-premise NAS Storage to Cloud NAS Storage
AWS Webcast - How to Migrate On-premise NAS Storage to Cloud NAS StorageAmazon Web Services
 
Sebastian Burkhart — Berlin.apps.js Nov 2012 Talk
Sebastian Burkhart — Berlin.apps.js Nov 2012 TalkSebastian Burkhart — Berlin.apps.js Nov 2012 Talk
Sebastian Burkhart — Berlin.apps.js Nov 2012 TalkSebastian Burkhart
 
Running a Realtime Stats Service on MySQL
Running a Realtime Stats Service on MySQLRunning a Realtime Stats Service on MySQL
Running a Realtime Stats Service on MySQLKazuho Oku
 
AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)
AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)
AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)Amazon Web Services
 
RAMCloud: Scalable Datacenter Storage Entirely in DRAM
RAMCloud: Scalable  Datacenter Storage  Entirely in DRAMRAMCloud: Scalable  Datacenter Storage  Entirely in DRAM
RAMCloud: Scalable Datacenter Storage Entirely in DRAMGeorge Ang
 
Back Up 101
Back Up 101Back Up 101
Back Up 101Gowtham
 
Data Loading for Ext GWT
Data Loading for Ext GWTData Loading for Ext GWT
Data Loading for Ext GWTSencha
 
Manage your switches like servers
Manage your switches like serversManage your switches like servers
Manage your switches like serversCumulus Networks
 
Log management with Graylog2 - FrOSCon 2012
Log management with Graylog2 - FrOSCon 2012Log management with Graylog2 - FrOSCon 2012
Log management with Graylog2 - FrOSCon 2012lennartkoopmann
 

Similar a Performance Strategies (20)

Non-Relational Databases & Key/Value Stores
Non-Relational Databases & Key/Value StoresNon-Relational Databases & Key/Value Stores
Non-Relational Databases & Key/Value Stores
 
Building A Scalable Open Source Storage Solution
Building A Scalable Open Source Storage SolutionBuilding A Scalable Open Source Storage Solution
Building A Scalable Open Source Storage Solution
 
MySQL Sandbox 3
MySQL Sandbox 3MySQL Sandbox 3
MySQL Sandbox 3
 
Btree Nosql Oak
Btree Nosql OakBtree Nosql Oak
Btree Nosql Oak
 
Protecting TYPO3 With Suhosin And Modsecurity
Protecting TYPO3 With Suhosin And ModsecurityProtecting TYPO3 With Suhosin And Modsecurity
Protecting TYPO3 With Suhosin And Modsecurity
 
Nuxeo Iks 2009 11 13
Nuxeo Iks 2009 11 13Nuxeo Iks 2009 11 13
Nuxeo Iks 2009 11 13
 
How to Install, Use, and Customize Drush
How to Install, Use, and Customize DrushHow to Install, Use, and Customize Drush
How to Install, Use, and Customize Drush
 
2020 re:Cap
2020 re:Cap2020 re:Cap
2020 re:Cap
 
Agile Development with PHP in Practice
Agile Development with PHP in PracticeAgile Development with PHP in Practice
Agile Development with PHP in Practice
 
Speeding Up Spark Performance using Alluxio at China Unicom
Speeding Up Spark Performance using Alluxio at China UnicomSpeeding Up Spark Performance using Alluxio at China Unicom
Speeding Up Spark Performance using Alluxio at China Unicom
 
AWS Webcast - How to Migrate On-premise NAS Storage to Cloud NAS Storage
AWS Webcast - How to Migrate On-premise NAS Storage to Cloud NAS StorageAWS Webcast - How to Migrate On-premise NAS Storage to Cloud NAS Storage
AWS Webcast - How to Migrate On-premise NAS Storage to Cloud NAS Storage
 
Sebastian Burkhart — Berlin.apps.js Nov 2012 Talk
Sebastian Burkhart — Berlin.apps.js Nov 2012 TalkSebastian Burkhart — Berlin.apps.js Nov 2012 Talk
Sebastian Burkhart — Berlin.apps.js Nov 2012 Talk
 
Running a Realtime Stats Service on MySQL
Running a Realtime Stats Service on MySQLRunning a Realtime Stats Service on MySQL
Running a Realtime Stats Service on MySQL
 
AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)
AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)
AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)
 
RAMCloud: Scalable Datacenter Storage Entirely in DRAM
RAMCloud: Scalable  Datacenter Storage  Entirely in DRAMRAMCloud: Scalable  Datacenter Storage  Entirely in DRAM
RAMCloud: Scalable Datacenter Storage Entirely in DRAM
 
JRubyConf 2009
JRubyConf 2009JRubyConf 2009
JRubyConf 2009
 
Back Up 101
Back Up 101Back Up 101
Back Up 101
 
Data Loading for Ext GWT
Data Loading for Ext GWTData Loading for Ext GWT
Data Loading for Ext GWT
 
Manage your switches like servers
Manage your switches like serversManage your switches like servers
Manage your switches like servers
 
Log management with Graylog2 - FrOSCon 2012
Log management with Graylog2 - FrOSCon 2012Log management with Graylog2 - FrOSCon 2012
Log management with Graylog2 - FrOSCon 2012
 

Último

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Último (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

Performance Strategies

  • 1. PERFORMANCE STRATEGIES Alexander Meindl @ Drupalcamp Wien 2009 Monday, November 30, 2009
  • 2. ABOUT ME Freelancer for 13 years Linux experience for 18 years PHP experience for 9 years Drupal addicted since 2006 Monday, November 30, 2009
  • 3. AGENDA use cases analyses strategies shift load to the client (frontend optimization) optimize the application (drupal) server/infrastructure optimization Monday, November 30, 2009
  • 4. PERFORMANCE STRATEGIES Some kittens can die Monday, November 30, 2009
  • 5. SERVER QUICK WINS PHP OP code caching (xcache, eaccelerator, APC, Zend Server ) MySQL Query Cache use mysqli with MySQL5 AllowOverwrite = None (move php configuration to vhost file) Monday, November 30, 2009
  • 6. ANALYSES Analyses of the current status Stress tests / simulation Profiling (xdebug, drupal devel) Log files (error logs, slow queries...) Monday, November 30, 2009
  • 7. USE CASES 1. complex functionality (e.g. large number of modules) 2.large number of concurrent anonymous users 3.large number of concurrent registered users 4.large amount of data Monday, November 30, 2009
  • 8. 1. COMPLEX FUNCTIONALITY simplify it! reduce modules (solve tasks with a more abstract solution - views, cck, panels, context?) optimize modules (find bottlenecks) use asyncron jobs (drush is your friend) cache it (data, objects, ...) Monday, November 30, 2009
  • 9. 1. COMPLEX FUNCTIONALITY use a different cache engine (default DB): memcache cacherouter (APC, eAccelerator, memcache, XCache) use cache_get/cache_set in your code Monday, November 30, 2009
  • 10. 2. HIGH TRAFFIC large number of concurrent anonymous users - everyone can see the same page content - page can be cached without complex logic behind • reverse proxy • boost cache Monday, November 30, 2009
  • 11. REVERSE PROXY Squid / Varnish Monday, November 30, 2009
  • 12. REVERSE PROXY Squid / Varnish - Single Server Monday, November 30, 2009
  • 13. BOOST CACHE Files from file system without parsing PHP and a database connection Monday, November 30, 2009
  • 14. 3. HIGH TRAFFIC large number of concurrent registered users problem: - role based content - user based content -> lots of database queries Monday, November 30, 2009
  • 15. 3. HIGH TRAFFIC large number of concurrent registered users - block based caching • drupal core can do it! • authcache • ESI Monday, November 30, 2009
  • 16. STATIC CONTENT - CDN Images, videos, CSS servered with lighttpd or nginx Own server less memory usage faster client requests (2 request restriction) cheaper for small projects CDN provider less server load less traffic expensive Monday, November 30, 2009
  • 17. CONTENT DELIVERY NETWORK (CDN) Multiple CDN Server Monday, November 30, 2009
  • 18. CONTENT DELIVERY NETWORK (CDN) CDN+Webserver Monday, November 30, 2009
  • 19. CONTENT DELIVERY NETWORK (CDN) CDN+Webserver iptables rules: Monday, November 30, 2009
  • 20. 4. LARGE NUMBER OF DATA lots of nodes and/or users no application based solution server based solution database partitioning (MySQL >= 5.1) Database replication/ cluster Monday, November 30, 2009
  • 21. IF PROJECT GROWTH scale you project! database replication / cluster external search (solar) CDN and/or reverse proxies external applications for expert solutions (e.g. forum, videos, ad server) Monday, November 30, 2009
  • 22. THINK BIG 20 Monday, November 30, 2009
  • 23. THINK BIG 0.2 Monday, November 30, 2009
  • 24. PRESSFLOW MySQL Replication Reverse proxy MySQL optimization PHP optimization (PHP5 required) compatible to contributed modules Monday, November 30, 2009
  • 25. SUMMARY Try to simplify complexity Cache whatever you can as long as you can source functionality out Monday, November 30, 2009
  • 26. INFORMATION http://www.2bits.com https://launchpad.net/pressflow http://tag1consulting.com/patches Monday, November 30, 2009
  • 27. QUESTIONS Alexander Meindl alex@squatlabs.com Monday, November 30, 2009