SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Tales from the WebLogic Front Line(What NOT to do with WebLogic) Steve Millidge C2B2 Consulting Limited
Agenda Health Warning Setting the Scene Common Anti-patterns Ain’t misbehaving This could kill
C2B2 Consulting Fast Performance and Scalability Reliable High Availability and Recoverability Manageable Monitoring and Supporting Secure Security
First Day At Work
It’s All Gone to *#*@!
Meet the Project Manager
Philosophy Don’t Panic you didn’t #@#@ it up. Suspect Configuration  over Coding Suspect bespoke code over WebLogic code WebLogic is FAST Computers are Logical and Rational
Common Anti-patterns
Too Many Datasources
Too Many Datasources Data Source per Component All to the Same Database JNDI Name per Component C1 C1 C1 DS1 DS1 DS1 Oracle
Why It’s Bad Requires XA for all Datasources Developers receive strange “XA” exception Untick Honour Global Transactions Makes Exception “go away” Datasources now in autocommit DATA CORRUPTION!! Requires more DB connections BIND same Datasource to multiple JNDI locations
Inadvertent TX Coupling
Inadvertent TX Coupling WLS 1 WLS 2 EJB 1 REQUIRED Invoke EJB 2 REQUIRED Oracle 1 Oracle 2
Why It’s BAD Results in “Strange Exceptions” if not All XA Is the REALLY what you want XA is very heavyweight And not guaranteed XA requires particular database configuration You have 4 minimum XA resources to coordinate Fix using REQUIRES NEW
Clustering is TOO Heavy
WLS Cluster WLS Session Clustering WLS 1 WLS 2 WLS 3 WLS 4 1 2 Don’t Use the Session as a Cache USE A CACHE
Too Much logging
Too Much Logging Too Synchronized New Application 30% Slower Tx Timeouts High CPU Many Threads waiting on Logging Monitor Debug turned on, on one node In Memory Buffer Each Thread Logged to in memory queue Writer thread writes messages to file Under heavy load memory queues grew unbounded 1.5Gb heap in log messages
Ain’tMisbehavin’
Session Shenanigans Serialization Session Attributes must be Serializable See this one all the time No Failover!!! Working as per Spec No Put You must Put dirtied objects back in the Session Don’t Get modify then no Put No Failover!!! Working as per Spec
Exceptions and TX What happens to the TX when you throw an Exception from an EJB method? Application ExceptionCommit System ExceptionRollback
Poisoned JMS
Poisoned JMS Eats CPU Prevents Delivery Kills Server Performance JMS Q RepeatForever Set Redeliver Delay Set Redelivery Limit Set Error Destination Exception
Poisoned JMS (Paging) WLS Keeps Messages in Memory Causes OutOfMemory Exceptions Configure Paging Thresholds  Configure at JMS Server level
This Can Kill You
Too Much RAM -XMS2G –XMX2G 32 bit Can be Too Much O/S Reserves RAM VM Starts up When you need it! HOTSPOT DUMP
Node Manager Configuration Not Good Out of the Box Auto Kill If Failed = TRUE Auto Restart = TRUE Restart Delay should be set Restart Max should be set Set Panic Action to System.exit
Disappearing Datasource Start WebLogic when DB not Available Datasource is not created Connection Creation Retry Frequency Seconds should be non-zero
Summary Production Configuration is Complex Call in the Professionals
Example Bullet Slide Bullet 1

Weitere ähnliche Inhalte

Andere mochten auch

Monitoring And Tuning Glass Fish In The Wild Community One 2009
Monitoring And Tuning Glass Fish In The Wild   Community One 2009Monitoring And Tuning Glass Fish In The Wild   Community One 2009
Monitoring And Tuning Glass Fish In The Wild Community One 2009SteveMillidge
 
Jsr286 Uor Portlet Workshop
Jsr286   Uor Portlet WorkshopJsr286   Uor Portlet Workshop
Jsr286 Uor Portlet WorkshopSteveMillidge
 
Webform Server 351 Architecture and Overview
Webform Server 351 Architecture and OverviewWebform Server 351 Architecture and Overview
Webform Server 351 Architecture and Overviewddrschiw
 
Developing JSR 286 Portlets
Developing JSR 286 PortletsDeveloping JSR 286 Portlets
Developing JSR 286 PortletsCris Holdorph
 
Portlet Framework: the Liferay way
Portlet Framework: the Liferay wayPortlet Framework: the Liferay way
Portlet Framework: the Liferay wayriround
 
Java Portlet 2.0 (JSR 286) Specification
Java Portlet 2.0 (JSR 286) SpecificationJava Portlet 2.0 (JSR 286) Specification
Java Portlet 2.0 (JSR 286) SpecificationJohn Lewis
 
Portal application development using Websphere Portlet Factory
Portal application development using Websphere Portlet FactoryPortal application development using Websphere Portlet Factory
Portal application development using Websphere Portlet FactoryDacartec Servicios Informáticos
 
On the road of multi tenancy portal - Apereo 2016
On the road of multi tenancy portal - Apereo 2016 On the road of multi tenancy portal - Apereo 2016
On the road of multi tenancy portal - Apereo 2016 Christian Cousquer
 
Introduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay PortalIntroduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay Portalrivetlogic
 
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM Alfresco Software
 
Java Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsJava Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsBG Java EE Course
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?Edward Burns
 
Finally, EE Security API JSR 375
Finally, EE Security API JSR 375Finally, EE Security API JSR 375
Finally, EE Security API JSR 375Alex Kosowski
 
What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)Pavel Bucek
 
Moved to https://slidr.io/azzazzel/what-is-a-portal
Moved to https://slidr.io/azzazzel/what-is-a-portalMoved to https://slidr.io/azzazzel/what-is-a-portal
Moved to https://slidr.io/azzazzel/what-is-a-portalMilen Dyankov
 
Liferay architecture By Navin Agarwal
Liferay architecture By Navin AgarwalLiferay architecture By Navin Agarwal
Liferay architecture By Navin AgarwalNavin Agarwal
 

Andere mochten auch (17)

Monitoring And Tuning Glass Fish In The Wild Community One 2009
Monitoring And Tuning Glass Fish In The Wild   Community One 2009Monitoring And Tuning Glass Fish In The Wild   Community One 2009
Monitoring And Tuning Glass Fish In The Wild Community One 2009
 
Jsr286 Uor Portlet Workshop
Jsr286   Uor Portlet WorkshopJsr286   Uor Portlet Workshop
Jsr286 Uor Portlet Workshop
 
Webform Server 351 Architecture and Overview
Webform Server 351 Architecture and OverviewWebform Server 351 Architecture and Overview
Webform Server 351 Architecture and Overview
 
Developing JSR 286 Portlets
Developing JSR 286 PortletsDeveloping JSR 286 Portlets
Developing JSR 286 Portlets
 
Portlet Framework: the Liferay way
Portlet Framework: the Liferay wayPortlet Framework: the Liferay way
Portlet Framework: the Liferay way
 
Portlets 2.0 JSR286
Portlets 2.0 JSR286Portlets 2.0 JSR286
Portlets 2.0 JSR286
 
Java Portlet 2.0 (JSR 286) Specification
Java Portlet 2.0 (JSR 286) SpecificationJava Portlet 2.0 (JSR 286) Specification
Java Portlet 2.0 (JSR 286) Specification
 
Portal application development using Websphere Portlet Factory
Portal application development using Websphere Portlet FactoryPortal application development using Websphere Portlet Factory
Portal application development using Websphere Portlet Factory
 
On the road of multi tenancy portal - Apereo 2016
On the road of multi tenancy portal - Apereo 2016 On the road of multi tenancy portal - Apereo 2016
On the road of multi tenancy portal - Apereo 2016
 
Introduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay PortalIntroduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay Portal
 
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
 
Java Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsJava Server Faces (JSF) - Basics
Java Server Faces (JSF) - Basics
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?
 
Finally, EE Security API JSR 375
Finally, EE Security API JSR 375Finally, EE Security API JSR 375
Finally, EE Security API JSR 375
 
What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)
 
Moved to https://slidr.io/azzazzel/what-is-a-portal
Moved to https://slidr.io/azzazzel/what-is-a-portalMoved to https://slidr.io/azzazzel/what-is-a-portal
Moved to https://slidr.io/azzazzel/what-is-a-portal
 
Liferay architecture By Navin Agarwal
Liferay architecture By Navin AgarwalLiferay architecture By Navin Agarwal
Liferay architecture By Navin Agarwal
 

Ähnlich wie Tales from the WebLogic Frontline

Locking and Race Conditions in Web Applications
Locking and Race Conditions in Web ApplicationsLocking and Race Conditions in Web Applications
Locking and Race Conditions in Web ApplicationsAndrew Kandels
 
Large Scale Migration from WebLogic to JBoss
Large Scale Migration from WebLogic to JBossLarge Scale Migration from WebLogic to JBoss
Large Scale Migration from WebLogic to JBossC2B2 Consulting
 
Real World Single Page App - A Knockout Case Study
Real World Single Page App - A Knockout Case StudyReal World Single Page App - A Knockout Case Study
Real World Single Page App - A Knockout Case Studyhousecor
 
Clustered Architecture Patterns Delivering Scalability And Availability
Clustered Architecture Patterns Delivering Scalability And AvailabilityClustered Architecture Patterns Delivering Scalability And Availability
Clustered Architecture Patterns Delivering Scalability And AvailabilityConSanFrancisco123
 
Sql 2012 always on
Sql 2012 always onSql 2012 always on
Sql 2012 always ondilip nayak
 
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...Jeffrey West
 
MySQL HA with PaceMaker
MySQL HA with  PaceMakerMySQL HA with  PaceMaker
MySQL HA with PaceMakerKris Buytaert
 
Java one 2015 [con3339]
Java one 2015 [con3339]Java one 2015 [con3339]
Java one 2015 [con3339]Arshal Ameen
 
MySQL HA Alternatives 2010
MySQL  HA  Alternatives 2010MySQL  HA  Alternatives 2010
MySQL HA Alternatives 2010Kris Buytaert
 
GOTO Night with Todd Montgomery: Aeron: What, why and what next?
GOTO Night with Todd Montgomery: Aeron: What, why and what next?GOTO Night with Todd Montgomery: Aeron: What, why and what next?
GOTO Night with Todd Montgomery: Aeron: What, why and what next?Alexandra Masterson
 
Medium Trust for Umbraco
Medium Trust for UmbracoMedium Trust for Umbraco
Medium Trust for UmbracoWarren Buckley
 
VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012Eonblast
 
download it from here
download it from heredownload it from here
download it from herewebhostingguy
 
We're going on a bug hunt! Experts Talk Manchester 2018
We're going on a bug hunt! Experts Talk Manchester 2018We're going on a bug hunt! Experts Talk Manchester 2018
We're going on a bug hunt! Experts Talk Manchester 2018GeraldBenischke
 
ExpertTalks Manchester September 2018
ExpertTalks Manchester September 2018ExpertTalks Manchester September 2018
ExpertTalks Manchester September 2018Tessa Ledwith
 
Db As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
Db As Behaving Badly... Worst Practices For Database Administrators Rod ColledgeDb As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
Db As Behaving Badly... Worst Practices For Database Administrators Rod Colledgesqlserver.co.il
 
Ceph - High Performance Without High Costs
Ceph - High Performance Without High CostsCeph - High Performance Without High Costs
Ceph - High Performance Without High CostsJonathan Long
 
Apache Kafka – (Pattern and) Anti-Pattern
Apache Kafka – (Pattern and) Anti-PatternApache Kafka – (Pattern and) Anti-Pattern
Apache Kafka – (Pattern and) Anti-Patternconfluent
 
Perfomance tuning on Go 2.0
Perfomance tuning on Go 2.0Perfomance tuning on Go 2.0
Perfomance tuning on Go 2.0Yogi Kulkarni
 

Ähnlich wie Tales from the WebLogic Frontline (20)

Locking and Race Conditions in Web Applications
Locking and Race Conditions in Web ApplicationsLocking and Race Conditions in Web Applications
Locking and Race Conditions in Web Applications
 
Large Scale Migration from WebLogic to JBoss
Large Scale Migration from WebLogic to JBossLarge Scale Migration from WebLogic to JBoss
Large Scale Migration from WebLogic to JBoss
 
Real World Single Page App - A Knockout Case Study
Real World Single Page App - A Knockout Case StudyReal World Single Page App - A Knockout Case Study
Real World Single Page App - A Knockout Case Study
 
Clustered Architecture Patterns Delivering Scalability And Availability
Clustered Architecture Patterns Delivering Scalability And AvailabilityClustered Architecture Patterns Delivering Scalability And Availability
Clustered Architecture Patterns Delivering Scalability And Availability
 
Sql 2012 always on
Sql 2012 always onSql 2012 always on
Sql 2012 always on
 
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
 
Weblogic - Data management in application servers
Weblogic - Data management in application serversWeblogic - Data management in application servers
Weblogic - Data management in application servers
 
MySQL HA with PaceMaker
MySQL HA with  PaceMakerMySQL HA with  PaceMaker
MySQL HA with PaceMaker
 
Java one 2015 [con3339]
Java one 2015 [con3339]Java one 2015 [con3339]
Java one 2015 [con3339]
 
MySQL HA Alternatives 2010
MySQL  HA  Alternatives 2010MySQL  HA  Alternatives 2010
MySQL HA Alternatives 2010
 
GOTO Night with Todd Montgomery: Aeron: What, why and what next?
GOTO Night with Todd Montgomery: Aeron: What, why and what next?GOTO Night with Todd Montgomery: Aeron: What, why and what next?
GOTO Night with Todd Montgomery: Aeron: What, why and what next?
 
Medium Trust for Umbraco
Medium Trust for UmbracoMedium Trust for Umbraco
Medium Trust for Umbraco
 
VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012
 
download it from here
download it from heredownload it from here
download it from here
 
We're going on a bug hunt! Experts Talk Manchester 2018
We're going on a bug hunt! Experts Talk Manchester 2018We're going on a bug hunt! Experts Talk Manchester 2018
We're going on a bug hunt! Experts Talk Manchester 2018
 
ExpertTalks Manchester September 2018
ExpertTalks Manchester September 2018ExpertTalks Manchester September 2018
ExpertTalks Manchester September 2018
 
Db As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
Db As Behaving Badly... Worst Practices For Database Administrators Rod ColledgeDb As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
Db As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
 
Ceph - High Performance Without High Costs
Ceph - High Performance Without High CostsCeph - High Performance Without High Costs
Ceph - High Performance Without High Costs
 
Apache Kafka – (Pattern and) Anti-Pattern
Apache Kafka – (Pattern and) Anti-PatternApache Kafka – (Pattern and) Anti-Pattern
Apache Kafka – (Pattern and) Anti-Pattern
 
Perfomance tuning on Go 2.0
Perfomance tuning on Go 2.0Perfomance tuning on Go 2.0
Perfomance tuning on Go 2.0
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Kürzlich hochgeladen (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Tales from the WebLogic Frontline

  • 1. Tales from the WebLogic Front Line(What NOT to do with WebLogic) Steve Millidge C2B2 Consulting Limited
  • 2. Agenda Health Warning Setting the Scene Common Anti-patterns Ain’t misbehaving This could kill
  • 3. C2B2 Consulting Fast Performance and Scalability Reliable High Availability and Recoverability Manageable Monitoring and Supporting Secure Security
  • 5. It’s All Gone to *#*@!
  • 6.
  • 7.
  • 9.
  • 10.
  • 11. Philosophy Don’t Panic you didn’t #@#@ it up. Suspect Configuration over Coding Suspect bespoke code over WebLogic code WebLogic is FAST Computers are Logical and Rational
  • 14. Too Many Datasources Data Source per Component All to the Same Database JNDI Name per Component C1 C1 C1 DS1 DS1 DS1 Oracle
  • 15. Why It’s Bad Requires XA for all Datasources Developers receive strange “XA” exception Untick Honour Global Transactions Makes Exception “go away” Datasources now in autocommit DATA CORRUPTION!! Requires more DB connections BIND same Datasource to multiple JNDI locations
  • 17. Inadvertent TX Coupling WLS 1 WLS 2 EJB 1 REQUIRED Invoke EJB 2 REQUIRED Oracle 1 Oracle 2
  • 18. Why It’s BAD Results in “Strange Exceptions” if not All XA Is the REALLY what you want XA is very heavyweight And not guaranteed XA requires particular database configuration You have 4 minimum XA resources to coordinate Fix using REQUIRES NEW
  • 20. WLS Cluster WLS Session Clustering WLS 1 WLS 2 WLS 3 WLS 4 1 2 Don’t Use the Session as a Cache USE A CACHE
  • 22. Too Much Logging Too Synchronized New Application 30% Slower Tx Timeouts High CPU Many Threads waiting on Logging Monitor Debug turned on, on one node In Memory Buffer Each Thread Logged to in memory queue Writer thread writes messages to file Under heavy load memory queues grew unbounded 1.5Gb heap in log messages
  • 24. Session Shenanigans Serialization Session Attributes must be Serializable See this one all the time No Failover!!! Working as per Spec No Put You must Put dirtied objects back in the Session Don’t Get modify then no Put No Failover!!! Working as per Spec
  • 25. Exceptions and TX What happens to the TX when you throw an Exception from an EJB method? Application ExceptionCommit System ExceptionRollback
  • 27. Poisoned JMS Eats CPU Prevents Delivery Kills Server Performance JMS Q RepeatForever Set Redeliver Delay Set Redelivery Limit Set Error Destination Exception
  • 28. Poisoned JMS (Paging) WLS Keeps Messages in Memory Causes OutOfMemory Exceptions Configure Paging Thresholds Configure at JMS Server level
  • 30. Too Much RAM -XMS2G –XMX2G 32 bit Can be Too Much O/S Reserves RAM VM Starts up When you need it! HOTSPOT DUMP
  • 31. Node Manager Configuration Not Good Out of the Box Auto Kill If Failed = TRUE Auto Restart = TRUE Restart Delay should be set Restart Max should be set Set Panic Action to System.exit
  • 32. Disappearing Datasource Start WebLogic when DB not Available Datasource is not created Connection Creation Retry Frequency Seconds should be non-zero
  • 33. Summary Production Configuration is Complex Call in the Professionals

Hinweis der Redaktion

  1. This is the problem solving philosophy I tell our consultantsConfiguration over Coding: Out of the box WLS is not setup for production needs many changes for production not usually done by developers“Out of the Box” set up for developersWLS is likely to have fewer bugs than custom code. Proven throughout my career. YES there are bugs but I’ve probably only reported a handful compared to customer bugsWLS if fundamentally quick a few ms for a simple JSP page to render. Everything else is your overhead!If you do something once and get a certain result do it again you should get the same resultScientific Method!!
  2. These are things we’ve seen people do a lot which you shouldn’t do.
  3. We see many examples of lots and lots of datasourcesShow a real example
  4. Developer writes a bunch of components in separate EARSEach EAR has it’s own DatasourceAll going to the same databaseC1 calls C2 call C3 all in the same TransactionSimilar antipattern with JMS Connection Factories
  5. Strange XA exceptions are seen by developers relating to LLR optimisationUntick Honour Global Transactions to make Exception “Go Away”Some Datasources then in “autocommit” mode as they are not enlisted in the Global TXRequires full XA configuration for Oracle!Avoid XA especially when you only have 1 database!!!!!
  6. This picture of sexual activityCover a scenario we see in quite complex EJB environments with a number of EJB applications
  7. WE HAVE two APPLICATIONS developedindependantlyLater application 1 needs to retrieve data from 2Initially possibly get a security issueSet Domain credential to be the sameReceive XA Exception again related to LLTX’s inadvertently coupled as WLS will enlist second app in first TX
  8. Exception will be failure on client side to lookup JDBC Datasource on server side when it is actually there!Often also get security errors relating to anonymous user trying to commit TX depending on WLS versionCan also get difficulties with NATREQUIRES NEW ON SIDE 2Seen a developer try to fix by placing a wrapper bean on side 1 still couples at least removes Oracle 1.
  9. Typical Architect commentAsk question anyone here think clustering too heavyweight!!!Fallacy why is clustering heavyPerhaps your Session is way too heavySo you don’t need failover???Your customers probably do!!
  10. Explain Primary SecondaryReplication on attribute changeFailure causes a new primary Seen customers with Mbs of data in the cache including complete XML documentInternet facing watch out for googlebot et al, don’t use cookies so don’t do massive session initialisation or detect bots.20000 sessions created on average by BOTS on large ecommerce site.
  11. Logging is VERY Heavily SynchronisedGotta Fit all those messages from Multiple Threads into a single FileIn Memory Buffer Logging can Kill youExample next slide
  12. Tell story 1 about Matt’s case studyTell Story 2 Atos case studySystem Crash every day near 4pm – slow down to unrepsonsiveObserved 100% cpu utilisationTypical of constant GCConsole run out of memoryUse JMS for Logging is more performant
  13. Things that cause problems but server is doing the right thing as per spec or configuration
  14. See a couple of other typical session issues a lotSerialization -> Write code to Serialize to a file all your session attributesWATCH OUT FOR 3rd Party web frameworks know what they put in the session (Form Beans)
  15. System Exception is runtime or RemoteExceptionWe see this in many applications where the behaviour is not what people are expectingInsufficient knowledge of the details of the EJB spec.One company policy wrap all Exceptions into their applications so as not to expose 3rd party apis.Wrapped remotes with application exception -> CAUSING COMMITS
  16. A couple of typical JMS issues
  17. Poisoned Message on JMS -> constant spinning CPU (100%)Other messages can never be deliveredSeen this on customer killing all order processingThis slide buildsTalk through the BuildExplain each PointRedeliver Delay allows other messages through watch out if require strict ordering
  18. Not such a big issue since later versions of WLS 9.2 onwards – still requires tuningMessage headers still in memoryConsider setting quotas and messages can arrive quicker than they are pagedAlso will use 1/3 JVM memory
  19. 3 issues we have seen take out servers and cause system outages
  20. Especially on Sun JDKNot as common on JrockitOnly for 32bit platformsSeen one production system unable to restart because of this and numerous system hot spot dump.Large number of JMS messages (see paging from before). Hot Spot crashed couldn’t restart.Reducing JVM heap size fixed the problem
  21. Node Manager should be set up correctly.Powerful and important – Amazingly some customers don’t use it - NEVER been to a customer where this has been properly configuredBy default will attempt a number of quick restarts and then give up.Configure to try a number of times with a delay for a long period.In 9 and 10 Set Panic action to exit
  22. Major Government WLI System taken out by this.Regular restart of WLS carried out same time upgrade of Oracle. Oracle outage happened before but never seen a problem (Connection Testing etc. all enabled).WLS restarted while Oracle outSupport team Arrived morning to see that Name Not Found JNDI Exceptions in the log files.ALL ORDER PROCESSING FAILEDDefault setting is to switch this off!! Again suitable for development as quick errors!!
  23. “Out of the Box” WLS supports Ease of development.Last preproduction domain review I did for a large dual cluster WLS and WLI domain had 80+ recommendations with over 10 Classified as HIGH which means could cause a system outage, significant down time or major security breach.