SlideShare a Scribd company logo
WebLogic Server Work Managers and Overload Protection
WebLogic Server Work ManagersJames BayerWebLogic Server Product Management
AgendaWebLogic Server Work Manager OverviewFeature Demonstration
<Insert Picture Here>WLS Work ManagerOverview
Real World Overload Protection
WebLogic Server Overload ProtectionExamples where this is applicableProtect against cascading failures
If  maximum number of Database connections are in use, do not allocate new threads to service web requests that need a database connection
Protect against hogging applications
If multiple applications are deployed to the same server, ensure badly behaving applications do not consume all resourcesWork Management ConcernsOptimally tuning servers is hard!Thread pool size for optimum performance?Workload can vary (time of day, event driven, etc.)Handle overloadconditions gracefullyPrioritization of workAcross modules within single applicationAcross multiple applicationsAcross multiple classes of usersOrdered processing of requests (one request at a time)
Typical SolutionsWork Management ConcernsOverprovision resourcesSize thread pools for maximum load factor, usually requiring many load-test runs to optimizeWLS 8.1 - configure multiple execute queuesDeploy applications into different server instancesBuild additional machinery to detect overload condition and react=> Sub-optimal ROI and increased Complexity
WebLogic Server Work ManagersIndicate your intent
WebLogic is on autopilot adjusting to meet your goalsWebLogic Server Work ManagersCore PrinciplesWork PrioritizationApplications define resource requirements via meta-data they can relate to, rather than low-level technical constructs (thread counts)User-specific SLAs can be definedThread Pool ManagementApplications should not have to configure and maintain thread poolsWLS manages this internally and automaticallyWithout necessarily requiring Administrator configuration and sizing inputOverload ProtectionStandardized mechanism to respond to overload conditions
WLS Work ManagementKey ComponentsNew Thread Pool ImplementationSingle internally managed thread pool and priority-based request queue service all application requestsRequest “Priority” dynamic and internally computed to meet application-defined goalsThread Count Self-TuningSelf-tuning thread pool monitors overall throughput every two secondsPresent thread count, measured throughput, and past history determines if thread count needs to changeNew threads automatically added/removed as neededBenefits Administrators and Operators  - no need to conduct tedious performance testing or guesswork just to pick a static thread pool size that does not adapt to changing workloads
WLS Work ManagementKey ComponentsWork ManagersRuntime abstraction used by applications to define resource requirementsWork Manager ComponentsRequest ClassFair-Share – desired share of server resources for appResponse Time –desired app response timeContext Based – user-specific SLAsMinimum Thread ConstraintMaximum Thread ConstraintCapacitySpecified in application descriptor (weblogic.xml, weblogic-ejb.xml, weblogic-application.xml)Can be accessed programmatically via CommonJ API – JSR-237
Work Manager ExamplesFair ShareDesired share of server resourcesThread usage become higher as fair share number increasesFair shares are relative to other fair shares defined in the system<work-manager><name>highfairshare_workmanager</name><fair-share-request-class>	<name>high_fairshare</name>	<fair-share>80</fair-share></fair-share-request-class> </work-manager>
Work Manager ExamplesResponse Time GoalDesired response-time goal in millisecondsResponse-time goals relative to other response goals and fair shares<work-manager><name>highfairshare_workmanager</name><response-time-request-class>	<name>fast_response_time</name>	<goal-ms>2000</goal-ms></response-time-request-class> </work-manager>
Work Manager ExamplesContext-BasedCurrently look at security name and group of user submitting the request<work-manager> <name>context_workmanager</name><context-request-class>	<name>test_context</name>	<context-case><user-name>platinum_user</user-name>		<request-class-name>high_fairshare</request-class-name> 		</context-case>	<context-case><user-name>evaluation_user</user-name>		<request-class-name>low_fairshare</request-class-name> 		</context-case> </context-request-class></work-manager>
How to use Work ManagersCoarse Grained
Target at the entire server (“default” Work Manager)
Target entire applications or modules - e.g. weblogic.xml<wl-dispatch-policy>myAppWorkManager</wl-dispatch-policy>Fine Grained
Target individual JSPs, Servlets, EJBs, MDBs <servlet> ...<init-param>     <param-name>wl-dispatch-policy</param-name>     <param-value>myCustomWorkManager</param-value> ...Programmatically via JNDI lookupInitialContextic = new InitialContext();commonj.work.WorkManager wm = (commonj.work.WorkManager)ic.lookup("java:comp/env/wm/myWM");
Stuck ThreadsA Label given to threads not returned to thread pool after a configured period of time (defaults to 600 secs)
Does not mean threads are literally stuck or locked (although possible) – they might be performing a long-running task

More Related Content

What's hot (20)

PPT
WebLogic Scripting Tool Overview
James Bayer
 
PDF
Thread Dump Analysis
Dmitry Buzdin
 
PPTX
Using ibm mq in managed file transfer environments final
Leif Davidsen
 
PPT
Oracle WebLogic Server Basic Concepts
James Bayer
 
ODP
High Availability in 37 Easy Steps
Tim Serong
 
PDF
Microservices with Java, Spring Boot and Spring Cloud
Eberhard Wolff
 
PPT
Performance Analysis of Idle Programs
greenwop
 
PPS
Java Hibernate Programming with Architecture Diagram and Example
kamal kotecha
 
PPT
Tomcat
Venkat Pinagadi
 
PDF
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Edureka!
 
PPTX
Hadoop REST API Security with Apache Knox Gateway
DataWorks Summit
 
PDF
OpenStack Networking
Ilya Shakhat
 
PDF
MySQL Replication
Mark Swarbrick
 
PDF
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Burasakorn Sabyeying
 
PDF
Hazelcast Introduction
CodeOps Technologies LLP
 
PPTX
Introduction to ansible
Omid Vahdaty
 
PDF
Atomicity In Redis: Thomas Hunter
Redis Labs
 
PDF
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
David Pasek
 
PDF
How Impala Works
Yue Chen
 
PDF
Automation with ansible
Khizer Naeem
 
WebLogic Scripting Tool Overview
James Bayer
 
Thread Dump Analysis
Dmitry Buzdin
 
Using ibm mq in managed file transfer environments final
Leif Davidsen
 
Oracle WebLogic Server Basic Concepts
James Bayer
 
High Availability in 37 Easy Steps
Tim Serong
 
Microservices with Java, Spring Boot and Spring Cloud
Eberhard Wolff
 
Performance Analysis of Idle Programs
greenwop
 
Java Hibernate Programming with Architecture Diagram and Example
kamal kotecha
 
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Edureka!
 
Hadoop REST API Security with Apache Knox Gateway
DataWorks Summit
 
OpenStack Networking
Ilya Shakhat
 
MySQL Replication
Mark Swarbrick
 
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Burasakorn Sabyeying
 
Hazelcast Introduction
CodeOps Technologies LLP
 
Introduction to ansible
Omid Vahdaty
 
Atomicity In Redis: Thomas Hunter
Redis Labs
 
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
David Pasek
 
How Impala Works
Yue Chen
 
Automation with ansible
Khizer Naeem
 

Viewers also liked (17)

PPTX
WebLogic's ClassLoaders, Filtering ClassLoader and ClassLoader Analysis Tool
Jeffrey West
 
PDF
BPEL PM 11g performance tuning - 4
tusjain
 
PPTX
WebLogic Filtering ClassLoader and ClassLoader Analysis Tool Demo
Jeffrey West
 
PPT
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
Oracle
 
PPTX
Administered object config
Veeramani S
 
PPT
Red Hart Linux
Venkateswarlu Malleboina
 
PDF
An introduction to weblogic console
bispsolutions
 
PDF
WebLogic JMS System Best Practices
Trivadis
 
PPTX
Jms deep dive [con4864]
Ryan Cuprak
 
PDF
Learn Oracle WebLogic Server 12c Administration
Revelation Technologies
 
PDF
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)
Andreas Koop
 
PDF
Oracle Weblogic 11g admin guide 2
Ram Kumar
 
PPTX
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Lucas Jellema
 
PPTX
Formation of a company
guptakanika16
 
PPT
Entrepreneurship powerpoint slide
Mahlatsi Lerato
 
PPT
Entrepreneurship, introduction to entrepreneurship, definition of entrepreneu...
Jorge Saguinsin
 
WebLogic's ClassLoaders, Filtering ClassLoader and ClassLoader Analysis Tool
Jeffrey West
 
BPEL PM 11g performance tuning - 4
tusjain
 
WebLogic Filtering ClassLoader and ClassLoader Analysis Tool Demo
Jeffrey West
 
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
Oracle
 
Administered object config
Veeramani S
 
Red Hart Linux
Venkateswarlu Malleboina
 
An introduction to weblogic console
bispsolutions
 
WebLogic JMS System Best Practices
Trivadis
 
Jms deep dive [con4864]
Ryan Cuprak
 
Learn Oracle WebLogic Server 12c Administration
Revelation Technologies
 
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)
Andreas Koop
 
Oracle Weblogic 11g admin guide 2
Ram Kumar
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Lucas Jellema
 
Formation of a company
guptakanika16
 
Entrepreneurship powerpoint slide
Mahlatsi Lerato
 
Entrepreneurship, introduction to entrepreneurship, definition of entrepreneu...
Jorge Saguinsin
 
Ad

Similar to WebLogic Server Work Managers and Overload Protection (20)

PDF
Weblogic Cluster advanced performance tuning
Aditya Bhuyan
 
PDF
Weblogic performance tuning2
Aditya Bhuyan
 
PPTX
QSpiders - Installation and Brief Dose of Load Runner
Qspiders - Software Testing Training Institute
 
PDF
Weblogic performance tuning1
Aditya Bhuyan
 
PDF
Weblogic Cluster performance tuning
Aditya Bhuyan
 
PPTX
Speed up your XPages Application performance
Maarga Systems
 
PPT
Struts 2-overview2
divzi1913
 
PPT
Quick guide to plan and execute a load test
duke.kalra
 
PPTX
Basic of jMeter
Shub
 
DOCX
Struts ppt 1
pavanteja86
 
PPT
Performance testing : An Overview
sharadkjain
 
PPT
Struts Ppt 1
JayaPrakash.m
 
PDF
OOW15 - Getting Optimal Performance from Oracle E-Business Suite
vasuballa
 
PPTX
IBM Information on Demand 2013 - Session 2839 - Using IBM PureData System fo...
Torsten Steinbach
 
ODP
Drools & jBPM Info Sheet
Mark Proctor
 
PDF
Oracle database performance diagnostics - before your begin
Hemant K Chitale
 
PDF
Enterprise applications in the cloud - are providers ready?
Leonid Grinshpan, Ph.D.
 
PPS
ABPerformance Quick Tour
Active Base
 
PPS
Tuning Robot Quick Tour
Active Base
 
PPT
Struts 2-overview2
Long Nguyen
 
Weblogic Cluster advanced performance tuning
Aditya Bhuyan
 
Weblogic performance tuning2
Aditya Bhuyan
 
QSpiders - Installation and Brief Dose of Load Runner
Qspiders - Software Testing Training Institute
 
Weblogic performance tuning1
Aditya Bhuyan
 
Weblogic Cluster performance tuning
Aditya Bhuyan
 
Speed up your XPages Application performance
Maarga Systems
 
Struts 2-overview2
divzi1913
 
Quick guide to plan and execute a load test
duke.kalra
 
Basic of jMeter
Shub
 
Struts ppt 1
pavanteja86
 
Performance testing : An Overview
sharadkjain
 
Struts Ppt 1
JayaPrakash.m
 
OOW15 - Getting Optimal Performance from Oracle E-Business Suite
vasuballa
 
IBM Information on Demand 2013 - Session 2839 - Using IBM PureData System fo...
Torsten Steinbach
 
Drools & jBPM Info Sheet
Mark Proctor
 
Oracle database performance diagnostics - before your begin
Hemant K Chitale
 
Enterprise applications in the cloud - are providers ready?
Leonid Grinshpan, Ph.D.
 
ABPerformance Quick Tour
Active Base
 
Tuning Robot Quick Tour
Active Base
 
Struts 2-overview2
Long Nguyen
 
Ad

More from James Bayer (8)

PPTX
Cf summit2014 roadmap
James Bayer
 
PPTX
Cf application manifest
James Bayer
 
PPT
JPA and Coherence with TopLink Grid
James Bayer
 
PDF
64 bit arch
James Bayer
 
PPT
Application Grid Dev with Coherence
James Bayer
 
PPT
App Grid Dev With Coherence
James Bayer
 
PPT
App Grid Dev With Coherence
James Bayer
 
PPT
WebLogic Deployment Plan Example
James Bayer
 
Cf summit2014 roadmap
James Bayer
 
Cf application manifest
James Bayer
 
JPA and Coherence with TopLink Grid
James Bayer
 
64 bit arch
James Bayer
 
Application Grid Dev with Coherence
James Bayer
 
App Grid Dev With Coherence
James Bayer
 
App Grid Dev With Coherence
James Bayer
 
WebLogic Deployment Plan Example
James Bayer
 

Recently uploaded (20)

PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 

WebLogic Server Work Managers and Overload Protection

  • 2. WebLogic Server Work ManagersJames BayerWebLogic Server Product Management
  • 3. AgendaWebLogic Server Work Manager OverviewFeature Demonstration
  • 4. <Insert Picture Here>WLS Work ManagerOverview
  • 6. WebLogic Server Overload ProtectionExamples where this is applicableProtect against cascading failures
  • 7. If maximum number of Database connections are in use, do not allocate new threads to service web requests that need a database connection
  • 9. If multiple applications are deployed to the same server, ensure badly behaving applications do not consume all resourcesWork Management ConcernsOptimally tuning servers is hard!Thread pool size for optimum performance?Workload can vary (time of day, event driven, etc.)Handle overloadconditions gracefullyPrioritization of workAcross modules within single applicationAcross multiple applicationsAcross multiple classes of usersOrdered processing of requests (one request at a time)
  • 10. Typical SolutionsWork Management ConcernsOverprovision resourcesSize thread pools for maximum load factor, usually requiring many load-test runs to optimizeWLS 8.1 - configure multiple execute queuesDeploy applications into different server instancesBuild additional machinery to detect overload condition and react=> Sub-optimal ROI and increased Complexity
  • 11. WebLogic Server Work ManagersIndicate your intent
  • 12. WebLogic is on autopilot adjusting to meet your goalsWebLogic Server Work ManagersCore PrinciplesWork PrioritizationApplications define resource requirements via meta-data they can relate to, rather than low-level technical constructs (thread counts)User-specific SLAs can be definedThread Pool ManagementApplications should not have to configure and maintain thread poolsWLS manages this internally and automaticallyWithout necessarily requiring Administrator configuration and sizing inputOverload ProtectionStandardized mechanism to respond to overload conditions
  • 13. WLS Work ManagementKey ComponentsNew Thread Pool ImplementationSingle internally managed thread pool and priority-based request queue service all application requestsRequest “Priority” dynamic and internally computed to meet application-defined goalsThread Count Self-TuningSelf-tuning thread pool monitors overall throughput every two secondsPresent thread count, measured throughput, and past history determines if thread count needs to changeNew threads automatically added/removed as neededBenefits Administrators and Operators - no need to conduct tedious performance testing or guesswork just to pick a static thread pool size that does not adapt to changing workloads
  • 14. WLS Work ManagementKey ComponentsWork ManagersRuntime abstraction used by applications to define resource requirementsWork Manager ComponentsRequest ClassFair-Share – desired share of server resources for appResponse Time –desired app response timeContext Based – user-specific SLAsMinimum Thread ConstraintMaximum Thread ConstraintCapacitySpecified in application descriptor (weblogic.xml, weblogic-ejb.xml, weblogic-application.xml)Can be accessed programmatically via CommonJ API – JSR-237
  • 15. Work Manager ExamplesFair ShareDesired share of server resourcesThread usage become higher as fair share number increasesFair shares are relative to other fair shares defined in the system<work-manager><name>highfairshare_workmanager</name><fair-share-request-class> <name>high_fairshare</name> <fair-share>80</fair-share></fair-share-request-class> </work-manager>
  • 16. Work Manager ExamplesResponse Time GoalDesired response-time goal in millisecondsResponse-time goals relative to other response goals and fair shares<work-manager><name>highfairshare_workmanager</name><response-time-request-class> <name>fast_response_time</name> <goal-ms>2000</goal-ms></response-time-request-class> </work-manager>
  • 17. Work Manager ExamplesContext-BasedCurrently look at security name and group of user submitting the request<work-manager> <name>context_workmanager</name><context-request-class> <name>test_context</name> <context-case><user-name>platinum_user</user-name> <request-class-name>high_fairshare</request-class-name> </context-case> <context-case><user-name>evaluation_user</user-name> <request-class-name>low_fairshare</request-class-name> </context-case> </context-request-class></work-manager>
  • 18. How to use Work ManagersCoarse Grained
  • 19. Target at the entire server (“default” Work Manager)
  • 20. Target entire applications or modules - e.g. weblogic.xml<wl-dispatch-policy>myAppWorkManager</wl-dispatch-policy>Fine Grained
  • 21. Target individual JSPs, Servlets, EJBs, MDBs <servlet> ...<init-param> <param-name>wl-dispatch-policy</param-name> <param-value>myCustomWorkManager</param-value> ...Programmatically via JNDI lookupInitialContextic = new InitialContext();commonj.work.WorkManager wm = (commonj.work.WorkManager)ic.lookup("java:comp/env/wm/myWM");
  • 22. Stuck ThreadsA Label given to threads not returned to thread pool after a configured period of time (defaults to 600 secs)
  • 23. Does not mean threads are literally stuck or locked (although possible) – they might be performing a long-running task
  • 24. This is an informational label – Administrators cannot stop the threads directly due to Java Threading design
  • 25. The Server or the Work Managers can be configured to shutdown or go to an Admin State once a certain number of threads become stuck<Insert Picture Here>WLS Work Managers Demonstration
  • 26. Demonstration ApplicationWeb Applicationnormal.jspveryslow.jsp – 30 second sleepWork Manager targeted at veryslow.jspMax Thread Constraint = 5Capacity Constraint = 7Test Scenario10 concurrent clients access veryslow.jsp (using JMeter)Work Manager controls how clients get serviced7 clients – OK3 clients – HTTP 503 (“Server Busy”)http://blogs.oracle.com/jamesbayer/entry/work_manager_leash_for_slow_js
  • 27. WLS behavior under test scenario
  • 29. Image AttributionPhoto of Circuit Breaker courtesy of Alan Hochberg

Editor's Notes

  • #14: So in this example, if another fair share was assigned a value of 20, the ration would be 80:20 or 4:1. This means that if each application has the same amount of requests coming in and there are not enough threads to server all requests immediately, then high-fair share work manager will get 4x as many requests serviced as the low-priority work manager.