SlideShare a Scribd company logo
Now WebLogic Server uses a single thread pool, in which all types of work are
executed. WebLogic Server prioritizes work based on:
 rules you define
 run-time metrics, including the actual time it takes to execute a request and
the rate at which requests are entering and leaving the pool.
The common thread pool changes its size automatically to maximize
throughput. The queue monitors throughput over time and based on history,
determines whether to adjust the thread count. For example, if historical
throughput statistics indicate that a higher thread count increased throughput,
WebLogic increases the thread count. Similarly, if statistics indicate that fewer
threads did not reduce throughput, WebLogic decreases the thread count. This
new strategy makes it easier for administrators to allocate processing resources
and manage performance, avoiding the effort and complexity involved in
configuring, monitoring, and tuning custom executes queues.
What is Work Managers?
A work manager is a thread pool created for J2EE applications that use
asynchronous beans.
When to Use Work Managers?
 The default fair share (50) is not sufficient.
 This usually occurs in situations where one application needs to be given a
higher priority over another.
 A response time goal is required.
 A minimum thread constraint needs to be specified to avoid server deadlock
 The Default Work Manager: To handle thread management and perform self-tuning,
WebLogic Server implements a default Work Manager. This Work Manager is used by an
application when no other Work Managers are specified in the application's deployment
descriptors.
 Global Work Managers: You can create global Work Managers that are available to all
applications and modules deployed on a server, in the WebLogic Server Administration
Console and in config.xml. An application uses a globally-defined Work Manager as a
template. Each application creates its own instance which handles the work associated
with that application and separates that work from other applications. This separation is
used to handle traffic directed to two applications which are using the same dispatch
policy. Handling each application's work separately, allows an application to be shut
down without affecting the thread management of another application. Although each
application implements its own Work Manager instance, the underlying components are
shared.
 Application-scoped Work Managers: In addition to globally-scoped Work Managers, you
can also create Work Managers that are available only to a specific application or
module. You can define application-scoped Work Managers in the WebLogic Server
Administration Console and in the following descriptors:
◦ weblogic-application.xml (EAR)
◦ weblogic-ejb-jar.xml (EJB/MDB)
◦ weblogic.xml (WAR)
To manage work in your applications, you define one or more of the following
Work Manager components:
 Request Class: expresses a scheduling guideline that WebLogic Server uses
to allocate threads to requests. Request classes help ensure that high priority
work is scheduled before less important work, even if the high priority work
is submitted after the lower priority work. WebLogic Server takes into
account how long it takes for requests to each module to complete. A Work
Manager may specify only one request class:
◦ fair-share-request-class
◦ response-time-request-class
◦ context-request-class
 Constraint: A constraint defines minimum and maximum numbers of threads
allocated to execute requests and the total number of requests that can be
queued or executing before WebLogic Server begins rejecting requests.
◦ max-threads-constraint
◦ min-threads-constraint
◦ capacity
fair-share-request-class: Specifies the average thread-use time required to
process requests. The default fair share value is 50.
For example, assume that WebLogic Server is running two modules. The Work Manager for
ModuleA specifies a fair-share-request-class of 80 and the Work Manager for ModuleB
specifies a fair-share-request-class of 20. During a period of sufficient demand, with a
steady stream of requests for each module such that the number requests exceed the
number of threads, WebLogic Server will allocate 80% and 20% of the thread-usage time to
ModuleA and ModuleB, respectively.
response-time-request-class: Specifies a response time goal in milliseconds.
Response time goals are not applied to individual requests. Instead, WebLogic
Server computes a tolerable waiting time for requests with that class by
subtracting the observed average thread use time from the response time goal,
and schedules requests so that the average wait for requests with the class is
proportional to its tolerable waiting time.
For example, given that ModuleA and ModuleB in the previous example, have response time
goals of 2000 ms and 5000 ms, respectively, and the actual thread use time for an individual
request is less than its response time goal. During a period of sufficient demand, with a
steady stream of requests for each module such that the number of requests exceed the
number of threads, and no "think time" delays between response and request, WebLogic
Server will schedule requests for ModuleA and ModuleB to keep the average response time in
the ratio 2:5. The actual average response times for ModuleA and ModuleB might be higher
or lower than the response time goals, but will be a common fraction or multiple of the
stated goal. For example, if the average response time for ModuleA requests is 1,000 ms.,
the average response time for ModuleB requests is 2,500 ms.
context-request-class: A context request class is a compound class that maps
between the context of a request and a fair share or response time request class.
Currently, a context request class supports using the authenicated user and
group names to map to differenet fair share or respons time request classes.
For example, a stock quote application might assign a higher fair share to logged-in users
(which implies that they have accounts) by routing all requessts associated with the built-in
group name users to which all authenticated users belong to a higher fair share request
class, and all requests associated with the build-in user name <anonymous> to a lower fair
share request class.
max-threads-constraint—Limits the number of concurrent threads executing
requests from the constrained work set. The default is unlimited.
For example, consider a constraint defined with maximum threads of 10 and shared
by 3 entry points. The scheduling logic ensures that not more than 10 threads are
executing requests from the three entry points combined. You can define a max-
threads-constraint in terms of a the availability of the resource that requests depend
upon, such as a connection pool. A max-threads-constraint might, but does not
necessarily, prevent a request class from taking its fair share of threads or meeting
its response time goal. Once the constraint is reached the server does not schedule
requests of this type until the number of concurrent executions falls below the limit.
The server then schedules work based on the fair share or response time goal.
min-threads-constraint—Guarantees the number of threads the server will allocate
to affected requests to avoid deadlocks. The default is zero.
For example a min-threads-constraint value of one is useful for a replication update
request, which is called synchronously from a peer. A min-threads-constraint might
not necessarily increase a fair share. This type of constraint has an effect primarily
when the server instance is close to a deadlock condition. In that case, the constraint
will cause WebLogic Server to schedule a request even if requests in the service class
have gotten more than its fair share recently.
capacity—Causes the server to reject requests only when it has reached its capacity.
The default is -1. Note that the capacity includes all requests, queued or executing,
from the constrained work set. Work is rejected either when an individual capacity
threshold is exceeded or if the global capacity is exceeded. This constraint is
independent of the global queue threshold.
Where do you define
it?
Which
compenents
use it?
WebLogic Server
descriptor
EJB, WAR
weblogic-ejb-
jar.xml
weblogic.xml Ejb-
jar.xml
Web.xml
<wls:work-manager>
<wls:name>wm/WorkManager</wls:name>
</wls:work-manager>
<wl-dispatch-policy>
wm/WorkManager
</wl-dispatch-policy>
<weblogic-enterprise-bean>
<ejb-name>TestMdb</ejb-name>
<dispatch-policy>wm/WorkManager</dispatch-
policy>
</weblogic-enterprise-bean>
No configuration into xml j2ee
component descriptor
WorkManager can be configure
any weblogic server descriptors
weblogic-
application.x
ml
Where do you define
it?
Which
compenents
use it?
WebLogic Server
descriptor
EJB, WAR
weblogic-
ejb-
jar.xml
weblogic-
application.x
ml
weblogic.xml
Web.xml
<wls:work-manager>
<wls:name>wm/WorkManager</wls:name>
</wls:work-manager>
<servlet>
<servlet-name>VerySlowJSP</servlet-name>
<jsp-file>veryslow.jsp</jsp-file>
<init-param>
<param-name>wl-dispatch-policy</param-name>
<param-value>wm/WorkManager</param-value>
</init-param>
</servlet>
Where do you define
it?
Which
compenents
use it?
WebLogic Server
descriptor
EJB, WAR
weblogic-
ejb-
jar.xml
weblogic.xml
Ejb-
jar.xml
Web.x
ml
CustomCode Into J2EE
Components
<wls:work-manager>
<wls:name>wm/WorkManager</wls:name>
</wls:work-manager>
<enterprise-beans>
<message-driven>
<ejb-name>TestMdb</ejb-name>
<ejb-class>com.test.TestMdb</ejb-class>
<resource-ref>
<res-ref-name>wm/WorkManager</res-ref-name>
<res-type>commonj.work.WorkManager</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</message-driven>
</enterprise-beans>
weblogic-
application.x
ml
giampiero19
Giampiero Cerroni
+ 39 3332250803
gcerroni@gmail.com
twitter.com/gcerroni
linkedin.com/in/giampierocerroni
facebook.com/giampiero.cerroni
Fonte:
http://docs.oracle.com/cd/E23943_01/web.1111/e13701/self_tuned.htm#CNFGD117

More Related Content

What's hot

Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...
Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...
Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...
avanttic Consultoría Tecnológica
 
Spring batch overivew
Spring batch overivewSpring batch overivew
Spring batch overivew
Chanyeong Choi
 
How to Lock Down Apache Kafka and Keep Your Streams Safe
How to Lock Down Apache Kafka and Keep Your Streams SafeHow to Lock Down Apache Kafka and Keep Your Streams Safe
How to Lock Down Apache Kafka and Keep Your Streams Safe
confluent
 
Load Balancing with Nginx
Load Balancing with NginxLoad Balancing with Nginx
Load Balancing with Nginx
Marian Marinov
 
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorAlmost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Jean-François Gagné
 
How to upgrade like a boss to MySQL 8.0 - PLE19
How to upgrade like a boss to MySQL 8.0 -  PLE19How to upgrade like a boss to MySQL 8.0 -  PLE19
How to upgrade like a boss to MySQL 8.0 - PLE19
Alkin Tezuysal
 
Gns3 0.5 Tutorial
Gns3 0.5 TutorialGns3 0.5 Tutorial
Gns3 0.5 Tutorialrusevi
 
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
Edureka!
 
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
Edureka!
 
RESTful API 제대로 만들기
RESTful API 제대로 만들기RESTful API 제대로 만들기
RESTful API 제대로 만들기
Juwon Kim
 
Introducing Galera 3.0
Introducing Galera 3.0Introducing Galera 3.0
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
Jean-François Gagné
 
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB
 
50 nouvelles choses que l'on peut faire avec Java 8
50 nouvelles choses que l'on peut faire avec Java 850 nouvelles choses que l'on peut faire avec Java 8
50 nouvelles choses que l'on peut faire avec Java 8
José Paumard
 
Query Optimization with MySQL 8.0 and MariaDB 10.3: The Basics
Query Optimization with MySQL 8.0 and MariaDB 10.3: The BasicsQuery Optimization with MySQL 8.0 and MariaDB 10.3: The Basics
Query Optimization with MySQL 8.0 and MariaDB 10.3: The Basics
Jaime Crespo
 
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
ddrschiw
 
Siebel Web Architecture
Siebel Web ArchitectureSiebel Web Architecture
Siebel Web ArchitectureRoman Agaev
 
Spring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerSpring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & Micrometer
Toshiaki Maki
 
Asp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity FrameworkAsp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity Framework
Shravan A
 

What's hot (20)

Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...
Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...
Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...
 
Spring batch overivew
Spring batch overivewSpring batch overivew
Spring batch overivew
 
How to Lock Down Apache Kafka and Keep Your Streams Safe
How to Lock Down Apache Kafka and Keep Your Streams SafeHow to Lock Down Apache Kafka and Keep Your Streams Safe
How to Lock Down Apache Kafka and Keep Your Streams Safe
 
Load Balancing with Nginx
Load Balancing with NginxLoad Balancing with Nginx
Load Balancing with Nginx
 
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorAlmost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
 
How to upgrade like a boss to MySQL 8.0 - PLE19
How to upgrade like a boss to MySQL 8.0 -  PLE19How to upgrade like a boss to MySQL 8.0 -  PLE19
How to upgrade like a boss to MySQL 8.0 - PLE19
 
Gns3 0.5 Tutorial
Gns3 0.5 TutorialGns3 0.5 Tutorial
Gns3 0.5 Tutorial
 
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
 
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
 
RESTful API 제대로 만들기
RESTful API 제대로 만들기RESTful API 제대로 만들기
RESTful API 제대로 만들기
 
Introducing Galera 3.0
Introducing Galera 3.0Introducing Galera 3.0
Introducing Galera 3.0
 
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
 
Weblogic
WeblogicWeblogic
Weblogic
 
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
 
50 nouvelles choses que l'on peut faire avec Java 8
50 nouvelles choses que l'on peut faire avec Java 850 nouvelles choses que l'on peut faire avec Java 8
50 nouvelles choses que l'on peut faire avec Java 8
 
Query Optimization with MySQL 8.0 and MariaDB 10.3: The Basics
Query Optimization with MySQL 8.0 and MariaDB 10.3: The BasicsQuery Optimization with MySQL 8.0 and MariaDB 10.3: The Basics
Query Optimization with MySQL 8.0 and MariaDB 10.3: The Basics
 
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
 
Siebel Web Architecture
Siebel Web ArchitectureSiebel Web Architecture
Siebel Web Architecture
 
Spring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerSpring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & Micrometer
 
Asp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity FrameworkAsp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity Framework
 

Similar to Oracle WorkManager

WebLogic Server Work Managers and Overload Protection
WebLogic Server Work Managers and Overload ProtectionWebLogic Server Work Managers and Overload Protection
WebLogic Server Work Managers and Overload Protection
James Bayer
 
Continuation_alan_20220503.pdf
Continuation_alan_20220503.pdfContinuation_alan_20220503.pdf
Continuation_alan_20220503.pdf
Shen yifeng
 
Salesforce app limits_cheatsheet latest by 25 oct 2019
Salesforce app limits_cheatsheet latest by 25 oct 2019Salesforce app limits_cheatsheet latest by 25 oct 2019
Salesforce app limits_cheatsheet latest by 25 oct 2019
Swarup Hait
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2divzi1913
 
Jsp and Servlets
Jsp and ServletsJsp and Servlets
Jsp and ServletsRaghu nath
 
WebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck ThreadsWebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck Threads
Maarten Smeets
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2Long Nguyen
 
J2EE-assignment
 J2EE-assignment J2EE-assignment
J2EE-assignment
gaurav sardhara
 
Shopzilla On Concurrency
Shopzilla On ConcurrencyShopzilla On Concurrency
Shopzilla On Concurrency
Rodney Barlow
 
What is ASP.NET MVC
What is ASP.NET MVCWhat is ASP.NET MVC
What is ASP.NET MVC
Brad Oyler
 
Asp.net,mvc
Asp.net,mvcAsp.net,mvc
Asp.net,mvc
Prashant Kumar
 
Distributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud ProvisioningDistributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud Provisioning
Ar Agarwal
 
UNIT-3 Servlet
UNIT-3 ServletUNIT-3 Servlet
UNIT-3 Servlet
ssbd6985
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
Senthil Kumar
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
SenthilKumar571813
 
Bt0083, server side programming theory
Bt0083, server side programming theoryBt0083, server side programming theory
Bt0083, server side programming theory
smumbahelp
 
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 9...
 Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 9... Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 9...
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 9...
WebStackAcademy
 
High virtualizationdegree
High virtualizationdegreeHigh virtualizationdegree
High virtualizationdegreesscetrajiv
 
Spring mvc 2.0
Spring mvc 2.0Spring mvc 2.0
Spring mvc 2.0
Rudra Garnaik, PMI-ACP®
 

Similar to Oracle WorkManager (20)

WebLogic Server Work Managers and Overload Protection
WebLogic Server Work Managers and Overload ProtectionWebLogic Server Work Managers and Overload Protection
WebLogic Server Work Managers and Overload Protection
 
Continuation_alan_20220503.pdf
Continuation_alan_20220503.pdfContinuation_alan_20220503.pdf
Continuation_alan_20220503.pdf
 
Salesforce app limits_cheatsheet latest by 25 oct 2019
Salesforce app limits_cheatsheet latest by 25 oct 2019Salesforce app limits_cheatsheet latest by 25 oct 2019
Salesforce app limits_cheatsheet latest by 25 oct 2019
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2
 
Weblogic
WeblogicWeblogic
Weblogic
 
Jsp and Servlets
Jsp and ServletsJsp and Servlets
Jsp and Servlets
 
WebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck ThreadsWebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck Threads
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2
 
J2EE-assignment
 J2EE-assignment J2EE-assignment
J2EE-assignment
 
Shopzilla On Concurrency
Shopzilla On ConcurrencyShopzilla On Concurrency
Shopzilla On Concurrency
 
What is ASP.NET MVC
What is ASP.NET MVCWhat is ASP.NET MVC
What is ASP.NET MVC
 
Asp.net,mvc
Asp.net,mvcAsp.net,mvc
Asp.net,mvc
 
Distributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud ProvisioningDistributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud Provisioning
 
UNIT-3 Servlet
UNIT-3 ServletUNIT-3 Servlet
UNIT-3 Servlet
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
 
Bt0083, server side programming theory
Bt0083, server side programming theoryBt0083, server side programming theory
Bt0083, server side programming theory
 
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 9...
 Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 9... Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 9...
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 9...
 
High virtualizationdegree
High virtualizationdegreeHigh virtualizationdegree
High virtualizationdegree
 
Spring mvc 2.0
Spring mvc 2.0Spring mvc 2.0
Spring mvc 2.0
 

Recently uploaded

Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 

Recently uploaded (20)

Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 

Oracle WorkManager

  • 1.
  • 2. Now WebLogic Server uses a single thread pool, in which all types of work are executed. WebLogic Server prioritizes work based on:  rules you define  run-time metrics, including the actual time it takes to execute a request and the rate at which requests are entering and leaving the pool. The common thread pool changes its size automatically to maximize throughput. The queue monitors throughput over time and based on history, determines whether to adjust the thread count. For example, if historical throughput statistics indicate that a higher thread count increased throughput, WebLogic increases the thread count. Similarly, if statistics indicate that fewer threads did not reduce throughput, WebLogic decreases the thread count. This new strategy makes it easier for administrators to allocate processing resources and manage performance, avoiding the effort and complexity involved in configuring, monitoring, and tuning custom executes queues.
  • 3. What is Work Managers? A work manager is a thread pool created for J2EE applications that use asynchronous beans. When to Use Work Managers?  The default fair share (50) is not sufficient.  This usually occurs in situations where one application needs to be given a higher priority over another.  A response time goal is required.  A minimum thread constraint needs to be specified to avoid server deadlock
  • 4.  The Default Work Manager: To handle thread management and perform self-tuning, WebLogic Server implements a default Work Manager. This Work Manager is used by an application when no other Work Managers are specified in the application's deployment descriptors.  Global Work Managers: You can create global Work Managers that are available to all applications and modules deployed on a server, in the WebLogic Server Administration Console and in config.xml. An application uses a globally-defined Work Manager as a template. Each application creates its own instance which handles the work associated with that application and separates that work from other applications. This separation is used to handle traffic directed to two applications which are using the same dispatch policy. Handling each application's work separately, allows an application to be shut down without affecting the thread management of another application. Although each application implements its own Work Manager instance, the underlying components are shared.  Application-scoped Work Managers: In addition to globally-scoped Work Managers, you can also create Work Managers that are available only to a specific application or module. You can define application-scoped Work Managers in the WebLogic Server Administration Console and in the following descriptors: ◦ weblogic-application.xml (EAR) ◦ weblogic-ejb-jar.xml (EJB/MDB) ◦ weblogic.xml (WAR)
  • 5. To manage work in your applications, you define one or more of the following Work Manager components:  Request Class: expresses a scheduling guideline that WebLogic Server uses to allocate threads to requests. Request classes help ensure that high priority work is scheduled before less important work, even if the high priority work is submitted after the lower priority work. WebLogic Server takes into account how long it takes for requests to each module to complete. A Work Manager may specify only one request class: ◦ fair-share-request-class ◦ response-time-request-class ◦ context-request-class  Constraint: A constraint defines minimum and maximum numbers of threads allocated to execute requests and the total number of requests that can be queued or executing before WebLogic Server begins rejecting requests. ◦ max-threads-constraint ◦ min-threads-constraint ◦ capacity
  • 6. fair-share-request-class: Specifies the average thread-use time required to process requests. The default fair share value is 50. For example, assume that WebLogic Server is running two modules. The Work Manager for ModuleA specifies a fair-share-request-class of 80 and the Work Manager for ModuleB specifies a fair-share-request-class of 20. During a period of sufficient demand, with a steady stream of requests for each module such that the number requests exceed the number of threads, WebLogic Server will allocate 80% and 20% of the thread-usage time to ModuleA and ModuleB, respectively.
  • 7. response-time-request-class: Specifies a response time goal in milliseconds. Response time goals are not applied to individual requests. Instead, WebLogic Server computes a tolerable waiting time for requests with that class by subtracting the observed average thread use time from the response time goal, and schedules requests so that the average wait for requests with the class is proportional to its tolerable waiting time. For example, given that ModuleA and ModuleB in the previous example, have response time goals of 2000 ms and 5000 ms, respectively, and the actual thread use time for an individual request is less than its response time goal. During a period of sufficient demand, with a steady stream of requests for each module such that the number of requests exceed the number of threads, and no "think time" delays between response and request, WebLogic Server will schedule requests for ModuleA and ModuleB to keep the average response time in the ratio 2:5. The actual average response times for ModuleA and ModuleB might be higher or lower than the response time goals, but will be a common fraction or multiple of the stated goal. For example, if the average response time for ModuleA requests is 1,000 ms., the average response time for ModuleB requests is 2,500 ms.
  • 8. context-request-class: A context request class is a compound class that maps between the context of a request and a fair share or response time request class. Currently, a context request class supports using the authenicated user and group names to map to differenet fair share or respons time request classes. For example, a stock quote application might assign a higher fair share to logged-in users (which implies that they have accounts) by routing all requessts associated with the built-in group name users to which all authenticated users belong to a higher fair share request class, and all requests associated with the build-in user name <anonymous> to a lower fair share request class.
  • 9. max-threads-constraint—Limits the number of concurrent threads executing requests from the constrained work set. The default is unlimited. For example, consider a constraint defined with maximum threads of 10 and shared by 3 entry points. The scheduling logic ensures that not more than 10 threads are executing requests from the three entry points combined. You can define a max- threads-constraint in terms of a the availability of the resource that requests depend upon, such as a connection pool. A max-threads-constraint might, but does not necessarily, prevent a request class from taking its fair share of threads or meeting its response time goal. Once the constraint is reached the server does not schedule requests of this type until the number of concurrent executions falls below the limit. The server then schedules work based on the fair share or response time goal.
  • 10. min-threads-constraint—Guarantees the number of threads the server will allocate to affected requests to avoid deadlocks. The default is zero. For example a min-threads-constraint value of one is useful for a replication update request, which is called synchronously from a peer. A min-threads-constraint might not necessarily increase a fair share. This type of constraint has an effect primarily when the server instance is close to a deadlock condition. In that case, the constraint will cause WebLogic Server to schedule a request even if requests in the service class have gotten more than its fair share recently. capacity—Causes the server to reject requests only when it has reached its capacity. The default is -1. Note that the capacity includes all requests, queued or executing, from the constrained work set. Work is rejected either when an individual capacity threshold is exceeded or if the global capacity is exceeded. This constraint is independent of the global queue threshold.
  • 11. Where do you define it? Which compenents use it? WebLogic Server descriptor EJB, WAR weblogic-ejb- jar.xml weblogic.xml Ejb- jar.xml Web.xml <wls:work-manager> <wls:name>wm/WorkManager</wls:name> </wls:work-manager> <wl-dispatch-policy> wm/WorkManager </wl-dispatch-policy> <weblogic-enterprise-bean> <ejb-name>TestMdb</ejb-name> <dispatch-policy>wm/WorkManager</dispatch- policy> </weblogic-enterprise-bean> No configuration into xml j2ee component descriptor WorkManager can be configure any weblogic server descriptors weblogic- application.x ml
  • 12. Where do you define it? Which compenents use it? WebLogic Server descriptor EJB, WAR weblogic- ejb- jar.xml weblogic- application.x ml weblogic.xml Web.xml <wls:work-manager> <wls:name>wm/WorkManager</wls:name> </wls:work-manager> <servlet> <servlet-name>VerySlowJSP</servlet-name> <jsp-file>veryslow.jsp</jsp-file> <init-param> <param-name>wl-dispatch-policy</param-name> <param-value>wm/WorkManager</param-value> </init-param> </servlet>
  • 13. Where do you define it? Which compenents use it? WebLogic Server descriptor EJB, WAR weblogic- ejb- jar.xml weblogic.xml Ejb- jar.xml Web.x ml CustomCode Into J2EE Components <wls:work-manager> <wls:name>wm/WorkManager</wls:name> </wls:work-manager> <enterprise-beans> <message-driven> <ejb-name>TestMdb</ejb-name> <ejb-class>com.test.TestMdb</ejb-class> <resource-ref> <res-ref-name>wm/WorkManager</res-ref-name> <res-type>commonj.work.WorkManager</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> </message-driven> </enterprise-beans> weblogic- application.x ml
  • 14. giampiero19 Giampiero Cerroni + 39 3332250803 gcerroni@gmail.com twitter.com/gcerroni linkedin.com/in/giampierocerroni facebook.com/giampiero.cerroni Fonte: http://docs.oracle.com/cd/E23943_01/web.1111/e13701/self_tuned.htm#CNFGD117