SlideShare uma empresa Scribd logo
1 de 40
Building the perfect PHP app for the enterprise
Episode 3: Resolving
problems & high availability
Clark Everetts
September 28, 2016
2
Series overview
Now: Resolving problems and high availability
October 13: Optimizing performance (revised date)
Keep users on your site by learning how to use background jobs and caching,
measure performance, and make data-driven decisions.
Clark Everetts
Professional services
Rogue Wave Software
4
Agenda
1. How’s your reputation?
2. Monitoring: Know you have a problem
3. Fault diagnosis / Root cause analysis
4. Optimizing scale: Cluster management
5. Synchronizing session data
6. Conclusion
7. Q&A
How’s your
reputation?
6
The cost of a bad rep
Complexity
Scale
ROI
DIY
Ideal enterprise
Volume
scales
beyond
servers
Performance
degradation
Administrativ
e costs
Not so good reputation
• Page delays
• Application
downtime
Good reputation
• Responsive under load
• Application availability
Monitoring:
Know you have a
problem
8
Potential faults
“Issues are discussing, problems are for solving.”
- Me
Fatal
PHP errors
Out of memory
Failed database queries or
updates
Network connectivity
(no connection)
Application
Non-fatal
PHP notices, warnings
Slow functions or request
executions
High memory consumption
Network (degraded)
Application logic
9
The problem with problem resolution
• Most problem resolution time is spent identifying root cause
• Problem reproduction is often difficult and time-consuming
• Many possible sources: server load, input data, database state, etc.
10
Problem identification
• Do you know you have a problem?
– Your phone is ringing?
– Getting emails?
– Monitoring tools or services?
• Is a problem brewing that customers don’t see … yet?
Analyze
information
• Debugging
• Logging (files, events
database, application
level logs)
Recreate
problem
With enough relevant
information:
• Reproduce in order to
troubleshoot and verify a
fix
• Can we identify the
cause without having to
reproduce?
Gather
information
• What information can
you collect?
11
Monitoring for faults
• Scan log files (not manually!)
– Web server access and error logs
– PHP error log (php.log)
– Application-specific logs (filesystem, database)
• Don’t log noise
• Avoid logging to php.log
• ZendLog, Monolog, error_log()
• Event-based monitoring
– Recorded in event database, visible in UI, accessible via API
– Optional automatic notification via email alerts
– Optional callback URIs for integration with other monitoring tools
12
Monitoring events
13
Event rules
14
Sampling of event types
• Custom event
• Database error
• Function error
• High memory usage
• Inconsistent output size
• Job execution delay/error
• Job logical failure
• PHP error
• Slow function execution
• Slow query execution
• Slow request execution
• Zend Framework exception
15
Example
Results:
Users never experienced a problem
Development team solidified “trust factor” with management
Requirements:
Stale data is unusable data
“Soft” performance criteria
(user’s say when “good enough”)
Problem:
New feature of internal application
suffered slow performance due to
large database result sets from
complex queries.
Challenge:
Prior to rollout, isolate which queries
were experiencing the slowest
response times, make improvements,
& cache results if possible
Used:
Zend Server Monitoring,
IBM i DB2 index analyzer, and
Zend Server Data Cache
Poll #1
How do you discover problems in
your applications?
- Notified by a person (phone call, email, cubicle visit)
- Notified by an in-house automated tool
- Notified by commercial automated tool (Zend, New Relic)
Fault diagnosis /
Root cause analysis
18
Root cause analysis
• Log files
– Can both indicate a problem, and contain necessary diagnostics
• Monitoring tools may provide further info on:
– Failed function call arguments
– High memory consumption
– Etc.
• printf() and var_dump()
• Debuggers (Xdebug, Zend Debugger, phpdbg)
• Code tracing pinpoints in the request execution what triggered the
problem
• Z-Ray: request details right in the developer’s web browser (code trace-
like)
19
Event details
20
Debugging
Poll #2
What is your primary means of root
cause analysis?
- printf(), var_dump()
- Logging data to files
- Xdebug
- Zend debugger
- phpdbg
Optimizing scale:
Cluster management
23
What is a cluster?
24
Why cluster?
• Long-term demand is increasing
– Growing population of mobile devices
– Machine-to-machine traffic (bots, B2B, APIs) on the rise
• Demand is both predictable and unpredictable
– “The Witching Hour” and other periodic processing
spikes
• Resilience when failures occur
Clustering allows you to
• Adapt to changing demand
• Manage infrastructure costs
• Provide redundancy in the face of failures
25
Cluster overview
Requests
Responses
26
Cluster characteristics
• Nodes are the same
– Any node can do the same work as all others
– Same specs
• Operating system, installed software base
• Hardware (RAM, disk, etc.)
• Virtual machines
– Containerization and provisioning (Docker, Rocket, Puppet, Chef,
Ansible, SaltStack, Fabric, Capistrano, etc.)
Provides for:
• Scaling out/in as traffic increases/decreases
• Redundancy in the face of failures
Synchronizing
session data
28
Load balancing and sessions
Session Affinity
(Sticky Sessions)
29
Session clustering
30
Session clustering
31
Session clustering
32
Best practices
How do you know? • Monitoring
How do you diagnose?
• Log files
• Code tracing
• Z-Ray
How do you prevent? • Testing!
• Load balancing
• Clustering
How do you minimize downtime? • Support
Poll #3
How do you currently implement
high availability sessions in a
clustered environment?
- Central database (MySQL, PostgreSQL, Oracle, MariaDB)
- Memcached
- Redis
- Zend Server
- Other/We’re not clustered
34
Conclusion
• Reputation = f(reliability) + f(availability)
• Monitor for faults: know quickly when you have a problem
• Fault diagnosis is all about using the right tools
• Q: Scalability? A: Clustering!
• Sessions in clusters
Visit www.zend.com/en/resources/webinars for webinars
Visit devzone.zend.com for the Zend Developer Zone
Q & A
36
The fastest way to enterprise PHP
Free trial
www.zend.com
• Full, tested, secure PHP stack
• Z-Ray vision deep into your app
• Code tracing
• Job queuing and caching
• Deployment and DevOps
• High availability session clustering
• Backed by support & services
37
Series overview
October 13: Optimizing performance (revised date)
Keep users on your site by learning how to use background jobs and caching,
measure performance, and make data-driven decisions.
38
Don’t miss this premiere PHP event!
Register at zendcon.com
Visit with sponsors 90+ sessions in 6 tracks
39
Watch on demand
• Watch this webinar on demand
• Read the recap blog to see the results of the
polls and Q&A session
Building the perfect PHP app for the enterprise
Episode 3: Resolving
Problems & High Availability
Clark Everetts
September 28, 2016

Mais conteúdo relacionado

Mais procurados

Supporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixPerforce
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesPerforce
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsAchievers Tech
 
URP? Excuse You! The Three Kafka Metrics You Need to Know
URP? Excuse You! The Three Kafka Metrics You Need to KnowURP? Excuse You! The Three Kafka Metrics You Need to Know
URP? Excuse You! The Three Kafka Metrics You Need to KnowTodd Palino
 
Securing the Helix Platform at Citrix
Securing the Helix Platform at CitrixSecuring the Helix Platform at Citrix
Securing the Helix Platform at CitrixPerforce
 
From ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
From ClearCase to Perforce Helix: Breakthroughs in Scalability at IntelFrom ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
From ClearCase to Perforce Helix: Breakthroughs in Scalability at IntelPerforce
 
Performance metrics for a social network
Performance metrics for a social networkPerformance metrics for a social network
Performance metrics for a social networkThierry Schellenbach
 
Architecture Patterns - Open Discussion
Architecture Patterns - Open DiscussionArchitecture Patterns - Open Discussion
Architecture Patterns - Open DiscussionNguyen Tung
 
Global Software Development powered by Perforce
Global Software Development powered by PerforceGlobal Software Development powered by Perforce
Global Software Development powered by PerforcePerforce
 
Architecting for Failures in micro services: patterns and lessons learned
Architecting for Failures in micro services: patterns and lessons learnedArchitecting for Failures in micro services: patterns and lessons learned
Architecting for Failures in micro services: patterns and lessons learnedBhakti Mehta
 
Scaling Confluence Architecture: A Sneak Peek Under the Hood
Scaling Confluence Architecture: A Sneak Peek Under the HoodScaling Confluence Architecture: A Sneak Peek Under the Hood
Scaling Confluence Architecture: A Sneak Peek Under the HoodBhakti Mehta
 
PMIx Tiered Storage Support
PMIx Tiered Storage SupportPMIx Tiered Storage Support
PMIx Tiered Storage Supportrcastain
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web ApplicationsDavid Mitzenmacher
 
Software Testing in a Distributed Environment
Software Testing in a Distributed EnvironmentSoftware Testing in a Distributed Environment
Software Testing in a Distributed EnvironmentPerforce
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...Heiko Voigt
 
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce
 
Community day 2013 applied architectures
Community day 2013   applied architecturesCommunity day 2013   applied architectures
Community day 2013 applied architecturesPanagiotis Kefalidis
 

Mais procurados (20)

Supporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce Helix
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse Branches
 
Life in the Fast Lane: Full Speed XPages!, #dd13
Life in the Fast Lane: Full Speed XPages!, #dd13Life in the Fast Lane: Full Speed XPages!, #dd13
Life in the Fast Lane: Full Speed XPages!, #dd13
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web Applications
 
URP? Excuse You! The Three Kafka Metrics You Need to Know
URP? Excuse You! The Three Kafka Metrics You Need to KnowURP? Excuse You! The Three Kafka Metrics You Need to Know
URP? Excuse You! The Three Kafka Metrics You Need to Know
 
Securing the Helix Platform at Citrix
Securing the Helix Platform at CitrixSecuring the Helix Platform at Citrix
Securing the Helix Platform at Citrix
 
From ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
From ClearCase to Perforce Helix: Breakthroughs in Scalability at IntelFrom ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
From ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
 
Performance metrics for a social network
Performance metrics for a social networkPerformance metrics for a social network
Performance metrics for a social network
 
Architecture Patterns - Open Discussion
Architecture Patterns - Open DiscussionArchitecture Patterns - Open Discussion
Architecture Patterns - Open Discussion
 
Fashiolista
FashiolistaFashiolista
Fashiolista
 
Global Software Development powered by Perforce
Global Software Development powered by PerforceGlobal Software Development powered by Perforce
Global Software Development powered by Perforce
 
Architecting for Failures in micro services: patterns and lessons learned
Architecting for Failures in micro services: patterns and lessons learnedArchitecting for Failures in micro services: patterns and lessons learned
Architecting for Failures in micro services: patterns and lessons learned
 
Scaling Confluence Architecture: A Sneak Peek Under the Hood
Scaling Confluence Architecture: A Sneak Peek Under the HoodScaling Confluence Architecture: A Sneak Peek Under the Hood
Scaling Confluence Architecture: A Sneak Peek Under the Hood
 
PMIx Tiered Storage Support
PMIx Tiered Storage SupportPMIx Tiered Storage Support
PMIx Tiered Storage Support
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications
 
Devoxx2017
Devoxx2017Devoxx2017
Devoxx2017
 
Software Testing in a Distributed Environment
Software Testing in a Distributed EnvironmentSoftware Testing in a Distributed Environment
Software Testing in a Distributed Environment
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
 
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
 
Community day 2013 applied architectures
Community day 2013   applied architecturesCommunity day 2013   applied architectures
Community day 2013 applied architectures
 

Destaque

Sermon For Kids - One Way
Sermon For Kids - One WaySermon For Kids - One Way
Sermon For Kids - One WayKen Sapp
 
Recommendation letter - Porto Bay Rio
Recommendation letter - Porto Bay RioRecommendation letter - Porto Bay Rio
Recommendation letter - Porto Bay RioCarmen Rão Vieira
 
Attestation Renault SSI
Attestation Renault SSIAttestation Renault SSI
Attestation Renault SSIRémi BANERAS
 
Basic Law Enforcement
Basic Law EnforcementBasic Law Enforcement
Basic Law EnforcementDavid Nellis
 
Special report by epic research 14 september 2016
Special report by epic research 14 september 2016Special report by epic research 14 september 2016
Special report by epic research 14 september 2016Epic Research
 
Charles Plumb by Michelle Proaño
Charles Plumb by Michelle ProañoCharles Plumb by Michelle Proaño
Charles Plumb by Michelle ProañoMICHELLEPROA
 
Iemi Ebm Itrain D
Iemi Ebm Itrain DIemi Ebm Itrain D
Iemi Ebm Itrain Dcreadel
 
Providing_Evidencebased_Oral_Health_Care_to_Individuals_Diagnosed_with_Degene...
Providing_Evidencebased_Oral_Health_Care_to_Individuals_Diagnosed_with_Degene...Providing_Evidencebased_Oral_Health_Care_to_Individuals_Diagnosed_with_Degene...
Providing_Evidencebased_Oral_Health_Care_to_Individuals_Diagnosed_with_Degene...Andrea Walker
 
The Answer Book for Sellers
The Answer Book for SellersThe Answer Book for Sellers
The Answer Book for SellersGreg Babayans
 
Aparato reproductor
Aparato reproductorAparato reproductor
Aparato reproductorrosdayanaa
 
Sermon For Kids - Faithfulness to God
Sermon For Kids - Faithfulness to GodSermon For Kids - Faithfulness to God
Sermon For Kids - Faithfulness to GodKen Sapp
 
Evaluation of designing information literacy for heath professionals in the U...
Evaluation of designing information literacy for heath professionals in the U...Evaluation of designing information literacy for heath professionals in the U...
Evaluation of designing information literacy for heath professionals in the U...Muharrem Yilmaz
 
chỗ nào làm phim quảng cáo nhanh nhất
chỗ nào làm phim quảng cáo nhanh nhấtchỗ nào làm phim quảng cáo nhanh nhất
chỗ nào làm phim quảng cáo nhanh nhấtkerry193
 

Destaque (15)

Sermon For Kids - One Way
Sermon For Kids - One WaySermon For Kids - One Way
Sermon For Kids - One Way
 
Recommendation letter - Porto Bay Rio
Recommendation letter - Porto Bay RioRecommendation letter - Porto Bay Rio
Recommendation letter - Porto Bay Rio
 
Attestation Renault SSI
Attestation Renault SSIAttestation Renault SSI
Attestation Renault SSI
 
Basic Law Enforcement
Basic Law EnforcementBasic Law Enforcement
Basic Law Enforcement
 
EA Diagrams
EA DiagramsEA Diagrams
EA Diagrams
 
Special report by epic research 14 september 2016
Special report by epic research 14 september 2016Special report by epic research 14 september 2016
Special report by epic research 14 september 2016
 
Charles Plumb by Michelle Proaño
Charles Plumb by Michelle ProañoCharles Plumb by Michelle Proaño
Charles Plumb by Michelle Proaño
 
Iemi Ebm Itrain D
Iemi Ebm Itrain DIemi Ebm Itrain D
Iemi Ebm Itrain D
 
Providing_Evidencebased_Oral_Health_Care_to_Individuals_Diagnosed_with_Degene...
Providing_Evidencebased_Oral_Health_Care_to_Individuals_Diagnosed_with_Degene...Providing_Evidencebased_Oral_Health_Care_to_Individuals_Diagnosed_with_Degene...
Providing_Evidencebased_Oral_Health_Care_to_Individuals_Diagnosed_with_Degene...
 
The Answer Book for Sellers
The Answer Book for SellersThe Answer Book for Sellers
The Answer Book for Sellers
 
Aparato reproductor
Aparato reproductorAparato reproductor
Aparato reproductor
 
Sermon For Kids - Faithfulness to God
Sermon For Kids - Faithfulness to GodSermon For Kids - Faithfulness to God
Sermon For Kids - Faithfulness to God
 
Evaluation of designing information literacy for heath professionals in the U...
Evaluation of designing information literacy for heath professionals in the U...Evaluation of designing information literacy for heath professionals in the U...
Evaluation of designing information literacy for heath professionals in the U...
 
Technik budownictwa
Technik budownictwaTechnik budownictwa
Technik budownictwa
 
chỗ nào làm phim quảng cáo nhanh nhất
chỗ nào làm phim quảng cáo nhanh nhấtchỗ nào làm phim quảng cáo nhanh nhất
chỗ nào làm phim quảng cáo nhanh nhất
 

Semelhante a Resolving problems & high availability

Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDogRedis Labs
 
Performance Testing
Performance TestingPerformance Testing
Performance TestingAnu Shaji
 
Graphing for Security
Graphing for SecurityGraphing for Security
Graphing for Securitymr_secure
 
Server and application monitoring webinars [Applications Manager]: Part 1
Server and application monitoring webinars [Applications Manager]: Part 1Server and application monitoring webinars [Applications Manager]: Part 1
Server and application monitoring webinars [Applications Manager]: Part 1ManageEngine, Zoho Corporation
 
JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31 JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31 Omnilogy
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Prolifics
 
Webinar on Functional Safety Analysis using Model-based System Analysis
Webinar on Functional Safety Analysis using Model-based System AnalysisWebinar on Functional Safety Analysis using Model-based System Analysis
Webinar on Functional Safety Analysis using Model-based System AnalysisDeepak Shankar
 
Server and application monitoring webinars [Applications Manager] - Part 2
Server and application monitoring webinars [Applications Manager] - Part 2Server and application monitoring webinars [Applications Manager] - Part 2
Server and application monitoring webinars [Applications Manager] - Part 2ManageEngine, Zoho Corporation
 
Online Examination System in .NET & DB2
Online Examination System in .NET & DB2Online Examination System in .NET & DB2
Online Examination System in .NET & DB2Abhay Ananda Shukla
 
Building data intensive applications
Building data intensive applicationsBuilding data intensive applications
Building data intensive applicationsAmit Kejriwal
 
Building a data pipeline to ingest data into Hadoop in minutes using Streamse...
Building a data pipeline to ingest data into Hadoop in minutes using Streamse...Building a data pipeline to ingest data into Hadoop in minutes using Streamse...
Building a data pipeline to ingest data into Hadoop in minutes using Streamse...Guglielmo Iozzia
 
Server Monitoring (Scaling while bootstrapped)
Server Monitoring  (Scaling while bootstrapped)Server Monitoring  (Scaling while bootstrapped)
Server Monitoring (Scaling while bootstrapped)Ajibola Aiyedogbon
 
Debugging the Web with Fiddler
Debugging the Web with FiddlerDebugging the Web with Fiddler
Debugging the Web with FiddlerIdo Flatow
 
Denver devops : enabling DevOps with data virtualization
Denver devops : enabling DevOps with data virtualizationDenver devops : enabling DevOps with data virtualization
Denver devops : enabling DevOps with data virtualizationKyle Hailey
 
Scaling PHP Applications with Zend Platform
Scaling PHP Applications with Zend PlatformScaling PHP Applications with Zend Platform
Scaling PHP Applications with Zend PlatformShahar Evron
 
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorksPerformance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorksThoughtworks
 
Presentacion day f-core v1.2.1.2-technical - english
Presentacion day f-core v1.2.1.2-technical - englishPresentacion day f-core v1.2.1.2-technical - english
Presentacion day f-core v1.2.1.2-technical - englishJose Luis Sanchez del Coso
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Dakiry
 

Semelhante a Resolving problems & high availability (20)

Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Graphing for Security
Graphing for SecurityGraphing for Security
Graphing for Security
 
ADF Performance Monitor
ADF Performance MonitorADF Performance Monitor
ADF Performance Monitor
 
Server and application monitoring webinars [Applications Manager]: Part 1
Server and application monitoring webinars [Applications Manager]: Part 1Server and application monitoring webinars [Applications Manager]: Part 1
Server and application monitoring webinars [Applications Manager]: Part 1
 
JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31 JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
 
Webinar on Functional Safety Analysis using Model-based System Analysis
Webinar on Functional Safety Analysis using Model-based System AnalysisWebinar on Functional Safety Analysis using Model-based System Analysis
Webinar on Functional Safety Analysis using Model-based System Analysis
 
Server and application monitoring webinars [Applications Manager] - Part 2
Server and application monitoring webinars [Applications Manager] - Part 2Server and application monitoring webinars [Applications Manager] - Part 2
Server and application monitoring webinars [Applications Manager] - Part 2
 
Online Examination System in .NET & DB2
Online Examination System in .NET & DB2Online Examination System in .NET & DB2
Online Examination System in .NET & DB2
 
Building data intensive applications
Building data intensive applicationsBuilding data intensive applications
Building data intensive applications
 
Building a data pipeline to ingest data into Hadoop in minutes using Streamse...
Building a data pipeline to ingest data into Hadoop in minutes using Streamse...Building a data pipeline to ingest data into Hadoop in minutes using Streamse...
Building a data pipeline to ingest data into Hadoop in minutes using Streamse...
 
Server Monitoring (Scaling while bootstrapped)
Server Monitoring  (Scaling while bootstrapped)Server Monitoring  (Scaling while bootstrapped)
Server Monitoring (Scaling while bootstrapped)
 
Debugging the Web with Fiddler
Debugging the Web with FiddlerDebugging the Web with Fiddler
Debugging the Web with Fiddler
 
Denver devops : enabling DevOps with data virtualization
Denver devops : enabling DevOps with data virtualizationDenver devops : enabling DevOps with data virtualization
Denver devops : enabling DevOps with data virtualization
 
Database part1-
Database part1-Database part1-
Database part1-
 
Scaling PHP Applications with Zend Platform
Scaling PHP Applications with Zend PlatformScaling PHP Applications with Zend Platform
Scaling PHP Applications with Zend Platform
 
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorksPerformance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
 
Presentacion day f-core v1.2.1.2-technical - english
Presentacion day f-core v1.2.1.2-technical - englishPresentacion day f-core v1.2.1.2-technical - english
Presentacion day f-core v1.2.1.2-technical - english
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
 

Mais de Zend by Rogue Wave Software

Building and managing applications fast for IBM i
Building and managing applications fast for IBM iBuilding and managing applications fast for IBM i
Building and managing applications fast for IBM iZend by Rogue Wave Software
 
Speed up web APIs with Expressive and Swoole (PHP Day 2018)
Speed up web APIs with Expressive and Swoole (PHP Day 2018) Speed up web APIs with Expressive and Swoole (PHP Day 2018)
Speed up web APIs with Expressive and Swoole (PHP Day 2018) Zend by Rogue Wave Software
 
The Sodium crypto library of PHP 7.2 (PHP Day 2018)
The Sodium crypto library of PHP 7.2 (PHP Day 2018)The Sodium crypto library of PHP 7.2 (PHP Day 2018)
The Sodium crypto library of PHP 7.2 (PHP Day 2018)Zend by Rogue Wave Software
 
Develop web APIs in PHP using middleware with Expressive (Code Europe)
Develop web APIs in PHP using middleware with Expressive (Code Europe)Develop web APIs in PHP using middleware with Expressive (Code Europe)
Develop web APIs in PHP using middleware with Expressive (Code Europe)Zend by Rogue Wave Software
 
Standard CMS on standard PHP Stack - Drupal and Zend Server
Standard CMS on standard PHP Stack - Drupal and Zend ServerStandard CMS on standard PHP Stack - Drupal and Zend Server
Standard CMS on standard PHP Stack - Drupal and Zend ServerZend by Rogue Wave Software
 

Mais de Zend by Rogue Wave Software (20)

Develop microservices in php
Develop microservices in phpDevelop microservices in php
Develop microservices in php
 
Speed and security for your PHP application
Speed and security for your PHP applicationSpeed and security for your PHP application
Speed and security for your PHP application
 
Building and managing applications fast for IBM i
Building and managing applications fast for IBM iBuilding and managing applications fast for IBM i
Building and managing applications fast for IBM i
 
Building web APIs in PHP with Zend Expressive
Building web APIs in PHP with Zend ExpressiveBuilding web APIs in PHP with Zend Expressive
Building web APIs in PHP with Zend Expressive
 
To PHP 7 and beyond
To PHP 7 and beyondTo PHP 7 and beyond
To PHP 7 and beyond
 
Speed up web APIs with Expressive and Swoole (PHP Day 2018)
Speed up web APIs with Expressive and Swoole (PHP Day 2018) Speed up web APIs with Expressive and Swoole (PHP Day 2018)
Speed up web APIs with Expressive and Swoole (PHP Day 2018)
 
The Sodium crypto library of PHP 7.2 (PHP Day 2018)
The Sodium crypto library of PHP 7.2 (PHP Day 2018)The Sodium crypto library of PHP 7.2 (PHP Day 2018)
The Sodium crypto library of PHP 7.2 (PHP Day 2018)
 
Develop web APIs in PHP using middleware with Expressive (Code Europe)
Develop web APIs in PHP using middleware with Expressive (Code Europe)Develop web APIs in PHP using middleware with Expressive (Code Europe)
Develop web APIs in PHP using middleware with Expressive (Code Europe)
 
Middleware web APIs in PHP 7.x
Middleware web APIs in PHP 7.xMiddleware web APIs in PHP 7.x
Middleware web APIs in PHP 7.x
 
Ongoing management of your PHP 7 application
Ongoing management of your PHP 7 applicationOngoing management of your PHP 7 application
Ongoing management of your PHP 7 application
 
Developing web APIs using middleware in PHP 7
Developing web APIs using middleware in PHP 7Developing web APIs using middleware in PHP 7
Developing web APIs using middleware in PHP 7
 
The Docker development template for PHP
The Docker development template for PHPThe Docker development template for PHP
The Docker development template for PHP
 
The most exciting features of PHP 7.1
The most exciting features of PHP 7.1The most exciting features of PHP 7.1
The most exciting features of PHP 7.1
 
Unit testing for project managers
Unit testing for project managersUnit testing for project managers
Unit testing for project managers
 
The new features of PHP 7
The new features of PHP 7The new features of PHP 7
The new features of PHP 7
 
Data is dead. Long live data!
Data is dead. Long live data! Data is dead. Long live data!
Data is dead. Long live data!
 
Developing apps faster
Developing apps fasterDeveloping apps faster
Developing apps faster
 
Getting started with PHP on IBM i
Getting started with PHP on IBM iGetting started with PHP on IBM i
Getting started with PHP on IBM i
 
Continuous Delivery e-book
Continuous Delivery e-bookContinuous Delivery e-book
Continuous Delivery e-book
 
Standard CMS on standard PHP Stack - Drupal and Zend Server
Standard CMS on standard PHP Stack - Drupal and Zend ServerStandard CMS on standard PHP Stack - Drupal and Zend Server
Standard CMS on standard PHP Stack - Drupal and Zend Server
 

Último

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 

Último (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 

Resolving problems & high availability

  • 1. Building the perfect PHP app for the enterprise Episode 3: Resolving problems & high availability Clark Everetts September 28, 2016
  • 2. 2 Series overview Now: Resolving problems and high availability October 13: Optimizing performance (revised date) Keep users on your site by learning how to use background jobs and caching, measure performance, and make data-driven decisions.
  • 4. 4 Agenda 1. How’s your reputation? 2. Monitoring: Know you have a problem 3. Fault diagnosis / Root cause analysis 4. Optimizing scale: Cluster management 5. Synchronizing session data 6. Conclusion 7. Q&A
  • 6. 6 The cost of a bad rep Complexity Scale ROI DIY Ideal enterprise Volume scales beyond servers Performance degradation Administrativ e costs Not so good reputation • Page delays • Application downtime Good reputation • Responsive under load • Application availability
  • 8. 8 Potential faults “Issues are discussing, problems are for solving.” - Me Fatal PHP errors Out of memory Failed database queries or updates Network connectivity (no connection) Application Non-fatal PHP notices, warnings Slow functions or request executions High memory consumption Network (degraded) Application logic
  • 9. 9 The problem with problem resolution • Most problem resolution time is spent identifying root cause • Problem reproduction is often difficult and time-consuming • Many possible sources: server load, input data, database state, etc.
  • 10. 10 Problem identification • Do you know you have a problem? – Your phone is ringing? – Getting emails? – Monitoring tools or services? • Is a problem brewing that customers don’t see … yet? Analyze information • Debugging • Logging (files, events database, application level logs) Recreate problem With enough relevant information: • Reproduce in order to troubleshoot and verify a fix • Can we identify the cause without having to reproduce? Gather information • What information can you collect?
  • 11. 11 Monitoring for faults • Scan log files (not manually!) – Web server access and error logs – PHP error log (php.log) – Application-specific logs (filesystem, database) • Don’t log noise • Avoid logging to php.log • ZendLog, Monolog, error_log() • Event-based monitoring – Recorded in event database, visible in UI, accessible via API – Optional automatic notification via email alerts – Optional callback URIs for integration with other monitoring tools
  • 14. 14 Sampling of event types • Custom event • Database error • Function error • High memory usage • Inconsistent output size • Job execution delay/error • Job logical failure • PHP error • Slow function execution • Slow query execution • Slow request execution • Zend Framework exception
  • 15. 15 Example Results: Users never experienced a problem Development team solidified “trust factor” with management Requirements: Stale data is unusable data “Soft” performance criteria (user’s say when “good enough”) Problem: New feature of internal application suffered slow performance due to large database result sets from complex queries. Challenge: Prior to rollout, isolate which queries were experiencing the slowest response times, make improvements, & cache results if possible Used: Zend Server Monitoring, IBM i DB2 index analyzer, and Zend Server Data Cache
  • 16. Poll #1 How do you discover problems in your applications? - Notified by a person (phone call, email, cubicle visit) - Notified by an in-house automated tool - Notified by commercial automated tool (Zend, New Relic)
  • 17. Fault diagnosis / Root cause analysis
  • 18. 18 Root cause analysis • Log files – Can both indicate a problem, and contain necessary diagnostics • Monitoring tools may provide further info on: – Failed function call arguments – High memory consumption – Etc. • printf() and var_dump() • Debuggers (Xdebug, Zend Debugger, phpdbg) • Code tracing pinpoints in the request execution what triggered the problem • Z-Ray: request details right in the developer’s web browser (code trace- like)
  • 21. Poll #2 What is your primary means of root cause analysis? - printf(), var_dump() - Logging data to files - Xdebug - Zend debugger - phpdbg
  • 23. 23 What is a cluster?
  • 24. 24 Why cluster? • Long-term demand is increasing – Growing population of mobile devices – Machine-to-machine traffic (bots, B2B, APIs) on the rise • Demand is both predictable and unpredictable – “The Witching Hour” and other periodic processing spikes • Resilience when failures occur Clustering allows you to • Adapt to changing demand • Manage infrastructure costs • Provide redundancy in the face of failures
  • 26. 26 Cluster characteristics • Nodes are the same – Any node can do the same work as all others – Same specs • Operating system, installed software base • Hardware (RAM, disk, etc.) • Virtual machines – Containerization and provisioning (Docker, Rocket, Puppet, Chef, Ansible, SaltStack, Fabric, Capistrano, etc.) Provides for: • Scaling out/in as traffic increases/decreases • Redundancy in the face of failures
  • 28. 28 Load balancing and sessions Session Affinity (Sticky Sessions)
  • 32. 32 Best practices How do you know? • Monitoring How do you diagnose? • Log files • Code tracing • Z-Ray How do you prevent? • Testing! • Load balancing • Clustering How do you minimize downtime? • Support
  • 33. Poll #3 How do you currently implement high availability sessions in a clustered environment? - Central database (MySQL, PostgreSQL, Oracle, MariaDB) - Memcached - Redis - Zend Server - Other/We’re not clustered
  • 34. 34 Conclusion • Reputation = f(reliability) + f(availability) • Monitor for faults: know quickly when you have a problem • Fault diagnosis is all about using the right tools • Q: Scalability? A: Clustering! • Sessions in clusters Visit www.zend.com/en/resources/webinars for webinars Visit devzone.zend.com for the Zend Developer Zone
  • 35. Q & A
  • 36. 36 The fastest way to enterprise PHP Free trial www.zend.com • Full, tested, secure PHP stack • Z-Ray vision deep into your app • Code tracing • Job queuing and caching • Deployment and DevOps • High availability session clustering • Backed by support & services
  • 37. 37 Series overview October 13: Optimizing performance (revised date) Keep users on your site by learning how to use background jobs and caching, measure performance, and make data-driven decisions.
  • 38. 38 Don’t miss this premiere PHP event! Register at zendcon.com Visit with sponsors 90+ sessions in 6 tracks
  • 39. 39 Watch on demand • Watch this webinar on demand • Read the recap blog to see the results of the polls and Q&A session
  • 40. Building the perfect PHP app for the enterprise Episode 3: Resolving Problems & High Availability Clark Everetts September 28, 2016