SlideShare a Scribd company logo
SCALING PHP APPLICATIONS  WITH   ZEND PLATFORM
Programming in PHP since the days of 4.2.1 Working for Zend for the last 3½  years Professional Services, Product Management If you have a hard time with my name: German: Shachar Spanish: Shajar Russian: Шахар Arabic:  ﺷﺨﺮ Hebrew:  שָחַר Who am I?
Who are You? ?
Some Introductions: “ Scaling”  ? Introducing the Zend production stack Scaling PHP Applications with Zend Platform: White-box PHP application monitoring:  PHP Intelligence Comprehensive performance features Parallel execution in PHP:  Job Queues Enabling session scalability:  Session Clustering What are we talking about?
What is “Scalability” ?  “ In telecommunications and software engineering, scalability is a desirable  property of a system, a network, or  a process, which indicates its ability  to either handle growing amounts of work in a graceful manner, or to be readily enlarged” André B. Bondi,  'Characteristics of scalability and their impact on performance'
Scalability means being able to handle the growing traffic...
...but also the growing infrastructure and codebase
Introducing Zend's Production Stack Zend has some development products: Zend Studio, Zend Guard,  Zend Framework, PDT And also some run-time products: Zend Core Zend Platform Zend Engine :-) ...Together, these make the  Zend Production Stack
Introducing Zend's Production Stack Zend Core  is Zend's certified and supported distribution of PHP  Zend Platform   is Zend's enterprise-grade runtime environment for PHP applications We think of it as a  Web Application Server : Application-level monitoring Performance and scalability features  Cluster-wide configuration management Integrated in a single product, certified, supported
Introducing Zend Platform
PHP  Intelligence
Application-level Monitoring Most monitoring systems concentrate on network, hardware and OS issues Zend Platform's PHP Intelligence monitors the execution of PHP scripts in your application A lightweight PHP extension will “listen” for problems like slow executions, errors, and inconsistent memory usage  Alerts are displayed in a central GUI and can trigger predefined actions
Application-level monitoring
Root-cause analysis When an event is captured, it's context information is also saved GET, POST, Cookie, function data, backtrace, etc. This information allows the developer to quickly pinpoint the problem Integration with Zend Studio allows for instant debugging or profiling You can instantly reproduce the HTTP request that triggered the problem
Root-cause analysis
PHP Intelligence – Key benefits Get alerted on PHP issues as they happen throughout your production cluster Get alerted on problems which are not captured by error logs (slow executions, excess memory consumption, etc.) Dramatically reduce problem resolution time using instant debugging and root-cause analysis Allows you to stay on top of the ever-growing codebase complexity
Performance Management
Comprehensive Performance The performance of a web application can be affected by many different factors, for example: Network load PHP processing time Web server load Database server load Application logic – task execution time Improving the performance of a web application requires a combination of different measures
Comprehensive Performance
Comprehensive Performance Code Acceleration and Optimization
Comprehensive Performance Data Caching API
Using the data caching API
Comprehensive Performance Job Queues
Comprehensive Performance Full-Page  Caching
Setting up page caching rules
Comprehensive Performance Output  Compression
Comprehensive Performance Client-side Cache Utilization
Comprehensive Performance Zend Download  Server
Session  Clustering
Session Clustering – The Problem One of the key issues when scaling out, is sharing session data between cluster nodes Most load balancers will not provide 100% session affinity  Shared storage tends to become a major bottleneck NFS:  BAD  performance, single point of failure Database: better, but still a bottleneck Distributes storage is better, but:  Still doesn't provide fail-over persistence Scaling and managing the storage tends to become difficult
Session Clustering - Example
Session Clustering - Example
Session Clustering - Example
Session Clustering - Example
Session Clustering - Example
Session Clustering – Key Benefits Linear scalability: add more web servers and you are done Different levels of fail-over persistence:  Non-persistent memory storage Disk-based storage with delayed write or write-through High availability mode: Session replication on backup nodes Easy to set up and manage Good performance compared to alternative solutions Transparent to end-users and developers
Job Queues
Job Queue – The Problem PHP's isolated, shared-nothing architecture does not allow for easy parallel execution One “job” must finish before the next one is executed There is no asynchronous execution Background processing of any kind requires a lot of “hacking”
Job Queues - PHP In a Parallel Universe
Job Queues – Key Features Jobs are PHP scripts executed in the background  Jobs can be scheduled and managed through either: An API from within your PHP application  From a centralized web GUI Allows for elaborate scheduling rules Provides job failure handling Provides monitoring and execution statistics Common Uses: order processing, transaction processing, mail submission, report generation, etc.
Scheduling Jobs – From API or GUI
Job Queues - Example
Job Queues - Example
Job Queues - Example
Job Queues - Example
Job Queues - Example
Benchmark: Offloading e-mail submission Req / Sec # of subscribers Before Job Queue Offloading After Job Queue Offloading A quick benchmark of the changes above shows a dramatic improvement in the application's responsiveness, especially when the amount of subscribers grow.
What Else?
What Else? Unified management console Clustered configuration management Integration between features and with other products Installation, configuration and support services
Questions?
Thank You! Have additional questions? Look for me at the Zend booth ;) [email_address]   http://zend.com/platform This presentation will be available later today at  http://slideshare.net/shahar

More Related Content

What's hot (20)

PPTX
Performance Testing
Anu Shaji
 
PPTX
Salesforce Development Best Practices
Vivek Chawla
 
PPTX
FileMaker + RESTfm + Laravel
Johnnie Eerlings
 
PDF
Workflow Manager for Software License Optimization
Flexera
 
DOCX
prashanth
PRASHANTH GOWDA
 
PPTX
What's New In Windows Server 2008 R2 For IT Pro
Amit Gatenyo
 
DOCX
Key challenges in flex based performance testing
Phanindra Kishore
 
PDF
One-Click Deployments - CRMUG London 2014
Wael Hamze
 
PDF
LOG4J VULNERABILITY SAP BUSINESS ONE IMPACT AND WORK AROUNDS
AGSanePLDTCompany
 
PDF
IBM ODM Rules Compiler support in IBM Streams V4.2.
lisanl
 
PDF
Real User Monitoring: Getting Real Data from Real Users in the Real World - S...
Akamai Technologies
 
PPT
Alpha Five Version 8 - Rapid tool to build Web & Desktop DB Applications
Richard Rabins
 
ODP
Software Project Management using Redmine
Ritesh Tamrakar
 
PPT
HTTP Server Push Techniques
Folio3 Software
 
PPTX
Lessons Learnt Implementing High-Performance Integration using SAP PI
Sascha Wenninger
 
PPTX
Project Equal v2.0
Siddharth Agrawal
 
PDF
Alfresco Day Barcelona 2016 - Developer Track - Herramientas para administrad...
Alfresco Software
 
PPTX
uberSVN introduction by WANdisco
WANdisco Plc
 
PPT
Webconnection
Rick Strahl
 
PPTX
Microsoft Partner Benefits for Software Companies
Wes Yanaga
 
Performance Testing
Anu Shaji
 
Salesforce Development Best Practices
Vivek Chawla
 
FileMaker + RESTfm + Laravel
Johnnie Eerlings
 
Workflow Manager for Software License Optimization
Flexera
 
prashanth
PRASHANTH GOWDA
 
What's New In Windows Server 2008 R2 For IT Pro
Amit Gatenyo
 
Key challenges in flex based performance testing
Phanindra Kishore
 
One-Click Deployments - CRMUG London 2014
Wael Hamze
 
LOG4J VULNERABILITY SAP BUSINESS ONE IMPACT AND WORK AROUNDS
AGSanePLDTCompany
 
IBM ODM Rules Compiler support in IBM Streams V4.2.
lisanl
 
Real User Monitoring: Getting Real Data from Real Users in the Real World - S...
Akamai Technologies
 
Alpha Five Version 8 - Rapid tool to build Web & Desktop DB Applications
Richard Rabins
 
Software Project Management using Redmine
Ritesh Tamrakar
 
HTTP Server Push Techniques
Folio3 Software
 
Lessons Learnt Implementing High-Performance Integration using SAP PI
Sascha Wenninger
 
Project Equal v2.0
Siddharth Agrawal
 
Alfresco Day Barcelona 2016 - Developer Track - Herramientas para administrad...
Alfresco Software
 
uberSVN introduction by WANdisco
WANdisco Plc
 
Webconnection
Rick Strahl
 
Microsoft Partner Benefits for Software Companies
Wes Yanaga
 

Similar to Scaling PHP Applications with Zend Platform (20)

PPTX
North east user group tour
10n Software, LLC
 
PPTX
PHP Performance: Principles and tools
10n Software, LLC
 
PPTX
High performance PHP: Scaling and getting the most out of your infrastructure
mkherlakian
 
PPTX
Keeping up with PHP
Zend by Rogue Wave Software
 
PPT
Microsoft TechDays 2011 - PHP on Windows
Enterprise PHP Center
 
PDF
How to scale PHP applications
Enrico Zimuel
 
PPTX
Do you queue (updated)
10n Software, LLC
 
PPTX
Do you queue
10n Software, LLC
 
PPTX
Optimizing performance
Zend by Rogue Wave Software
 
PPTX
Resolving problems & high availability
Zend by Rogue Wave Software
 
PPTX
Zend Server - OSI Days
10n Software, LLC
 
PDF
Best Practices in PHP Application Deployment
Shahar Evron
 
PDF
2013 - Dustin whittle - Escalando PHP en la vida real
PHP Conference Argentina
 
PDF
Zend Server: A Guided Tour
Shahar Evron
 
PPTX
Achieving Massive Scalability and High Availability for PHP Applications in t...
RightScale
 
PPTX
Best Practices in PHP Application Delivery
Ana Maria Valarezo
 
PDF
Zend Solution Brief 0909 Web
Najeem Illyas
 
PPT
Top 30 Scalability Mistakes
John Coggeshall
 
PPTX
Slides from LAX & DEN usergroup meetings
10n Software, LLC
 
PPTX
Slideshare - Magento Imagine - Do You Queue
10n Software, LLC
 
North east user group tour
10n Software, LLC
 
PHP Performance: Principles and tools
10n Software, LLC
 
High performance PHP: Scaling and getting the most out of your infrastructure
mkherlakian
 
Keeping up with PHP
Zend by Rogue Wave Software
 
Microsoft TechDays 2011 - PHP on Windows
Enterprise PHP Center
 
How to scale PHP applications
Enrico Zimuel
 
Do you queue (updated)
10n Software, LLC
 
Do you queue
10n Software, LLC
 
Optimizing performance
Zend by Rogue Wave Software
 
Resolving problems & high availability
Zend by Rogue Wave Software
 
Zend Server - OSI Days
10n Software, LLC
 
Best Practices in PHP Application Deployment
Shahar Evron
 
2013 - Dustin whittle - Escalando PHP en la vida real
PHP Conference Argentina
 
Zend Server: A Guided Tour
Shahar Evron
 
Achieving Massive Scalability and High Availability for PHP Applications in t...
RightScale
 
Best Practices in PHP Application Delivery
Ana Maria Valarezo
 
Zend Solution Brief 0909 Web
Najeem Illyas
 
Top 30 Scalability Mistakes
John Coggeshall
 
Slides from LAX & DEN usergroup meetings
10n Software, LLC
 
Slideshare - Magento Imagine - Do You Queue
10n Software, LLC
 
Ad

More from Shahar Evron (10)

PDF
Amazon Cloud Services and Zend Framework
Shahar Evron
 
PPTX
PHP and Zend Framework on Windows
Shahar Evron
 
PDF
Zend Server: Scalability & Performance
Shahar Evron
 
PDF
Intro To Couch Db
Shahar Evron
 
PDF
Zend Framework Components for non-framework Development
Shahar Evron
 
PDF
PHP ואבטחה - חלק שני
Shahar Evron
 
PDF
PHP ואבטחה - חלק ראשון
Shahar Evron
 
PDF
PHP - עבר הווה ועתיד
Shahar Evron
 
PDF
Content Indexing with Zend_Search_Lucene
Shahar Evron
 
ODP
Building Scalable Development Environments
Shahar Evron
 
Amazon Cloud Services and Zend Framework
Shahar Evron
 
PHP and Zend Framework on Windows
Shahar Evron
 
Zend Server: Scalability & Performance
Shahar Evron
 
Intro To Couch Db
Shahar Evron
 
Zend Framework Components for non-framework Development
Shahar Evron
 
PHP ואבטחה - חלק שני
Shahar Evron
 
PHP ואבטחה - חלק ראשון
Shahar Evron
 
PHP - עבר הווה ועתיד
Shahar Evron
 
Content Indexing with Zend_Search_Lucene
Shahar Evron
 
Building Scalable Development Environments
Shahar Evron
 
Ad

Recently uploaded (20)

DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 

Scaling PHP Applications with Zend Platform

  • 1. SCALING PHP APPLICATIONS WITH ZEND PLATFORM
  • 2. Programming in PHP since the days of 4.2.1 Working for Zend for the last 3½ years Professional Services, Product Management If you have a hard time with my name: German: Shachar Spanish: Shajar Russian: Шахар Arabic: ﺷﺨﺮ Hebrew: שָחַר Who am I?
  • 4. Some Introductions: “ Scaling” ? Introducing the Zend production stack Scaling PHP Applications with Zend Platform: White-box PHP application monitoring: PHP Intelligence Comprehensive performance features Parallel execution in PHP: Job Queues Enabling session scalability: Session Clustering What are we talking about?
  • 5. What is “Scalability” ? “ In telecommunications and software engineering, scalability is a desirable property of a system, a network, or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged” André B. Bondi, 'Characteristics of scalability and their impact on performance'
  • 6. Scalability means being able to handle the growing traffic...
  • 7. ...but also the growing infrastructure and codebase
  • 8. Introducing Zend's Production Stack Zend has some development products: Zend Studio, Zend Guard, Zend Framework, PDT And also some run-time products: Zend Core Zend Platform Zend Engine :-) ...Together, these make the Zend Production Stack
  • 9. Introducing Zend's Production Stack Zend Core is Zend's certified and supported distribution of PHP Zend Platform is Zend's enterprise-grade runtime environment for PHP applications We think of it as a Web Application Server : Application-level monitoring Performance and scalability features Cluster-wide configuration management Integrated in a single product, certified, supported
  • 12. Application-level Monitoring Most monitoring systems concentrate on network, hardware and OS issues Zend Platform's PHP Intelligence monitors the execution of PHP scripts in your application A lightweight PHP extension will “listen” for problems like slow executions, errors, and inconsistent memory usage Alerts are displayed in a central GUI and can trigger predefined actions
  • 14. Root-cause analysis When an event is captured, it's context information is also saved GET, POST, Cookie, function data, backtrace, etc. This information allows the developer to quickly pinpoint the problem Integration with Zend Studio allows for instant debugging or profiling You can instantly reproduce the HTTP request that triggered the problem
  • 16. PHP Intelligence – Key benefits Get alerted on PHP issues as they happen throughout your production cluster Get alerted on problems which are not captured by error logs (slow executions, excess memory consumption, etc.) Dramatically reduce problem resolution time using instant debugging and root-cause analysis Allows you to stay on top of the ever-growing codebase complexity
  • 18. Comprehensive Performance The performance of a web application can be affected by many different factors, for example: Network load PHP processing time Web server load Database server load Application logic – task execution time Improving the performance of a web application requires a combination of different measures
  • 20. Comprehensive Performance Code Acceleration and Optimization
  • 22. Using the data caching API
  • 25. Setting up page caching rules
  • 30. Session Clustering – The Problem One of the key issues when scaling out, is sharing session data between cluster nodes Most load balancers will not provide 100% session affinity Shared storage tends to become a major bottleneck NFS: BAD performance, single point of failure Database: better, but still a bottleneck Distributes storage is better, but: Still doesn't provide fail-over persistence Scaling and managing the storage tends to become difficult
  • 36. Session Clustering – Key Benefits Linear scalability: add more web servers and you are done Different levels of fail-over persistence: Non-persistent memory storage Disk-based storage with delayed write or write-through High availability mode: Session replication on backup nodes Easy to set up and manage Good performance compared to alternative solutions Transparent to end-users and developers
  • 38. Job Queue – The Problem PHP's isolated, shared-nothing architecture does not allow for easy parallel execution One “job” must finish before the next one is executed There is no asynchronous execution Background processing of any kind requires a lot of “hacking”
  • 39. Job Queues - PHP In a Parallel Universe
  • 40. Job Queues – Key Features Jobs are PHP scripts executed in the background Jobs can be scheduled and managed through either: An API from within your PHP application From a centralized web GUI Allows for elaborate scheduling rules Provides job failure handling Provides monitoring and execution statistics Common Uses: order processing, transaction processing, mail submission, report generation, etc.
  • 41. Scheduling Jobs – From API or GUI
  • 42. Job Queues - Example
  • 43. Job Queues - Example
  • 44. Job Queues - Example
  • 45. Job Queues - Example
  • 46. Job Queues - Example
  • 47. Benchmark: Offloading e-mail submission Req / Sec # of subscribers Before Job Queue Offloading After Job Queue Offloading A quick benchmark of the changes above shows a dramatic improvement in the application's responsiveness, especially when the amount of subscribers grow.
  • 49. What Else? Unified management console Clustered configuration management Integration between features and with other products Installation, configuration and support services
  • 51. Thank You! Have additional questions? Look for me at the Zend booth ;) [email_address] http://zend.com/platform This presentation will be available later today at http://slideshare.net/shahar