Thursday, May 5, 2011

Oracle WebLogic Server: Advanced Administration

Installation Management
  • Smart Update
  • Patch Management
Domain Templates
  • Domain Templates
  • Extension Templates
  • Template Builder
Other Domain Tools
  • WLST and Templates
  • Pack Tool
  • Configuration Backup
  • Configuration Auditing
Advanced Network Configuration
  • Network Channels
  • Administration Channels
  • Standby Mode
Multi Data Sources
  • Data Source Failover
  • Data Source Load Balancing
  • Connection Testing
  • WebLogic and RAC
JDBC Performance Essentials
  • Connection Pooling
  • Statement Caching
  • Last Logging Resource
JMS Message Management
  • Viewing Messages
  • Exporting Messages
  • Pausing Destinations
JMS Guaranteed Messaging
  • Persistent Stores
  • Durable Subscribers
JMS Performance Essentials
  • Quotas
  • Thresholds
  • Unit of Order
JMS Store and Forward
  • SAF Agents
  • SAF Contexts
  • SAF Imported Destinations
JMS Message Bridge
  • Bridge Adapters
  • Bridge Destinations
  • Quality of Service
Server Migration
  • Cluster Leasing
  • Candidate Machines
JMS Clustering
  • JMS Cluster Targeting
  • Service Migration
  • Migratable Targets
  • Distributed Destinations
  • JMS Load Balancing
Cross-Cluster Replication
  • MAN Replication
  • WAN Replication
Authentication Providers
  • Security Realms
  • Security Stores
  • Control Flags
  • LDAP Authenticators
  • SQL Authenticator
  • Password Validation
  • Security Migration
Server Performance Essentials
  • Load Testing
  • JVM Tuning
  • Heap Monitoring
  • Work Managers
Monitoring and Diagnostics Essentials
  • Runtime MBeans
  • Diagnostics Framework
  • Metric Collectors
  • Watches
  • Instrumentation
  • WebLogic and SNMP
  • Trap Monitors

WebLogic Server: Performance Tuning

Introduction to Performance Monitoring
  • Overview of Performance Methodology
  • Importance of Performance Tests and Benchmarks
  • Introduction to Load and Stress Test Tools
  • Configuring the Grinder
  • Introduction to Oracle Application Testing Suite
Monitoring and Tuning JRockit JVM
  • Overview of Java Virtual Machines
  • Understanding Garbage Collection and Heap Fragments
  • JRockit JVM Benefits
  • JRockit Mission Control
  • JRockit Runtime Analyzer
  • JRockit Memory Leak Detector
  • Tuning JRockit JVM Garbage Collection
  • Configuring JVM Parameters
Tuning Hotspot JVM
  • Overview of Hotspot JVM
  • Tools for Monitoring Hotspot JVM
  • Using Java Visual VM
  • Command-line Tools to Monitor Hotspot JVM
  • Understanding JVM Ergonomics
  • Use of Throughput Goal
  • Use of Footprint Goal
  • Configuring JVM Parameters
Configuring Work Managers
  • Introduction to WLS Self-tuning
  • What is Work Manager?
  • Threadpool and Priority
  • Scheduling Guidelines
  • Work Manager Configuration
  • Work Manager Scope and Sharing Constraints
  • Introduction to CommonJ
Configuring Other WebLogic Server Resources
  • Domain Startup Mode
  • Native IO Performance
  • Stuck Threads
  • Tuning Chunk Size
  • Connection Backlogs
Using the JSP Compiler jspc
  • Using the Precompile Option
  • Setting JSP Page Check Interval
  • Setting Servlet Reload Check Interval
  • Defining WebLogic Cache Tag
Tuning JDBC
  • Tuning Connection Pools
  • Tuning Statement Caches
  • Performing Batch Updates
  • Tuning Transactions
  • Tuning Database Specific Parameters
Tuning EJB
  • Tuning Pool Size
  • Tuning Cache Size
  • Tuning Concurrency Strategy
  • Tuning Entity Bean Parameters
  • Tuning Transactions
  • Tuning EJB Clients
Tuning JMS
  • Tuning JMS Clients
  • Defining Aggregation and Message Pipeline
  • Describing Persistence Techniques
  • Listing Throttling Techniques
  • Considerations for Store and Forward message
Tuning WebLogic Server Clusters
  • Architectural Consideration
  • Load Balancers and Firewalls
  • Session Persistence
  • General Tuning Tips

Oracle WebLogic Server: Troubleshooting Methodologies


Introduction to Diagnostic Patterns
  • Overview of Patterns
  • What is a Pattern
  • Identifying Support Pattern Methodology
  • Why Use Support Patterns
  • Identifying Support Pattern Resources
Common Diagnostic Tools
  • JVM Management: Java SE 6.0 Monitoring and Management Architecture
  • Identifying Processes and Threads
  • Obtaining a Thread Dump Using WLS
  • Memory: Define Java Heap
  • Garbage Collection Review
  • Configuring JRockit Heap
Server Core Dump Pattern
  • Identifying Server Core Dump Pattern
  • Symptoms and Causes of a Server Core Dump
  • Identifying Why Core File is Not Produced
  • Investigating Causes of Server Core Dump
  • Overview of Investigation
  • Overview of Core File Tools
  • Overview of Standard Investigation Tools
  • Creating Troubleshooting Checklist
Generic Server Hang Pattern
  • Symptoms and Causes of a Server Hang
  • Investigation of Server Hang
  • Basic Investigation Steps
  • View the Execute Threads
  • Thread Dump on a Running Server
  • Analysis and Troubleshooting Investigation Results
  • Setting Server Thread Counts
  • Troubleshooting Strategy
Identifying High CPU Usage Pattern and Describing Resolution Steps
  • Identifying High CPU Usage Pattern
  • Review: Processes and Threads
  • Investigating High CPU Usage: On Solaris, Linux, and Windows OS
  • Analyzing the Server Instance to Determine What Threads are Causing the Issue
  • Using the Analyzed Information to Identify Areas Where Performance Tuning is Required
Analyzing and Diagnosing Out of Memory/Memory Leak Patterns
  • Review of General Memory Concepts: Java Heap, Native Memory, and Memory Leaks
  • Investigating Java Heap Out of Memory Errors
  • Review Garbage Collection and Object References
  • Symptoms, Causes, and Troubleshooting of Out of Memory in Java Heap
  • Investigating Out of Native Memory Conditions
  • Review: Process Size, Virtual vs. Physical Memory
  • Symptoms, Causes, and Troubleshooting of Native Out of Memory Conditions
Generic JDBC Pattern
  • Understanding Generic JDBC Pattern
  • Review: JDBC Database, Datasources, Connection Pool, and Statement Cache
  • Investigating JDBC Problems
  • Server Startup: Failed Pool Creation
  • Causes of Resource Exceptions
  • Overview of Insufficient Connections
  • Troubleshooting WebLogic Server Crashes
  • Troubleshooting WebLogic Server or Application Hangs and Memory Leaks
Troubleshooting Too Many Open Files Pattern
  • Symptoms, Causes, and Troubleshooting of Too Many Open Files Problem
  • Identifying a WebLogic System That Has Too Many Files Open
  • Using Available Tools to Determine Which Component Has Too Many Files Open and What the Files Are
Describing and Diagnosing Class Exception Patterns
  • Describing Class Cast Exception Pattern
  • Investigating Class Exceptions and Errors
  • Adding Application Code Diagnostics
  • Identifying Different Class Loaders
  • Describing Known WLS Issues
  • Understanding and Troubleshooting Class Casting Issues
  • Understanding and Troubleshooting Basic Class Loader Issues
Understanding Symptoms, Causes, and Tools to Troubleshoot Multicast Patterns
  • Reviewing a WebLogic Server Cluster and Clustered Server Communication
  • Describing Multicast Problems and Investigation
  • Configuration Errors and Physical Network Problems
  • Multicast Timeouts
  • Clustering Heartbeat Problems and Multicast Storms
  • Testing and Debugging Multicast Patterns
  • Discussing Some of the Potential Multicast Issues that Can Occur in a WebLogic Server Cluster
  • Understanding the Processes Involved in Identifying and Resolving the Issues
General Diagnostics for Proxy Plug-ins Pattern
  • Diagnosing and Troubleshooting Proxy Plug-ins Pattern
  • Gathering Plug-in Diagnostics
  • Switching on Debugging for the WebLogic Server Proxy
  • Knowing Where to Look in the WebLogic Server Console and Proxy Logs for Issues
Identifying, Investigating, and Diagnosing HTTP Session Replication Failures Pattern
  • Reviewing HTTP Session Replication Failures Pattern
  • Causes, Symptoms, and Examples of HTTP Session Replication Failure
  • Investigating HTTP Session Replication Failures
  • Gathering Diagnostics: Enable Debug
  • Understanding How the WebLogic Server Proxy Server Works with Respect to HTTP Session Replication and Failover
  • Discussing Various Aspects of HTTP Session Replication Configuration and Operation

Monday, January 24, 2011

String Concatenation in Python

Build a list of strings, then join it


def method():
str_list = []
for num in xrange(loop_count):
str_list.append(`num`)
return ''.join(str_list)

This approach is commonly suggested as a very pythonic way to do string concatenation. First a list is built containing each of the component strings, then in a single join operation a string is constructed conatining all of the list elements appended together.



Write to a pseudo file


from cStringIO import StringIO
import timing, commands, os
from sys import argv
def method():
from cStringIO import StringIO
file_str = StringIO()
for num in xrange(loop_count):
file_str.write(`num`)

The cStringIO module provides a class called StringIO that works like a file,
but is stored as a string. Obviously it's easy to append to a file - you simply
write at the end of it and the same is true for this module. There is a similar
module called just StringIO, but that's implemented in python whereas cStringIO
is in C. It should be pretty speedy. Using this object we can build our string
one write at a time and then collect the result using the getvalue() call.

return file_str.getvalue()

downloading rpm packages without installing them

You need to install plugin called yum-downloadonly. This plugin adds a --downloadonly flag to yum so that yum will only download the packages and not install/update them. Following options supported by this plugin:

[a] --downloadonly : don't update, just download a rpm file
[b] --downloaddir=/path/to/dir : specifies an alternate directory to store packages such as /tmp


How do I install yum-downloadonly plugin?

Type the following command to install plugin, enter:
# yum install yum-downloadonly



After this plugin is installed on yum, you can use the following command to download any rpm package and store it to downloaddir location.


Download RPM Packages
yum reinstall libXtst --downloadonly --downloaddir=/tmp