WEBLOGIC PERFORMANCE
TIPS&TRICKS
Zekeriya Beşiroğluhttp://zekeriyabesiroglu.blogspot.com
http://troug.org
Performans Tunning Testleri
– Stress test sistemin limitlerini,kırmızı çizgilerini ölçek için yapılan testtir.
– Load test ise belli yüklemeler karşısında alınan sonuçları görmek üzerine tasarlanan testtir.
Benchmark Nedir
– Benchmark bir performans ölçümlemesidir.– Kaynakları sabit tutarak yüklemeyi değiştirirerek
oluşturulur.– Bir sistemin performansını veya bir uygulamanın
performansını ölçmek için gerçekleştirilir.– Tavsiyemiz normal zamandanki çalışmanızı
kaydederek bunu baseline olarak kullanın. İlerki zamanlarda bir problem olduğunda bunu baseline ile karşılastırıp farkı bulabilirsiniz
– İyi bir karşılastırma için aynı hardaware,os ve database kullanmak önemlidir.
Metric Nedir
– Performans ölçümlemede kullandığımız birime meric denir
– Birçok metric vardır.
– Yapılan benchmark testleri:
• Application server versiyonu
• WebLogic Server domain ve cluster yapısını
• Operating sistem yapısını
• Hardware mimarisini ortaya koymalıdır.
Bottleneck nedir
– CPU çok yoğun olması ( 100% yakın olması).
– Herhangi bir system, CPU, disk, network %100 çalışırsa
– Genel olarak Disk kaynaklı,Cpu kaynaklı Database kaynaklı Network kaynaklı olabilir.
Testing Tool Şeçimi
•Bir test toolu şeçmelisiniz. Bu tool
– Kurulumu ve yapılandırması kolay
– Üzerine deployment yapmak kolay
– Raporlanabilir
– Maliyeti düşük
– Öğrenmesi kolay olmalıdır
Grinder
– Grinder:
• Load Test Toolu
• Açık Kod
• Dağınık mimaride agent bazlı kullanımı var
• Grafikler ve konsol sayesinde kolay yönetilebilinir
• Http/s forms cookies link ve protokol destekleri var
Bir makinaya konsol ,serverlara agent kuruyoruz.
Grinder Konsol
Weblogic Konsol
Cpu Tavsiyeler
Cpu kaynaklı problemleriniz varsa
– Muhtemel sebebler:
• Sık garbage collection
• Fazla Memory ayırma ve paging yapma
• Kötü java uygulamaları
– Çözüm:
• Garbage collection monitör edin
• Problemli java uygulamalarınızı takip edin
Database Problemleri
– Problem database kaynaklı olabilir.
– Databasede Awr raporu alın
– Çözümler:
• İndexler gözden geçirilmeli
• Daha fazla connection açılmalı
• Daha iyi makina. Mümkünse EXA
• Database Tune olmalı
Network ve IO sorunları
Network veya IO ile alakalı problemlerde sizin yavaşlamanıza sebeb olacaktır.
Daha iyi bir altyapı daha iyi switchler Daha hızlı disk okumaları çok önemlidir.
JVM Start
A sample script to start a server with custom JVM settings:export JAVA_VENDOR="Oracle"
export USER_MEM_ARGS="-Xms512m –Xmx1g"
$DOMAIN_HOME/bin/startManagedWebLogic.sh
Jrockit
JRockit JVM:
– Server side uygulamalar için design edilmiştir.
– Run time performansı oldukça iyidir.
– Son derece başarılı garbage collection yapar.
– Intel, AMD, ve SPARC mimarilerine full destekler
– Daha büyük heap ve 64 bit desteği vardır.
– Jrockit Mission Control gibi son derece başarılı bir yönetim toolu vardır.
Jrockit Mission Control
Jrockit Performans
– Herhangi bir parametreyi değiştirmeden önceki halinizdeki performans verilerinizi nort edin
– Yavaş başlangıçı önlemek için initial heap size(–Xms:nn) live objeleriniz kadar olsun.
– Doğru tunning ayarları ve kontrol edilmiş ortamda –Xms:nn ve –Xmx:nn aynı olur
– Nursery alanı kullanın –Xns:nn.
– Uygulamanız temporary objects ler yaratıyorsa (short-lived) mutlaka –Xns:nn verbildiğiniz
kadar büyük verin
Jrockit Performans
– On a 32-bit sistemde
– JRockit:
• Normal Windows (2-GB process memory): – ~1.5 GB possible Java heap memory
• Windows started with /3GB (3-GB process memory)– ~2.8 GB possible Java heap memory (2.6 or 2.7 GB recommended
with WLS)
• Linux, large process support enabled (3-GB process memory)– ~2.8 GB possible Java heap memory
Jrockit Hotspot
Production Jrockit
Test Hotspot
Serverın daha hızlı açılması için
connect()
• edit()
• startEdit()
•
cmo.setInternalAppsDeployOnDem
andEnabled(true)
• activate()
Oto Restart
Server failed giderse otomatik restart
Connection Pool
– Connection son erece masraflıdır.
– Yoğun database
• Tecrübe ile Maximum Capacity karar verin
• Initial Capacity ve Maximum Capacity aynı olsun
– Belli zamanlarda peak yapan uygulamalar için
• Farklı değerler initial ve maximum sizes
• Capacity Incrementve Shrink Frequencyson derece önemlidir
Database Tunning
– Process sayısını kontrol edin. Genelde düşüktür
– Shared pool size son derece önemlidir
– Maximum opened cursor sayısını kontrol edin
– Temp hızlı diske alın
EJB Pool size ları kontrol edin
<weblogic-enterprise-bean>
<ejb-name>InsuranceQuoteBean</ejb-name>
<stateless-session-descriptor>
<pool>
<max-beans-in-free-pool>15</max-beans-in-free-pool>
<initial-beans-in-free-pool>5</initial-beans-in-free-
pool>
</pool>
</stateless-session-descriptor>
...
</weblogic-enterprise-bean>
JMS quota uygulayın
Mümkün olduğunca persistent store kullanmayın
New Work
New Environment
New Colleagues
Welcome
• Familiarize yourself with your new assignment1
• Explore your new environment2
• Meet your new colleagues3
Today’s Overview
Learning Objectives
• Technology
• Procedure
• Policies
• Benefits
NEW WORK
New Work
The technology learning curve
NewEmployee
1 yr 2 yr 3 yr
Time Spent
Pro
ject
s W
ork
ed O
n
Get Familiar
Achieve Mastery
Working Toward Mastery
Get Experienced
Doing Your Best Work
• Working from home
• Working offsite
• Technology requirements
Case Study
• Jeremy
– His first day
– Mistakes made
– Successes achieved
– The moral of the story
Discussion
• What we can learn from Jeremy
• Best practices
• Take-aways
Summary
• Define your challenges
– Technological as well as personal
• Set realistic expectation
– Mastery is not achieved overnight
• Keep your eye on the goal
– Mentorship programs
Resources
• <Intranet site text here><hyperlink here>
• <Additional reading material text here><hyperlink here>
• This slide deck and related resources:<hyperlink here>
QUESTIONS?
APPENDIX
Top Related