WebLogic Server- Tips & Tricks for Troubleshooting Performance Issues. By: Abhay Kumar AST Corporation

Similar documents
White Paper. Major Performance Tuning Considerations for Weblogic Server

WebLogic JMS System Best Practices Daniel Joray Trivadis AG Bern

Diplomado Certificación

Tuning Performance of Oracle WebLogic Server 12c (12.2.1)

Oracle WebLogic Server 12c: Administration I

Bipul Sinha, Amit Ganesh, Lilian Hobbs, Oracle Corp. Dingbo Zhou, Basavaraj Hubli, Manohar Malayanur, Fannie Mae

Contents at a Glance. vii

Oracle 1Z Oracle Weblogic Server 11g- System(R) Administration I.

BEAWebLogic. Server. Automatic and Manual Service-level Migration

<Insert Picture Here> WebLogic JMS Messaging Infrastructure WebLogic Server 11gR1 Labs

WLS Neue Optionen braucht das Land

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SUITE

Copyright 2018, Oracle and/or its affiliates. All rights reserved.

Oracle WebLogic Server 12c: Administration I


What every DBA needs to know about JDBC connection pools Bridging the language barrier between DBA and Middleware Administrators

Data Management in Application Servers. Dean Jacobs BEA Systems

What every DBA needs to know about JDBC connection pools * Bridging the language barrier between DBA and Middleware Administrators

Java Enterprise Edition

Samsung SDS Enterprise Cloud

Roadmap to Cloud with Cloud Application Foundation

Red Hat JBoss Enterprise Application Platform 7.1

Deccansoft Software Services. J2EE Syllabus

Oracle Database 12c: JMS Sharded Queues

WebLogic & Oracle RAC Active GridLink for RAC

Oracle WebLogic Diagnostics and Troubleshooting

Webcenter Application Performance Tuning guide

CO Java EE 7: Back-End Server Application Development

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

EMC XTREMCACHE ACCELERATES VIRTUALIZED ORACLE

Oracle Fusion Middleware

Oracle WebLogic Server 12c: JMS Administration Student Guide

SPECjAppServer2002 Statistics. Methodology. Agenda. Tuning Philosophy. More Hardware Tuning. Hardware Tuning.

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

Administering WebLogic Server on Java Cloud Service I Ed 1 Coming Soon

Oracle WebLogic Server 11g: Administration Essentials

Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1

Goal. Outline. Outline. J2EE architecture. Enterprise JavaBeans. J2EE Performance Scalability and Clustering Part 1

Java EE 6: Develop Business Components with JMS & EJBs

Sybase Adaptive Server Enterprise on Linux

Oracle WebCenter Portal Performance Tuning

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

Developing Message-Driven Beans for Oracle WebLogic Server c (12.1.3)

Performance and Load Testing R12 With Oracle Applications Test Suite

Red Hat JBoss Enterprise Application Platform 7.2

Course: JBoss Training: JBoss AS 7 and JBoss EAP 6 Administration and Clustering Training

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

IBM. Enterprise Application Development with IBM Web Sphere Studio, V5.0

Scaling DreamFactory

CARAVEL. Performance analysis in modernization projects BASE100. BASE 100, S.A.

ORACLE IDENTITY MANAGER SIZING GUIDE. An Oracle White Paper March 2007

ORACLE ENTERPRISE MANAGER 10g ORACLE DIAGNOSTICS PACK FOR NON-ORACLE MIDDLEWARE

IBM Operational Decision Manager Version 8 Release 5. Configuring Operational Decision Manager on WebLogic

COPYRIGHTED MATERIAL

JBOSS AS 7 AND JBOSS EAP 6 ADMINISTRATION AND CLUSTERING (4 Days)

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :

Java Performance: The Definitive Guide

J2EE DIAGNOSING J2EE PERFORMANCE PROBLEMS THROUGHOUT THE APPLICATION LIFECYCLE

BEAWebLogic Server. Introduction to BEA WebLogic Server and BEA WebLogic Express

Java EE 7: Back-End Server Application Development

SPEC Enterprise Java Benchmarks State of the Art and Future Directions

An Oracle White Paper October Minimizing Planned Downtime of SAP Systems with the Virtualization Technologies in Oracle Solaris 10

Inside WebSphere Application Server

IBM FileNet Content Manager 5.2. Asynchronous Event Processing Performance Tuning

Developing Applications with Java EE 6 on WebLogic Server 12c

1Z Oracle Application Grid 11g Essentials Exam Summary Syllabus Questions

Diagnostics in Testing and Performance Engineering

NetBeans IDE Field Guide

<Insert Picture Here> MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure

OS Virtualization. Linux Containers (LXC)

Heinz Mielimonka Leitender Systemberater STCC Nürnberg Oracle Corporation

Using Patrol for BEA WebLogic to Accelerate the Value of WebLogic Server (WLS) Tuning Primary Tuning Considerations Execute Queues

Improve Web Application Performance with Zend Platform

Oracle Database Mobile Server, Version 12.2

EMC XTREMCACHE ACCELERATES MICROSOFT SQL SERVER

Using the Transaction Service

About Terracotta Ehcache. Version 10.1

JVA-163. Enterprise JavaBeans

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

WHITE PAPER Application Performance Management. The Case for Adaptive Instrumentation in J2EE Environments

Virtualization of the MS Exchange Server Environment

Utilizing Databases in Grid Engine 6.0

ManageEngine Applications Manager 9. Product Features

Improving Data Access of J2EE Applications by Exploiting Asynchronous Messaging and Caching Services

Best Practices for Setting BIOS Parameters for Performance

Database Level 100. Rohit Rahi November Copyright 2018, Oracle and/or its affiliates. All rights reserved.

Oracle 10g: Build J2EE Applications

Assessing performance in HP LeftHand SANs

Oracle Fusion Middleware

1 Introduction to Oracle WebLogic Server

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

EsgynDB Enterprise 2.0 Platform Reference Architecture

Java Cloud Service & WLS 12c

CO Oracle WebLogic Server 12c. Administration II. Summary. Introduction. Prerequisites. Target Audience. Course Content.

Introduction. Architecture Overview

Websphere Server 8.5 Best Practices Oracle FLEXCUBE Universal Banking Release [December] [2016]

ITERATIVE DEVELOPMENT: THE USE OF J2EE BEST PRACTICES

Idle WebSphere Tuning Considerations

Fast Track to Java EE

TUTORIAL: WHITE PAPER. VERITAS Indepth for the J2EE Platform PERFORMANCE MANAGEMENT FOR J2EE APPLICATIONS

Transcription:

WebLogic Server- Tips & Tricks for Troubleshooting Performance Issues By: Abhay Kumar AST Corporation March 1st, 2016

Contents INTRODUCTION... 3 UNDERSTAND YOUR PERFORMANCE OBJECTIVES AND SET REALISTIC GOALS... 3 MEASURE YOUR PERFORMANCE METRICS... 3 TOP TUNING RECOMMENDATIONS... 4 TUNE POOL SIZE... 4 THREAD MANAGEMENT... 4 TUNING NETWORK I/O... 5 TUNING DATASOURCES... 5 TUNING TRANSACTIONS... 5 WEBLOGIC CLUSTERS... 6 TUNE PERSISTENT STORES... 6 USE BEST DESIGN PRACTICES... 6 CONCLUSION... 6 tips & ticks Page ii

Introduction There is no magical wand to tune the Weblogic server. It is a complex and iterative process Oracle WebLogic Server is the #1 application server across conventional and cloud environments. With Oracle WebLogic we can deliver next-generation applications on a mission-critical cloud platform, simplify operations with native cloud management, and accelerate time to market with a modern development platform and integrated tools. WebLogic Server is the industry's best application server for building and deploying enterprise Java EE applications with support for new features for lowering cost of operations, improving performance, enhancing scalability and supporting the Oracle Applications portfolio. Performance tuning WebLogic Server and your WebLogic Server application is a complex and iterative process. This paper will provide tips to get you started, and provide a short list of recommendations to help you optimize your application s performance. U N D E R S T A N D Y O U R P E R F O R M A N C E O B J E C T I V E S AN D S E T R E A L I S T I C G O A L S Understand your deployed application- Bad Design can never be a good candidate for performance tuning Find out the number of users using the system. Find out the number of requests on the system. The amount of data flowing in/out of the system. Determine the target CPU Utilization- Should not be 100%. M E A S U R E Y O U R PERFORMANCE M E T R I C S Take measurements of metrics which will be used to quantify the performance goals. Monitor Application Server (CPU and Disk) Monitor Database Server(CPU and Disk) Monitor data transfer across networks Locate bottlenecks and break them. Page 3

T O P T U N I N G RECO M M E N D A T I O N S Following is the list of recommendations for performance tuning. Tune Application- Overly-complex or poorlydesigned applications will perform poorly regardless of the system-level tuning and best practices employed to improve performance. Tune DB - Database can be a major enterpriselevel bottleneck. Database optimization can be complex and vender dependent. Tune WebLogic Server Performance Parameters- The WebLogic Server uses a number of OOTB (out-ofthe-box) performance-related parameters that can be fine-tuned depending on your environment and applications. Tuning these parameters based on your system can greatly improve both single-node performance and the scalability characteristics of an application. Tune Your JVM - The Java virtual machine (JVM) is a virtual "execution engine" instance that executes the bytecodes in Java class files on a microprocessor. Tune the Operating System - Each operating system sets default tuning parameters differently. For Windows platforms, the default settings are usually sufficient. However, the UNIX and Linux operating systems usually need to be tuned appropriately. T U N E POOL SIZE Provide pool sizes (such as pools for JDBC connections, Stateless Session EJBs, and MDBs) that maximize concurrency for the expected thread utilization. In general, the number of connections should equal the number of threads that are expected to be required to process the requests handled by the pool. The most effective way to ensure the right pool size is to monitor it and make sure it does not shrink and grow. T H R E A D M A N A G E M E N T WebLogic Server provides the following mechanisms to manage threads to perform work. Tuning a Work Manager: Tune the thread utilization of a server instance by defining rules and constraints for your application by defining a Work Manger. Tuning the Stuck Thread Detection Behavior: WebLogic Server automatically detects when a thread in an execute queue Page 4

becomes "stuck." Because a stuck thread cannot complete its current work or accept new work, the server logs a message each time it diagnoses a stuck thread. WebLogic Server diagnoses a thread as stuck if it is continually working (not idle) for a set period of time. You can tune a server's thread detection behavior by changing the length of time before a thread is diagnosed as stuck, and by changing the frequency with which the server checks for stuck threads. T U N I N G NETWORK I/O Network channels are also known as network access points. These access points let us specify variant quality of service parameters for network communication. The major role of a channel is to control the network traffic for a server. But we can leverage the capacity to build multiple custom channels to acknowledge a multi-threaded client to interact with server instances over multiple connections. So this helps in reducing the potential for a bottleneck. T U N I N G DATASOURCES An easy way to boost performance of a data source in WebLogic Server applications is to set the value of Initial Capacity equal to the value for Maximum Capacity when configuring connection pools in your data source. Cache JNDI connections. Use Test Connections on Reserve with Care. T U N I N G TRANSACTIONS Typical two-phase transactions in JMS applications usually involve both a JMS server and a database server. The LLR option can as much as double performance compared to XA.The safety of the JDBC LLR option contrasts with wellknown but less-safe XA optimizations such as "last-agent", "last-participant", and "emulate-two-phase-commit" that are available from other vendors as well as WebLogic.JDBC LLR works by storing two-phase transaction records in a database table rather than in the transaction manager log (the TLOG). Page 5

W E B L O G I C CLUSTERS A weblogic Server cluster is a group of WebLogic Servers instances that together provide fail-over and replicated services to support scalable high-availability operations for clients within a domain. A cluster appears to its clients as a single server but is in fact a group of servers acting as one to provide increased scalability and reliability. T U N E PERSISTENT S T O R E S For subsystems that share the same server instance, share one store between multiple subsystems rather than using a store per subsystem. Sharing a store is more efficient for the following reasons: A single store batches concurrent requests into single I/Os which reduces overall disk usage. Transactions in which only one resource participates are lightweight one-phase transactions. Conversely, transactions in which multiple stores participate become heavier weight two-phase transactions. Add a new store only when the old store(s) no longer scale. Under heavy JDBC store I/O loads, you can improve performance by configuring a JDBC store to use multiple JDBC connections to concurrently process I/O operations. U S E BEST DESIGN PRACTICES Most performance gains or losses in a database application is not determined by the application language, but by how the application is designed. The number and location of clients, size and structure of DBMS tables and indexes, and the number and types of queries all affect application performance. Conclusion This white paper provides some input on the major performance tuning considerations for WebLogic Server. However keep following things in mind: Performance tuning is not a silver bullet. Simply put, good system performance depends on: good design, good implementation, defined performance objectives, and performance tuning. Performance tuning is ongoing process. Implement Page 6

mechanisms that provide performance metrics which you can compare against your performance objectives, allowing you to schedule a tuning phase before your system fails. The object is to meet your performance objectives, not eliminate all bottlenecks. Resources within a system are finite. By definition, at least one resource (CPU, memory, or I/O) will be a bottleneck in the system. Tuning allows you minimize the impact of bottlenecks on your performance objectives. Design your applications with performance in mind. o Keep things simple - avoid inappropriate use of published patterns. o Apply Java EE performance patterns. o Optimize your Java code. Page 7