230 likes | 360 Views
PIA Load Balancing, JVMs and Garbage Collection. David Kurtz Go-Faster Consultancy Ltd. david.kurtz@go-faster.co.uk www.go-faster.co.uk. DBA Independent consultant System Performance tuning PeopleSoft ERP Oracle RDBMS Training Course UK Oracle User Group Unix SIG Oak Table
E N D
PIA Load Balancing, JVMs and Garbage Collection David Kurtz Go-Faster Consultancy Ltd. david.kurtz@go-faster.co.uk www.go-faster.co.uk
DBA Independent consultant System Performance tuning PeopleSoft ERP Oracle RDBMS Training Course UK Oracle User Group Unix SIG Oak Table www.oaktable.net Book www.psftdba.com Who am I? www.go-faster.co.uk
Resources • If you can’t hear me say so now. • Please feel free to ask questions as we go along. • The presentation will be available from • www.go-faster.co.uk www.go-faster.co.uk
Two forms of load balancing Windows Network Load Balancing IIS Proxy PSFT Recommendations: Red Paper HA & Clustering WEB1 PIA1 50.0.0.7:7001 IIS 50.0.0.7:443 Windows Network Load Balancing PIA2 50.0.0.7:17001 50.0.0.50:443 WEB2 PIA1 50.0.0.8:7001 IIS 50.0.0.8:443 PIA2 50.0.0.8:17001 A War Story www.go-faster.co.uk
Problems • Strange Pauses • Mostly to do with garbage collection • IIS Proxy wouldn’t load balance • All of load on one PIA or the other • Pauses cause IIS Proxy failover • On Failover users loose their sessions www.go-faster.co.uk
IIS Load Balancing • iisproxy.ini WebLogicCluster=50.0.0.8:7001,50.0.0.8:17001 DynamicServerList=OFF … www.go-faster.co.uk
IIS Load Balancing • Uneven loading of PIAs caused overload of one PIA. • Duration of garbage collection with 100% of load on single PIA much higher www.go-faster.co.uk
How do I know the load is balanced? • Web server access log • PeopleSoft Performance Monitor • PT>=8.44 • Event 150: JVM Status • Event 152: Web Site Status • Event 153: Web Servlet Status www.go-faster.co.uk
How do I know the load is balanced? www.go-faster.co.uk
JVM Garbage Collection • Java Command Line Options • verbosegc • Writes to weblogic.log • Xloggc:<filename> 0.000: [GC 46591K->3553K(518464K), 0.1262603 secs] 19.604: [GC 50145K->6662K(518464K), 0.3389070 secs] 70.052: [Full_GC 46565K->10901K(518464K), 0.9507536 secs] 90.967: [Full_GC 55273K->16571K(518464K), 1.1008306 secs] www.go-faster.co.uk
Garbage Collector Log 90.967: [Full_GC 55273K->16571K(518464K), 1.1008306 secs] • Elapsed time since JVM started • Collection type • Size of live objects before and after GC • Total space available, less permanent objects • Duration of collection www.go-faster.co.uk
Timestamps on GC log -XX:+PrintGCTimeStamps • But I couldn’t get it to work! www.go-faster.co.uk
Other Garbage Collection Options • -XX:+UseConcMarkSweepGC • -XX:+UseParNewGC • -XX:+CMSParallelRemarkEnabled • Caveat: These options are not presented as being any kind of panacea, but something to consider. You need to do your own testing. • BTW: I got the idea for this from a UKOUG Oracle Application Server SIG! www.go-faster.co.uk
-XX:+UseConcMarkSweepGC • Concurrent Low Pause Collector • GC is, as far as possible, concurrent with the execution of the application. • Uses a separate thread • App is paused for shorter periods during GC • Only effective on multi-processor machines www.go-faster.co.uk
-XX:+UseParNewGC • Parallel young generation GC with concurrent GC • for multiprocessor machines, • enables multi threaded young generation collection • Application is not paused www.go-faster.co.uk
-XX:+CMSParallelRemarkEnabled • Reduces remark pauses www.go-faster.co.uk
Individual GC duration Default Garbage Collector www.go-faster.co.uk
Individual GC duration Parallel Garbage Collector www.go-faster.co.uk
Cumulative GC duration / minute Default Garbage Collector www.go-faster.co.uk
Cumulative GC duration / minute Parallel Garbage Collection www.go-faster.co.uk
Conclusion • Improved GC performance does not have a great effect on Component Performance • It does reduce the ‘strange pause’ giving the user a better experience • Parallel GC seems to slowly leak memory. • Possible bug in a particular JVM • I have only tested on Windows www.go-faster.co.uk
Questions? www.go-faster.co.uk
PIA Load Balancing, JVMs and Garbage Collection David Kurtz Go-Faster Consultancy Ltd. david.kurtz@go-faster.co.uk www.go-faster.co.uk