Welcome!

IBM Cloud Authors: Pat Romanski, Elizabeth White, Aruna Ravichandran, Liz McMillan, Yeshim Deniz

Related Topics: IBM Cloud

IBM Cloud: Article

How to Optimize WebSphere Application Server Performance

Best Practices for Harnessing Thread Pools

Organizations are increasingly using thread pools to enhance WebSphere Application Server performance by providing users with required information quickly without monopolizing resources required for other commands.

Regardless of the complexity of many J2EE applications, all that's important from the end user perspective, other than functionality, is processing time. The end user simply wants the requested HTML page to load quickly. Similarly, a business executive wants simple assurances that her organization is not losing customers due to slow Web site responses.

In the event that our response time is unacceptably slow, our competition is just a click away. As the old saying goes, "it is much easier to keep the customers you have than to get new ones." Successful Web site performance is key to a successful business and the Internet delivery channel.

The Pieces Of A Successful J2EE Application
There are many J2EE application transaction components, some of which afford us little or no control. Organizations, for example, have little control over the quality of customers' Internet connections to their Web sites or how the network path is routed in the Internet cloud. Fortunately, there are also many pieces of the Internet puzzle that organizations can manage and optimize, such as application servers, back end integration technologies, Java applications, and hardware. A successful IT "ecosystem" requires that each infrastructure component be tuned to optimize the entire IT system and support business performance. Organizations, for example, must ensure that Java application execution streams (threads) provide users with required information quickly and without monopolizing resources required for other commands.

This article will address best practices for harnessing thread pools in the application server environment, including the Hypertext Transfer Protocol (HTTP) listener, Web container (application container), the Object Request Broker (ORB) container (also referred to as the Enterprise JavaBean container), and the data source connection pool. This article will also explore the notion of a thread pool funnel.

Thread Pool Overview
As users request Web site information, threads are required to process these requests. When focusing on the WebSphere Application Server (WAS) environment, applications requesting a thread are acquired from either the HTTP Listener, Web container thread pool, ORB container thread pool, or the data source connection pool. The threads contained in these pools are the actual resources that service user requests. Therefore, tuning thread pools properly will enhance WAS performance and optimize the users' experiences.

The WAS administrative console is used to tune thread pools. Each thread pool is assigned a minimum and a maximum thread pool number. When WAS is launched, it will create the number of threads identified in the minimum thread pool number parameter. As application processing occurs, the system will generate additional threads as required, up to the maximum number of threads parameter. It is critical to set the maximum number of threads for any specific queue or command properly. If the system is constantly creating and destroying threads from the pool, system thrashing will occur, wasting valuable resources. When configuring a thread pool, it is important to remember that the "more is better" rule does not apply here. Threads require a memory commitment and system resources. If the thread pool is configured to produce more threads than the system requires, valuable system resources are being denied to other resources. This type of configuration will burden the system and slow the application. Therefore, configuring thread pools accurately and harmoniously with each other is critical to optimal WebSphere performance.

Figure 1 displays an application request flow that requires back-end processing and illustrates the relationship among the thread pools as the user request is processed.

HTTP Listener
The HTTP Listener is responsible for thread creation at the HTTP server level. Most of the processing that occurs here is static page serving, or HTTP post/GET pass commands to the back end. This is the first level of thread configuration that must be considered.

Web Container
The Web container is responsible for thread pool creation at the application server level. Most of the processing at this level includes servlet, JSP, EJB, dynamic page creation, and back-end pass-through processing. The Web container is the second level of thread pool configuration that must be configured.

ORB Container The ORB container is responsible for thread pool creation at the object level. Most of the processing that occurs here includes the processing of non-Web?based clients. The ORB container is the third level of the thread pool configuration that must be configured.

Data Source
The data source level is responsible for creating the connection threads that are accessed from the database or "legacy" systems. These threads are the fourth level of configuration that must be addressed.

Thread Pool Funnel
When considering requests that are processed by the application, developers should consider Web architecture design and associated business processes. In many instances, more processing is required at the site's front-end systems than at the site's back-end systems. Because the number of requests requiring threads is greater at the front end of a Web site, the higher number of threads is required at layer one and is then reduced for each subsequent layer. This configuration produces a funnel effect in which thread requirements are reduced as the administrator configures each of the four layers. If the thread pool amounts were equal, the system could overload at each pool location, thereby saturating the entire WAS environment.

Therefore, when setting thread pool minimum and maximum parameters for specific thread pools, developers are often able to create a thread pool funnel that will produce the best results for a site. The thread pool funnel is displayed in Figure 2.

Some of the requests to a Web site only require static page returns. These requests are merely services at the HTTP listener layer, and do not require Web container, ORB container, or data source threads. These requests simply make it to the HTTP listener layer (see layer one in Figure 2), and then provide the user with the static response.

In another scenario, the application may only have to process at the Web container layer, perhaps hitting a JSP and getting returned dynamic page content. When this type of processing occurs, the user request requires threads for processing at the HTTP Listener and Web container layers. However, neither the ORB container nor data source processing is required.

The third scenario based on yet another type of inquiry, such as a non-Web Java application that would require processing. To service this request, a thread is acquired at the HTTP listener, Web container, and ORB container layers. In this case, processing at the data source layer was not required.

The final example, one which demands thread acquirement at all levels, includes a service rendered from the data source. A CICS transaction, for example, must be executed for the users' requests to be serviced via an EJB. In this final scenario, the users' requests required threads to be acquired at the HTTP Listener, Web container, ORB container, and data source layers.

It is important to note that when a flood of requests occurs in a thread pool funnel, each request will wait its turn at the appropriate queue rather than overloading all queues. The thread pool funnel provides a mechanism to minimize the potential for requests to overload the application server, significantly slowing performance or even crashing the system.

Conclusion
The thread pool funnel concept was first introduced in the Performances Analysis for Java report last year by Joines, Willenborg, and Hygh. Although the thread pool funnel is not pertinent in all J2EE application architectures, it is an effective design pattern that can increase application performance significantly. I have seen many customers who have implemented this concept reduce the end user's wait time, decrease the potential for application server saturation, and increase business productivity.

References

  • Gunther, N. (2004). How to Get Unbelievable Load Test Results. Retrieved November 10, 2003, from Performance Dynamics Company Web site: www.teamquest.com/resources/gunther/load-test.shtml
  • Joines, S., Willenborg, R., & Hygh, K. (Eds.). (2003). Performance Analysis for Java. Persons Education, Inc.
  • Willenborg, R. (2002). Monitoring Performance with WebSphere. Retrieved October 11, 2003, from the e-Pro Magazine Web site: www.e-promag.com/eparchive/ index.cfm?fuseaction=viewarticle&ContentID=1492&websiteid=
  • Zhang, Y., Liu, A., & Qu, W. (2003). Software Architecture Design of an Autonomic System. Retrieved November 10, 2003, from the University of Sydney Web Site: http://mercury.it.swin.edu.au/ctg/AWSA04/Papers/zhang.pdf
  • More Stories By Michael S. Pallos

    Michael S. Pallos, MBA, is a Senior Solution Architect for Candle Corp. and has 18 years of experience in the IT industry. Mr. Pallos is consultant to some of Candle's largest corporate customers, a featured speaker at industry conferences, and a doctorial student at Walden University, earning his Ph.D. in Applied Management and Decision Sciences - Information Systems Management. Candle, based in El Segundo, Calif., provides solutions to manage and optimize business-critical infrastructures, systems, service levels and other information technology assets. More than 3,000 of the world's largest companies use Candle products and consulting services, including 73 percent of the Global 100. Mr. Pallos can be reached at Michael_Pallos@candle.com

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


    @ThingsExpo Stories
    Enterprises have taken advantage of IoT to achieve important revenue and cost advantages. What is less apparent is how incumbent enterprises operating at scale have, following success with IoT, built analytic, operations management and software development capabilities – ranging from autonomous vehicles to manageable robotics installations. They have embraced these capabilities as if they were Silicon Valley startups. As a result, many firms employ new business models that place enormous impor...
    Amazon is pursuing new markets and disrupting industries at an incredible pace. Almost every industry seems to be in its crosshairs. Companies and industries that once thought they were safe are now worried about being “Amazoned.”. The new watch word should be “Be afraid. Be very afraid.” In his session 21st Cloud Expo, Chris Kocher, a co-founder of Grey Heron, will address questions such as: What new areas is Amazon disrupting? How are they doing this? Where are they likely to go? What are th...
    SYS-CON Events announced today that MIRAI Inc. will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MIRAI Inc. are IT consultants from the public sector whose mission is to solve social issues by technology and innovation and to create a meaningful future for people.
    SYS-CON Events announced today that Dasher Technologies will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Dasher Technologies, Inc. ® is a premier IT solution provider that delivers expert technical resources along with trusted account executives to architect and deliver complete IT solutions and services to help our clients execute their goals, plans and objectives. Since 1999, we'v...
    SYS-CON Events announced today that NetApp has been named “Bronze Sponsor” of SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. NetApp is the data authority for hybrid cloud. NetApp provides a full range of hybrid cloud data services that simplify management of applications and data across cloud and on-premises environments to accelerate digital transformation. Together with their partners, NetApp emp...
    SYS-CON Events announced today that IBM has been named “Diamond Sponsor” of SYS-CON's 21st Cloud Expo, which will take place on October 31 through November 2nd 2017 at the Santa Clara Convention Center in Santa Clara, California.
    SYS-CON Events announced today that TidalScale, a leading provider of systems and services, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. TidalScale has been involved in shaping the computing landscape. They've designed, developed and deployed some of the most important and successful systems and services in the history of the computing industry - internet, Ethernet, operating s...
    Infoblox delivers Actionable Network Intelligence to enterprise, government, and service provider customers around the world. They are the industry leader in DNS, DHCP, and IP address management, the category known as DDI. We empower thousands of organizations to control and secure their networks from the core-enabling them to increase efficiency and visibility, improve customer service, and meet compliance requirements.
    SYS-CON Events announced today that IBM has been named “Diamond Sponsor” of SYS-CON's 21st Cloud Expo, which will take place on October 31 through November 2nd 2017 at the Santa Clara Convention Center in Santa Clara, California.
    Join IBM November 1 at 21st Cloud Expo at the Santa Clara Convention Center in Santa Clara, CA, and learn how IBM Watson can bring cognitive services and AI to intelligent, unmanned systems. Cognitive analysis impacts today’s systems with unparalleled ability that were previously available only to manned, back-end operations. Thanks to cloud processing, IBM Watson can bring cognitive services and AI to intelligent, unmanned systems. Imagine a robot vacuum that becomes your personal assistant tha...
    In a recent survey, Sumo Logic surveyed 1,500 customers who employ cloud services such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). According to the survey, a quarter of the respondents have already deployed Docker containers and nearly as many (23 percent) are employing the AWS Lambda serverless computing framework. It’s clear: serverless is here to stay. The adoption does come with some needed changes, within both application development and operations. Tha...
    In his Opening Keynote at 21st Cloud Expo, John Considine, General Manager of IBM Cloud Infrastructure, will lead you through the exciting evolution of the cloud. He'll look at this major disruption from the perspective of technology, business models, and what this means for enterprises of all sizes. John Considine is General Manager of Cloud Infrastructure Services at IBM. In that role he is responsible for leading IBM’s public cloud infrastructure including strategy, development, and offering ...
    SYS-CON Events announced today that Avere Systems, a leading provider of enterprise storage for the hybrid cloud, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Avere delivers a more modern architectural approach to storage that doesn't require the overprovisioning of storage capacity to achieve performance, overspending on expensive storage media for inactive data or the overbui...
    Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
    SYS-CON Events announced today that TidalScale will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. TidalScale is the leading provider of Software-Defined Servers that bring flexibility to modern data centers by right-sizing servers on the fly to fit any data set or workload. TidalScale’s award-winning inverse hypervisor technology combines multiple commodity servers (including their ass...
    SYS-CON Events announced today that N3N will exhibit at SYS-CON's @ThingsExpo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. N3N’s solutions increase the effectiveness of operations and control centers, increase the value of IoT investments, and facilitate real-time operational decision making. N3N enables operations teams with a four dimensional digital “big board” that consolidates real-time live video feeds alongside IoT sensor data a...
    As hybrid cloud becomes the de-facto standard mode of operation for most enterprises, new challenges arise on how to efficiently and economically share data across environments. In his session at 21st Cloud Expo, Dr. Allon Cohen, VP of Product at Elastifile, will explore new techniques and best practices that help enterprise IT benefit from the advantages of hybrid cloud environments by enabling data availability for both legacy enterprise and cloud-native mission critical applications. By rev...
    With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend 21st Cloud Expo October 31 - November 2, 2017, at the Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, and learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
    Join IBM November 1 at 21st Cloud Expo at the Santa Clara Convention Center in Santa Clara, CA, and learn how IBM Watson can bring cognitive services and AI to intelligent, unmanned systems. Cognitive analysis impacts today’s systems with unparalleled ability that were previously available only to manned, back-end operations. Thanks to cloud processing, IBM Watson can bring cognitive services and AI to intelligent, unmanned systems. Imagine a robot vacuum that becomes your personal assistant th...
    Digital transformation is changing the face of business. The IDC predicts that enterprises will commit to a massive new scale of digital transformation, to stake out leadership positions in the "digital transformation economy." Accordingly, attendees at the upcoming Cloud Expo | @ThingsExpo at the Santa Clara Convention Center in Santa Clara, CA, Oct 31-Nov 2, will find fresh new content in a new track called Enterprise Cloud & Digital Transformation.