1 / 23

PIA Load Balancing, JVMs and Garbage Collection

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

Download Presentation

PIA Load Balancing, JVMs and Garbage Collection

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PIA Load Balancing, JVMs and Garbage Collection David Kurtz Go-Faster Consultancy Ltd. david.kurtz@go-faster.co.uk www.go-faster.co.uk

  2. 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

  3. 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

  4. 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

  5. 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

  6. IIS Load Balancing • iisproxy.ini WebLogicCluster=50.0.0.8:7001,50.0.0.8:17001 DynamicServerList=OFF … www.go-faster.co.uk

  7. 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

  8. 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

  9. How do I know the load is balanced? www.go-faster.co.uk

  10. 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

  11. 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

  12. Timestamps on GC log -XX:+PrintGCTimeStamps • But I couldn’t get it to work! www.go-faster.co.uk

  13. 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

  14. -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

  15. -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

  16. -XX:+CMSParallelRemarkEnabled • Reduces remark pauses www.go-faster.co.uk

  17. Individual GC duration Default Garbage Collector www.go-faster.co.uk

  18. Individual GC duration Parallel Garbage Collector www.go-faster.co.uk

  19. Cumulative GC duration / minute Default Garbage Collector www.go-faster.co.uk

  20. Cumulative GC duration / minute Parallel Garbage Collection www.go-faster.co.uk

  21. 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

  22. Questions? www.go-faster.co.uk

  23. PIA Load Balancing, JVMs and Garbage Collection David Kurtz Go-Faster Consultancy Ltd. david.kurtz@go-faster.co.uk www.go-faster.co.uk

More Related