WAS v5.1 Performance

 

+

Search Tips   |  Advanced Search

 


 

Overview

  1. Objectives
  2. Scalability
  3. Performance
  4. Throughput
  5. Workload management
  6. Availability
  7. Hardware-based high availability
  8. Failover
  9. Maintainability
  10. Dynamic changes to configuration
  11. Mixed configuration
  12. Fault isolation
  13. Session state
  14. Performance impacts of WAS security
  15. WAS architecture
  16. WAS Network Deployment components
  17. Web clients
  18. Java clients
  19. Workload management
  20. Web server workload management
  21. Plug-in workload management
  22. Workload management using WebSphere clustering
  23. Distributing workloads
  24. Failover
  25. Scalability
  26. Secure application cluster members
  27. Enterprise Java Services workload management
  28. Managing session state among servers
  29. HTTP sessions and the session management facility
  30. EJB sessions or transactions
  31. Stateless session bean
  32. Stateful session bean
  33. Entity bean
  34. Message-driven beans
  35. Server affinity
  36. Performance improvements over previous versions

 

Design For Scalability

  1. Overview
  2. Scaling your infrastructure
  3. Understanding the application environment
  4. Categorizing your workload
  5. Workload patterns and Web site classifications
  6. Publish/subscribe (user to data)
  7. Online shopping (user to online buying)
  8. Online trading (user to business)
  9. Business to business
  10. Workload characteristics
  11. Determining the most affected components
  12. Selecting the scaling techniques to apply
  13. Using a faster machine
  14. Creating a cluster of machines
  15. Using appliance servers
  16. Segmenting the workload
  17. Batch requests
  18. Aggregating user data
  19. Managing connections
  20. Caching
  21. Applying the technique(s)
  22. Re-evaluating

 

Toplogies

  1. Overview
  2. J2EE tiers model
  3. Topology selection criteria
  4. Strategies for scalability
  5. Session persistence considerations
  6. Single machine topology
  7. Separating the Web server
  8. Separating the database server
  9. Vertical scaling
  10. Horizontal scaling with clusters
  11. Advantages
  12. Disadvantages
  13. Horizontal scaling with IP sprayer
  14. Complex IP sprayer topology
  15. Advantages
  16. Disadvantages
  17. One WebSphere administrative cell versus many
  18. Advantages
  19. Disadvantages
  20. 0 Multiple clusters on one node versus one cluster per node
  21. Advantages
  22. Disadvantages
  23. The sample topology
  24. Topologies and high availability
  25. Using WebSphere Load Balancer custom advisor
  26. thoughts on topologies
  27. Topology selection summary

 

Load Balancing

  1. Overview
  2. Introduction
  3. Scalability
  4. Availability
  5. Performance
  6. IBM WebSphere Edge Components
  7. Load Balancer overview
  8. Dispatcher component
  9. Content Based Routing (CBR)
  10. Site Selector
  11. Cisco CSS Controller and Nortel Alteon Controller
  12. Load Balancer topologies
  13. Load Balancer on a dedicated server
  14. Collocated servers
  15. High availability
  16. Mutual high availability
  17. Installation and configuration
  18. Setting up the cluster machines
  19. Configuring a Web server cluster
  20. Testing the configuration
  21. Advisors
  22. Customizable advisor settings
  23. Custom advisors
  24. Using WAS sample custom advisor
  25. Server affinity
  26. "Stickyness" to source IP address
  27. Passive cookie affinity
  28. Active cookie affinity
  29. URI
  30. SSL session ID
  31. Caching Proxy
  32. Forward proxy
  33. Reverse proxy (IP forwarding)
  34. Load Balancing
  35. Dynamic caching

 

Plug-in workload management and failover

  1. Overview
  2. Introduction
  3. The embedded HTTP transport
  4. Setting up the Web containers
  5. Virtual hosts
  6. Transports
  7. Setting up transports
  8. Setting up multiple transports
  9. HTTPS considerations in a WLM environment
  10. Creating clusters and cluster members
  11. WebSphere plug-in workload management
  12. Processing requests
  13. The plug-in configuration file
  14. Generation of the plug-in configuration file
  15. Auto-reload setting of your Web module
  16. Refresh interval of the plug-in
  17. Manual regeneration of the plug-in file
  18. Plug-in workload management and failover policies
  19. Workload management policies
  20. Failover
  21. Primary and backup servers
  22. Session management
  23. Session affinity
  24. Session failover inside the plug-in
  25. Session identifiers
  26. Cookies
  27. URL rewriting
  28. SSL ID
  29. Session persistence and failover
  30. Database session management
  31. Memory-to-memory replication
  32. Troubleshooting the Web server plug-in
  33. Logging
  34. The plug-in log
  35. WASs activity.log
  36. Web server error log
  37. Trace
  38. Tracing the plug-in
  39. Tracing GenPluginCfg
  40. Web server plug-in behavior and failover
  41. Normal operation
  42. Workload management with the plug-in
  43. Testing session management
  44. Failover operation
  45. Stopping a cluster member
  46. Stopping a cluster member containing active sessions
  47. Killing a cluster member during a request
  48. Overloading a cluster member
  49. Tuning failover
  50. ConnectTimeout setting
  51. RetryInterval setting
  52. MaxConnections setting

 

EJB workload management

  1. Overview
  2. Enabling EJB workload management
  3. EJB types and workload management
  4. Stateless session beans
  5. Stateful session beans
  6. Entity beans
  7. Naming and name spaces
  8. Looking up an EJB home with JNDI examples
  9. Perform lookup in an EJB or Web container in the same cell
  10. Perform lookup in an EJB / Web container outside the cell
  11. Perform lookup in a J2EE application client container
  12. Perform lookup in a Java stand alone client
  13. How EJBs participate in workload management
  14. Initial request
  15. Subsequent requests
  16. Cluster run state changes
  17. EJB server selection policy
  18. Server weighted round robin routing configuration
  19. Prefer local configuration
  20. EJB workload management behavior
  21. WLM behaviors using server weighted round robin
  22. Prefer local
  23. Process affinity
  24. Transaction affinity
  25. EJB workload management failover
  26. Exceptions triggering automatic failover
  27. Exceptions thrown by WLM to the application
  28. Backup Cluster support

 

Implement the sample topology

  1. Introduction
  2. Overview
  3. Software products
  4. The sample topology
  5. Applications used in our sample topology
  6. BeenThere
  7. Trade
  8. Installation summary
  9. Configuring Caching Proxy
  10. Starting Caching Proxy
  11. Set up Caching Proxy
  12. Set administrator user ID and password
  13. Restart Caching Proxy
  14. Configuring Load Balancer
  15. Configuring the Web servers for Load Balancer
  16. Starting Load Balancer and administration GUI
  17. Connecting to the Dispatcher host
  18. Adding the Web server cluster
  19. Adding a port to the cluster
  20. Adding the Web servers to the cluster
  21. Start the Network Dispatcher manager
  22. Checking what you have done until now
  23. Configuring WebSphere clusters
  24. Introduction
  25. Creating the Web container cluster
  26. Creating the EJB cluster
  27. Configure persistent session management
  28. Install BeenThere
  29. BeenThere installation summary
  30. Install BeenThere
  31. Regenerate Web server plug-in
  32. Restart servers
  33. Verifying BeenThere
  34. Install Trade3.1
  35. Trade installation summary
  36. Download the Trade package
  37. Set up and configure Trade3DB database
  38. Create JDBC and JMS resources
  39. SOAPify Trade3.ear
  40. Install Trade from the WebSphere Administrative Console
  41. Regenerate Web server plug-in
  42. Restart servers
  43. Install Trade using the installation script
  44. Working with Trade
  45. Verify failover with Trade
  46. Volume testing Trade

 

High Availability

  1. Introduction
  2. Process availability and data availability
  3. Clustering for high availability
  4. Availability definition
  5. Levels of availability
  6. Availability matrix
  7. Causes of downtime
  8. Possible single points of failure in the WebSphere system
  9. Levels of WebSphere system availability
  10. WebSphere system HA level 1
  11. WebSphere system HA level 2
  12. WebSphere system HA level 3
  13. WebSphere system HA level 4
  14. WebSphere system HA level 5
  15. WebSphere system HA level 6
  16. Planning and evaluating your WebSphere HA solutions
  17. Failover terms and mechanisms

 

Failover and recovery

  1. Introduction
  2. Overview
  3. Web container clustering and failover
  4. Web container failures and failover
  5. Web server plug-in failover performance tuning
  6. Primary and backup servers cluster two-level failover
  7. 9-07.htm
  8. RetryInterval and operating system TCP timeout
  9. Network failures
  10. Stream and overloading failover
  11. HTTP session failover
  12. Server ID
  13. Session ID
  14. Ordered routing process
  15. Session affinity and failover
  16. No session support needed
  17. No session information in the client
  18. Session affinity without session persistence
  19. Session persistence and failover
  20. Session update methods and failover session data loss
  21. At the end of servlet service
  22. Manually sync() in the code using the IBM extension
  23. Time-based (at a specified time interval)
  24. Session persistence and failover
  25. In-memory
  26. Persistent to database
  27. Memory-to-memory
  28. EJB container failover
  29. EJB client redundancy and bootstrap failover support
  30. EJB container redundancy and EJB WLM failover support
  31. Redundant server topology for EJB failover support
  32. EJB WLM routing
  33. Routing algorithm
  34. LSD failover
  35. EJB container failover behavior and tuning
  36. Fault isolation and data integrity
  37. EJB caching and failover
  38. EJB types and failover
  39. Conditions of WLM failover
  40. Resource redundancy (EJB database, JMS resource, LDAP)
  41. Enhancing WebSphere HA using clustering software
  42. Failover unit
  43. Configuration and setup for HACMP
  44. Failover process
  45. Advantages

 

Deployment Manager and Node Agent high availability

  1. Introduction
  2. Introduction
  3. Node Agent failures
  4. Application servers
  5. Deployment Manager
  6. Location Service Daemon
  7. Naming server
  8. Security server
  9. Application clients
  10. Synchronization Service and File Transfer Service
  11. RAS service, PMI and monitoring
  12. Administrative clients
  13. Enhancing Node Agent high availability
  14. Loopback alias configuration
  15. Add Node Agent as OS daemon
  16. Enhancing Node Agent HA using clustering software
  17. Deployment Manager failures
  18. Configuration management
  19. Node Agent
  20. Application server
  21. Naming server
  22. Security server
  23. WLM runtime service
  24. Application clients
  25. Synchronization Service and File Transfer Service
  26. RAS Service and PMI monitoring
  27. Administrative clients
  28. Enhancing Deployment Manager high availability
  29. Add Deployment Manager to OS daemon service
  30. Make Deployment Manager highly available using clustering software and hardware
  31. HACMP configuration

 

WebSphere Embedded JMS server and WebSphere MQ high availability

  1. Introduction
  2. JMS support in IBM WAS Network Deployment V5.1
  3. Embedded JMS server high availability using clustering software
  4. WebSphere MQ HA using clustering software
  5. WebSphere MQ built-in queue manager clustering
  6. Combined approaches for MQ built-in queue manager cluster and HACMP clustering

 

WebSphere data management high availability

  1. Introduction
  2. WebSphere with IBM HACMP
  3. Introduction and considerations
  4. Hardware and software
  5. Setup and configuration
  6. Typical failover
  7. Initiating various failures and tests
  8. Tuning heartbeat and cluster parameters
  9. WebSphere with MC/ServiceGuard
  10. Introduction and considerations
  11. Hardware and software
  12. Setup and configuration
  13. Typical failover
  14. Initiating various failures and tests
  15. Tuning heartbeat and cluster parameters
  16. WebSphere with Sun Cluster
  17. Introduction and considerations
  18. Setup and configuration
  19. WebSphere with VERITAS Cluster
  20. Introduction and considerations
  21. Setup and configuration
  22. WebSphere with Microsoft Cluster Service
  23. Introduction and considerations
  24. Setup and configuration
  25. Programming clients for transparent failover
  26. Bootstrap to multiple hosts
  27. Catch StaleConnectionException
  28. Direct JDBC calls, auto commit
  29. Direct JDBC calls, local transaction
  30. Direct JDBC calls, global transaction
  31. Indirect JDBC calls, rethrowable
  32. Indirect JDBC calls, wrapped
  33. WebSphere and IP-based database failover
  34. Administrative servers and administrative actions
  35. Application servers
  36. Persistent session
  37. Java/C++ applications and application re-connecting
  38. Enterprise beans
  39. Web-based clients, applets, servlets, and JSPs
  40. Naming service and security service
  41. Workload management
  42. WebSphere with OPS and RAC
  43. Introduction and considerations
  44. Setup and configuration
  45. Install the shared disk subsystem
  46. Creating raw devices
  47. Install the operating system-dependent layer
  48. Install OPS/RAC
  49. Configuring OPS/RAC net service for failover
  50. Configuring WebSphere servers
  51. WebSphere with DB2 Parallel Server
  52. Introduction and considerations
  53. Setup and configuration
  54. WebSphere and non-IP-based database failover
  55. One instance for all WebSphere databases?
  56. WebSphere and Web server high availability

 

High availability of LDAP, NFS, and firewall

  1. Introduction
  2. Load Balancer high availability
  3. LDAP high availability
  4. Firewall high availability
  5. Using clustering software
  6. Using a network sprayer
  7. Conclusions
  8. Network file system high availability
  9. Summary

 

Dynamic caching

  1. Overview
  2. Introduction
  3. WWW caching services
  4. Fragment caching
  5. Dynamic caching scenarios
  6. Using WebSphere dynamic cache services
  7. Installing Dynamic Cache Monitor
  8. Enabling dynamic cache service
  9. WebSphere dynamic caching scenarios
  10. Servlet/JSP result caching
  11. Testing home servlet and market summary JSP
  12. Command result caching
  13. Enabling command result caching
  14. Cache replication
  15. Enable cache replication
  16. Configure cache replication
  17. Configure cachespec.xml file for cache replication
  18. Cache replication testing
  19. Cache invalidation
  20. Troubleshooting the dynamic cache service
  21. WebSphere external caching scenarios
  22. WebSphere External Cache configuration
  23. External cache group settings
  24. External cache group member settings
  25. External caching by Web server plug-in
  26. ESI Processor
  27. Configuration steps
  28. ESI cache monitoring
  29. Cache invalidation
  30. External caching on IBM HTTP Server
  31. Configuration steps
  32. Cache monitoring
  33. External caching on Caching Proxy
  34. Caching Proxy monitoring
  35. Caching Proxy troubleshooting
  36. External cache invalidation
  37. Conclusion
  38. Benchmarking Trade3
  39. Dynamic caching
  40. Edge Side Includes
  41. Performance
  42. Best Practices
  43. Reference

 

Optimizing use of JMS components

  1. Overview
  2. Introduction
  3. Components used in a JMS configuration
  4. Generic JMS usage
  5. JMS and Message Driven Beans
  6. Managing workload for JMS through configuration
  7. Basic workload patterns
  8. Workload from Web or EJB container
  9. Workload from messaging system (MDB)
  10. Workload from both
  11. Relationships between JMS components
  12. Component relationships when using MDBs
  13. Component relationships when using generic JMS
  14. Choosing optimal configuration settings
  15. Creation of the JMS provider objects at the correct scope
  16. Important JMS component settings
  17. Transport Type - BINDINGS or CLIENT
  18. Persistent Messages
  19. XA enabled resources
  20. Client ID and Enable Clone support on a TCF
  21. DIRECT or QUEUED transport type for TCF
  22. The listener service and listener ports
  23. Message listener port maximum sessions
  24. Maximum messages
  25. Message listener service thread pool
  26. Underlying MQ JMS connection pooling
  27. Use separate QCF and TCF for MDBs
  28. Failure behavior settings
  29. Setting up the QCF / TCF pools
  30. More information
  31. Optimizing JMS performance in the code
  32. Selectors
  33. Generic JMS and point-to-point messages
  34. MDBs and selectors
  35. Application defined persistence
  36. Tidying up
  37. JMS Listener port failure behavior
  38. Failure in the listener port
  39. Failure to process a message
  40. Example JMS topologies and scenarios
  41. What does Trade3 use JMS for?
  42. Point-to-point
  43. Publish/Subscribe
  44. Clustered Trade3 application and the Embedded JMS server
  45. The chosen embedded JMS topology
  46. Setting up the topology
  47. Clustered Trade3 application WebSphere MQ and WebSphere Business Integration Event Broker
  48. The chosen WebSphere MQ clustering topology
  49. Software
  50. Initial WebSphere MQ configuration
  51. WebSphere Business Integration Event Broker Configuration
  52. WAS configuration
  53. Monitoring JMS performance within Tivoli Performance Viewer
  54. Refresh to see all settings
  55. What do the monitors under JCA connection pools mean?

 

Server-side performance and analysis tools

  1. Overview
  2. The dimensions of monitoring
  3. Overview: Collecting and displaying appserver data
  4. Performance Monitoring Infrastructure
  5. Performance data classification
  6. Performance data hierarchy
  7. Performance data counters
  8. Instrumentation levels
  9. Enabling the PMI service
  10. Using Administrative Console to enable the PMI service for the appserver
  11. Using Administrative Console to enable the PMI service for the Node Agent
  12. Using wsadmin to enable the PMI service
  13. Setting instrumentation levels
  14. Using the Administrative Console to set instrumentation levels
  15. Using the wsadmin command to set instrumentation levels
  16. Using JVMPI facility for PMI statics
  17. Performance data provided by JVMPI
  18. Enabling JVMPI from the Administrative Console
  19. Enabling JVMPI with the command line interface
  20. Disabling JVMPI profiling
  21. Summary
  22. Using Tivoli Performance Viewer
  23. About Tivoli Performance Viewer
  24. What can Tivoli Performance Viewer do?
  25. Tivoli Performance Viewer functionality
  26. Running Tivoli Performance Viewer
  27. Connecting to the Deployment Manager
  28. Running disconnected
  29. Accessing a remote server
  30. Stopping the Tivoli Performance Viewer
  31. Tivoli Performance Viewer with security enabled
  32. Setting the instrumentation levels
  33. Custom settings
  34. Setting instrumentation level for enterprise bean methods
  35. Using Tivoli Performance Viewer to monitor an application
  36. Refreshing data
  37. Displaying multiple counters
  38. Recording in a log file
  39. Replaying a log file
  40. Clearing values from tables and charts
  41. Resetting counters to zero
  42. Viewing and modifying chart data
  43. Changing display settings
  44. Getting online help
  45. Other performance monitoring and management solutions
  46. Developing your own monitoring application
  47. PMI Request Metrics
  48. Enabling and configuring PMI Request Metrics
  49. PMI Request Metrics trace record format
  50. Filters
  51. Example: Generating trace records from Performance Monitoring Infrastructure Request Metrics
  52. Dynamic Cache Monitor
  53. Monitoring the IBM HTTP Server
  54. Configure your IBM HTTP Server
  55. Starting the Windows performance monitor
  56. Selecting performance data
  57. IBM HTTP Server status page
  58. Log Analyzer
  59. ThreadAnalyzer Technology preview
  60. Download and installation of ThreadAnalyzer
  61. Using ThreadAnalyzer
  62. Starting Thread Analyzer
  63. ThreadAnalyzer project
  64. ThreadAnalyzer thread dumps
  65. Obtaining a thread dump to analyze
  66. Navigating in ThreadAnalyzer
  67. Automatic deadlock detection
  68. ThreadAnalyzer usage example
  69. Getting online help
  70. Performance Advisors
  71. Runtime Performance Advisor configuration settings
  72. Advice configuration settings
  73. Using the Runtime Performance Advisor
  74. Runtime Performance Advisor output
  75. TPV Advisor configuration
  76. Using TPV Advisor
  77. TPV Advisor output
  78. Reference

 

Development-side performance and analysis tools

  1. Overview
  2. Introduction
  3. The Profiler (profiling tools)
  4. Overview
  5. IBM Agent Controller
  6. Profiler configuration
  7. Profiler configuration for a remote process
  8. Profiler configuration for WebSphere Studio test environment
  9. Generic Profiler configuration (local and remote environments)
  10. Start data collection
  11. Configuration settings for profiling
  12. Profiling the application
  13. Testing methodology
  14. Using the Profiler
  15. Profiler views
  16. Column information
  17. Package Statistics Table
  18. Class Statistics Table
  19. Method Statistics Table
  20. Instance Statistics Table
  21. Object References Table
  22. Execution Flow View
  23. Object and Class Interaction (Sequence Diagram) views
  24. Method Invocation View
  25. Host Interaction View
  26. Process Interaction View
  27. Thread Interactions View
  28. IBM Page Detailer
  29. Overview
  30. Important considerations
  31. Key factors
  32. Tips for using Page Detailer
  33. Reference

 

Application development: Best practices for performance and scalability

  1. Overview
  2. Introduction and general comments
  3. Memory
  4. Session Management
  5. Synchronization
  6. Servlets and JavaServer Pages
  7. Logging
  8. Enterprise JavaBeans
  9. Database access
  10. General coding issues
  11. Reference

 

Performance tuning

  1. Overview
  2. Testing the performance of an application
  3. Introduction to application performance testing
  4. Tools of the trade
  5. WebSphere Performance Tools
  6. ApacheBench
  7. Command line options
  8. OpenSTA
  9. Feature overview
  10. Prerequisites and installation
  11. The OpenSTA architecture
  12. Recording the Trade3 script
  13. Randomizing request using variables
  14. Additional Script Modeler features
  15. Performance testing using the OpenSTA Commander
  16. View results
  17. Other testing tools
  18. Performance monitoring guidelines
  19. Monitoring using Tivoli Performance Viewer and Advisors
  20. Top-ten monitoring hotlist
  21. Tivoli Performance Advisor
  22. Runtime Performance Advisor
  23. Performance analysis
  24. Terminology
  25. Performance testing
  26. The Monitoring - Tuning - Testing cycle
  27. Performance tuning guidelines
  28. Tuning parameter hotlist
  29. Parameters to avoid failures
  30. Hardware and capacity settings
  31. Adjusting WAS system queues
  32. Queuing before WebSphere
  33. Determining optimum queue sizes
  34. Determining the maximum concurrency point
  35. Adjusting queue settings for access patterns
  36. Configuring the queues
  37. Data sources
  38. EJB container
  39. Web container
  40. Web server
  41. Using cluster configurations
  42. Application assembly performance checklist
  43. Enterprise bean modules
  44. Web modules
  45. Java tuning
  46. Garbage collection basics
  47. The garbage collection bottleneck
  48. The garbage collection gauge
  49. Detecting over-utilization of objects
  50. Detecting memory leaks
  51. Java heap parameters
  52. Tuning the IBM JVM
  53. Tuning the Sun JVM
  54. Operating system tuning
  55. AIX
  56. HP-UX 11i
  57. Linux - Red Hat Advanced Server
  58. Linux - SUSE Linux Enterprise Server 8 SP2A
  59. Solaris
  60. Windows NT or 2000 TCP/IP parameters
  61. The Web server
  62. Web server configuration reload interval
  63. IBM HTTP Server
  64. IBM HTTP Server - Linux
  65. IBM HTTP Server - Windows 2000 or Windows 2003
  66. IBM HTTP Server
  67. Sun ONE Web Server (formerly iPlanet)
  68. Microsoft IIS
  69. Dynamic Cache Service
  70. Security settings
  71. Tuning Secure Sockets Layer
  72. Overview of handshake and bulk encryption and decryption
  73. Object Request Broker (ORB)
  74. XML parser selection
  75. Transaction service settings - transaction log
  76. DB2 tuning
  77. DB2 logging
  78. DB2 configuration advisor
  79. Use TCP sockets for DB2 on Linux
  80. DB2 MaxAppls and DB2 MaxAgents
  81. DB2 buffpage
  82. DB2 query optimization level
  83. DB2 reorgchk
  84. DB2 MinCommit
  85. Additional reference materials

 

Backups and Restores

  1. Network Deployment configurations
  2. Backup methods
  3. Node failure scenarios
  4. Failure of the Deployment Manager node
  5. Failure of a WAS Base node
  6. Node recovery
  7. Recovery using filesystem backup and restore methods
  8. Prerequisites
  9. Restoring the Deployment Manager node
  10. Restoring a WAS Base node
  11. Recovery using backupConfig and restoreConfig
  12. Prerequisites
  13. Restoring the Deployment Manager node
  14. Restoring a WAS Base node
  15. Conclusion
  16. Additional reference material

 

Example

  1. Sample URL rewrite servlet

 

See Also

  1. IBM Redbooks
  2. Other publications
  3. Online resources
  4. How to get IBM Redbooks
  5. Help from IBM

  Home

 

 

 

 

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.

 

Tivoli is a trademark of the IBM Corporation in the United States, other countries, or both.