Commerce performance monitoring
- High Availability
- Failover and mutual failover
- Switchover
- Fail back of fallback
- Nodes, cells, and clusters
- Terminology
- Workload
- Transaction
- Scenario
- Throughput
- Response time
- Capacity
- Failover
- WebSphere Commerce environments
- Runtime environment
- Development environment
- Considerations for implementing High Availability solution
- Continuous business capacity and performance
- Failover support and disaster recovery
- System monitoring and performance tuning
- Performance testing
- Types of system outages
- Different scopes of system outage
- Different causes of system outage
- High Availability solution for WebSphere Commerce
- Identify your scenario
- Identify your resources and skills requirements
- Inventory of site assets
- Inventory skilled resources required
- Plan your activities
- Education and training
- Getting skilled help
- Site development life cycle
- Scaling hardware versus performance tuning
- Performance testing is critical
- Failover support for launch
- Topology
- Chapters overview
- High Availability
- Application development
- Performance monitoring and tuning
- Performance test
- Maintenance
- Reliability Scalable Cluster Technology
- Tivoli System Automation
- Introduction
- Terms in Tivoli System Automation
- Start with Tivoli System Automation
- Relationship with RSCT
- HACMP
- High Availability Disaster Recovery
- Introduction
- Architecture of HADR
- How HADR works
- Synchronization modes for HADR
- Automatic Client Reroute
- HACMP
- SQL replication
- Introduction
- How SQL replication works
- Introduction to availability
- Hardware-based High Availability
- Workload management
- Failover
- HAManager
- Session management
- WebSphere workload management defined
- Distributing workloads
- Benefits
- Session management and failover inside the plug-in
- Web container failures
- Web server plug-in failover tuning
- Web container clustering and failover (Web server plugin)
- WebSphere Application Server clustering
- WebSphere Commerce cell and cluster setup
- Introduction to Web server High Availability
- Available solutions
- IBM WebSphere Edge Components Load Balancer
- Load Balancer High Availability
- Database nodes
- DB2 installation prerequisites
- Base product installation
- Manually create DB2 64-bit instance
- Installation of DB2 fix pack
- WebSphere Commerce node 1
- Additional WebSphere Commerce nodes
- Configure a WebSphere Network Deployment Manager
- Install IBM WebSphere Application Server Network Deployment
- Create the WebSphere Network Deployment Manager Profile
- Install IBM HTTP Server
- Base installation
- Install fixes
- Install IBM WebSphere Edge Components Load Balancer V6.0.2
- Install the license
- Install Load Balancer refresh pack
- HADR
- Configuring HADR on a primary/standby database
- Enabling client reroute in a HADR environment
- Installing Tivoli System Automation
- Defining and administering a TSA cluster
- Enabling instance and HADR with TSA
- Scenario setup as described in the clustering whitepaper
- Details on configuring Web server node 1
- Pre-instance creation tasks
- Post instance creation tasks
- Post federation tasks
- Add additional Web servers
- Preparation
- Copy files from Web server node 1
- Modify the Web server configuration
- Add the new Web server to the cell configuration
- Configure Load Balancer
- MAC forwarding
- NAT forwarding
- Configure the Web servers for WebSphere Commerce
- Configure the IBM HTTP Server Plug-in
- Configure Load Balancer High Availability
- Configure basic High Availability
- Adding reach targets
- Command-line configuration
- Configuring the High Availability scripts
- Test Load Balancer High Availability
- Starting Dispatcher automatically after a reboot
- Development best practices for performance
- Access Bean usage
- Java classes and keywords
- JSPs
- Registry objects
- Database operations
- Command execution
- Webconsiderations
- Performance best practices for database customizations
- Table design
- Index design
- Avoiding deadlocks
- Performance best practices for SQL queries
- Reduce the result set as early as possible
- Avoid using sub-selects and redundant expressions
- IN versus Exists
- Other important SQL tuning hints
- Register source in SQL replication
- Subscribe sets in SQL replication
- Capture data from DB2 sources
- Types of caching
- Dynamic caching
- Edge Side Includes (ESI) caching
- Set up ESI caching
- Prerequisites for ESI caching
- Configure ESI caching
- Caching enhancements in WebSphere Commerce.1 and later
- Cache replication
- Cache replication
- In-memory cache
- Offload to disk
- FlushToDiskOnStop
- Limitation on invalidation when server is stopped
- Performance tuning
- Tune disk cache
- Instructions to set up cache replication
- Other options to ensure cache content consistency across cluster
- 13.4.10 Monitor runtime cache
- Monitor ESI caching
- Cache Replication Summary
- Cookie-based session management
- Database persistence using WebSphere Application Server session management
- Memory-to-memory session replication using WebSphere Application Server session management
- Conclusion
- URL rewriting
- Clustering for scalability and failover
- SQL profiling
- Java code profiling
- Mapping an SQL statement to Java code
- IBM Page Detailer
- Page Detailer Overview
- Page Detailer considerations
- Page Detailer Key factors
- Tips for using Page Detailer
- Page Detailer Reference
- Operating system introduction
- General utilities related with operating system monitoring
- nmon
- Top
- vmstat
- iostat
- ps
- svmon
- Best practices for AIX monitoring
- Operating System Monitoring Summary
- DB2 performance considerations
- Physical environment considerations
- DB2 objects management
- DB2 prerequisites checking
- Installation prerequisites
- DB2 monitoring
- DB2 Monitoring
- Snapshot monitor
- DB2 Event monitor
- DB2 tuning in WebSphere Commerce
- DB2 Parameters related to memory
- DB2 Parameters related to transaction logs
- DB2 Parameters related to disk I/O
- DB2 Parameters related to locking
- DB2 Parameters related to agents management
- DB2 Best practices
- Utilities in database tier for WebSphere Commerce
- Massload
- Staging server
- DBClean
- DB2 Performance Conclusions
- Web container thread connection pool
- Database connection pool
- Prepared statement cache
- Dynamic caching
- Java Virtual Machine heap management
- Heap expansion
- Heap shrinkage
- Tune the JVM heap size
- Monitoring JVM memory and garbage collection
- Heap fragmentation due to pinned and dosed objects
- Heap fragmentation due to large objects
- Monitoring
- Performance Monitoring Infrastructure (PMI)
- WAS Trace and logging
- WAS Tools and reference
- Performance fixes
- Monitor IBM HTTP Server
- IBM HTTP Server status page
- Access log
- Monitoring performed by Load Balancer
- IBM HTTP Server Plug-in
- Configure directories, non-root_user, and permissions
- Enable remote configuration
- Check the configuration directory
- Verify the Web server configuration file
- Activate remote Web server management (optional)
- Update the Web server configuration
- Activate remote Web server management
- Propagate IBM HTTP Server Plug-in configuration
- Restart the Web server
- Web Server Tuning parameters
- AIX web server settings
- httpd.conf settings
- IBM HTTP Server Plug-in
- Configure the Load Balancer cluster using the GUI
- Load Balancer Monitor
- Load Balancer Reports
- Load Balancer Graphical server monitor
- Load Balancer Binary logging
- Tuning Load Balancer parameters
- Load Balancer Host
- Load Balancer Executor
- Load Balancer Cluster
- Load Balancer Port
- Load Balancer Server
- Load Balancer Manager
- Load Balancer Advisor
- Load Balancer Server affinity
- Load Balancer: Types of server affinity
- Load Balancer: Configure source IP affinity for MAC and NAT forwarding
- Load Balancer: Configure CBR and SSL session ID affinity
- Load Balancer: Testing server affinity
- Configure Web servers for MAC forwarding
- Configure the Load Balancer cluster using the GUI
- Variables
- goInOp
- serverDown
- serverUp
- highavailChange
- Performance testing: Why is it complex
- Load Balancer: Why it is important
- Overall site development life cycle
- Typical performance characteristics of a WebSphere Commerce site
- Types of performance tests for WebSphere Commerce
- Stress testing
- Scalability testing
- Soak, endurance, or reliability testing
- Stress-endurance test
- 100% + 1 testing
- Capacity testing
- Performance regression testing
- High Availability testing
- Define scope and requirements of new design
- Well formed constructor
- Lazy instantiation
- Tracing
- Synchronization
- Avoid instanceof
- Initial capacity and load factor
- Throwing and catching exceptions
- Reduce unnecessary memory usage
- Use local variables, avoid inappropriate use of non-final getter methods
- Session-aware JSP
- DataBean activation
- StoreRegistry
- RefreshRegistry and UpdateRegistry controller commands
- Define target environment
- Retrieve only the information that is needed
- Practices to be avoided
- Define scenario and workload distribution
- Define test cases
- Maintaining a well-defined test plan
- Test tools introduction
- How to select test tool
- Performance test tools classification
- WebSphere Application Server dynamic cache
- ESI Processor
- ESI Best practices
- Install the DynaCacheEsi application
- Start the DynaCacheEsi application
- External cache group settings
- Reconfigure the Web servers
- Modify the DynaCache configuration file
- IBM Rational Performance Tester
- Architecture of Rational Performance Tester
- Features of RPT
- Procedure to use RPT to run performance test
- Seague SilkPerformer
- Page Detailer
- Page Detailer: Overview
- Page Detailer: Important considerations
- Page Detailer: Key factors
- Other performance test tools
- Trend of performance test tools
- Control DRS message size
- Tune in-memory cache size
- Filter out expiration and LRU-based invalidation events
- Control disk cache size
- Configure offload location
- Additional disk cache tuning parameters
- What SilkPerformer can do
- Procedure to use SilkPerformer to run performance test
- Create a replication domain
- Associate a server to replication domain
- Configure sharing policy in cachespec.xml
- Invalidate cache entry per JVM using database
- Invalidate cache entry per JVM using file system
- Key attributes of a performance test
- Common test execution steps
- Executing stress tests
- Testing for throughput
- Testing for concurrency
- Analyzing stress test results
- Scalability testing
- Soak, endurance, or reliability testing
- High Availability testing
- Test results to be collected and verified
- Common troubleshooting steps
- Solving memory problems in WebSphere applications
- Gather verbose Garbage Collection logs
- Analyzing verbose GC logs
- Option 1: Tune max heap size to optimize GC frequency
- Tactic 2: Tune -Xk and -Xp to minimize fragmentation
- Tactic 4: identifying by swprofiler
- Tactic 4: Tuning the cache size
- Tactic 5: Performing the heap dump
- Solving throughput and response time problems
- Identifying throughput problems in performance testing
- Analyzing and solving throughput problems
- Benefit of nmon
- Installing and using the nmon tool
- Get AIX statistics data using nmon
- How to analyze the statistics data
- The best practice for AIX performance analysis
- DB2 database maintenance in WebSphere Commerce
- DB2 database maintenance utilities
- WebSphere Commerce Database Cleanup utility
- Commerce DB2 database maintenance solution
- WAS Maintenance not requiring planned outages
- WebSphere Application Server log maintenance
- Deployment of cachespec.xml
- Rollout update
- DB2 Efficient I/O management
- DB2 Memory usage
- DB2 Table management
- Index management
- Tablespace management
- DB2 Agent management
- Planned outages
- WebSphere Application Server fix pack/APAR upgrade
- WebSphere Commerce fix pack/APAR upgrade
- Reorganizing data in tablespaces
- DB2: Collecting statistics
- How massload works
- Step1: Configure the loading utilities
- Step 2: Generate a DTD and schema for using loading utilities
- Step 3: Resolve identifiers for records that share identifiers with existing data
- Step 4: Execute the massload utility
- Preformation consideration and practice
- Staging server introduction
- How staging server works
- Staging Server: Performance consideration and practice
- Maintenance not requiring planned outages
- Maintain IBM HTTP Server logs
- Deploy new static content
- Enable verbose garbage collection
- Identify Java stack that creates large objects
- Tune heap to accommodate more large objects
- PMI predefined statistic sets
- IBM Support Assistant
- Maintenance involving planned outages
- Quiescing a Web server
- Compatible upgrades
- Incompatible upgrades
- Maintenance Web page for site downtimes
- Load Balancer: Maintenance not requiring planned outages
- Keepalive
- IBM HTTP Server Threads
- SSL
- Compression
- Web Server Access logs
- Expiration of static content
- Workload management policies
- Retry interval
- Plug-in Connection timeout
- Primary and backup servers
- Load Balancer: Maintenance involving planned outages
- Load Balancer: Compatible upgrades
- Load Balancer: Incompatible upgrades
- Maximum number of connections
- Refresh interval
- Rule-based load balancing
- Load Balancer Stickyness to source IP address
- Load Balancer Cross-port affinity
- Load Balancer: Passive cookie affinity
- Load Balancer: Active-cookie affinity
- Load Balancer: URI affinity
- Load Balancer: SSL session ID
- Load Balancer: Server affinity conclusion
- Source IP affinity - GUI configuration
- Command-line configuration
- Configure CBR using the GUI
- Configure CBR by modifying the NAT configuration files
- Performance test life cycle
- Building your site capacity to account for High Availability
- Data scalability
- Workload scalability
- Store complexity scalability
- Saturation point testing
- Verify pass criterion
- Identify memory leaks
- Identifying memory fragmentation
- kCluster, pCluster, and fragmentation
- How fragmentation occurs
- How to avoid fragmentation
- Configuring the kCluster
- Configuring the pCluster
- Set Xk and Xp values in WebSphere Administration Console
- Throughput analysis methodology
- Throughput degradation analysis and solution
- Example of throughput degradation analysis
- Runstats
- Reorgchk and Reorg
- Rebind (db2rbind)
- Syntax for DBClean configuration and execution
- Performance consideration for DBClean
- FFDC
- Garbage collection log (native_stderr.log)
- SystemOut.log and SystemErr.log
- Trace.log
- Threaddump and heapdump
- Deployment of Commerce instance configuration file
- IBM HTTP Server logs (Apache logs)
- IBM HTTP Server Plug-in
- Maintain Load Balancer logs
- Instructions for all compatible upgrade types
- Instructions for specific types of compatible upgrades
- IBM Redbooks
- Other publications
- Online resources
- How to get Redbooks
- Help from IBM
- WebSphere Application Server and WebSphere Commerce federation and clustering
- Web server clustering
- Development performance considerations
- Caching
- Profiling
- Operating system monitoring tools
- IBM DB2 Universal Database
- Monitor and tune WebSphere Application Server for WebSphere Commerce
- Monitor and tune Web servers
- Monitor and tune Load Balancer
- Introduction
- Introduction to performance testing
- Designing a test plan
- Performance test tools
- Applying performance testing to WebSphere Commerce
- Analyzing test results and solving performance problems
- Database maintenance
- Maintain and update WebSphere Application Server tier
- Maintain and update Web servers
- Maintain and update Load Balancer
- Node
- Getting started
- High Availability solutions for unplanned and planned outages
- Install and configure a High Availability WebSphere Commerce system
- Design with performance in mind
- Monitoring and performance tuning
- Performance test
- Maintenance
- Cell
- Profile
- Federated or managed environment
- Clustering
- Development environment
- Runtime environment
- Active-manual failover support
- Active-active failover support
- Complete outage
- Partial outage
- Planned outage
- Unplanned outage
- Related publications