Presentation on theme: "PIA Load Balancing, JVMs and Garbage Collection David Kurtz Go-Faster Consultancy Ltd."— Presentation transcript:
PIA Load Balancing, JVMs and Garbage Collection David Kurtz Go-Faster Consultancy Ltd. firstname.lastname@example.org www.go-faster.co.uk
PSFT Tech PUG 5.9.05 www.go-faster.co.uk2 Who am I? 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
PSFT Tech PUG 5.9.05 www.go-faster.co.uk3 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.ukwww.go-faster.co.uk
PSFT Tech PUG 5.9.05 www.go-faster.co.uk4 A War Story Two forms of load balancing –Windows Network Load Balancing –IIS Proxy PSFT Recommendations: –Red Paper HA & Clustering WEB1 PIA1 126.96.36.199:7001 PIA2 188.8.131.52:17001 IIS 184.108.40.206:443 WEB2 PIA1 220.127.116.11:7001 PIA2 18.104.22.168:17001 IIS 22.214.171.124:443 Windows NetworkLoad Balancing 126.96.36.199:443
PSFT Tech PUG 5.9.05 www.go-faster.co.uk5 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
PSFT Tech PUG 5.9.05 www.go-faster.co.uk7 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
PSFT Tech PUG 5.9.05 www.go-faster.co.uk8 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
PSFT Tech PUG 5.9.05 www.go-faster.co.uk9 How do I know the load is balanced?
PSFT Tech PUG 5.9.05 www.go-faster.co.uk11 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
PSFT Tech PUG 5.9.05 www.go-faster.co.uk12 Timestamps on GC log -XX:+PrintGCTimeStamps But I couldn’t get it to work!
PSFT Tech PUG 5.9.05 www.go-faster.co.uk13 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!
PSFT Tech PUG 5.9.05 www.go-faster.co.uk14 -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
PSFT Tech PUG 5.9.05 www.go-faster.co.uk15 -XX:+UseParNewGC Parallel young generation GC with concurrent GC –for multiprocessor machines, –enables multi threaded young generation collection –Application is not paused
PSFT Tech PUG 5.9.05 www.go-faster.co.uk21 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