2. 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.
3. 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.
4. 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.
5. 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.
6. 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
7. 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.
10. 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
11. 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ı
12. 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.
13. 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
14. 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.
17. 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
18. 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
22. 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 Increment
ve Shrink Frequency
son derece önemlidir
23. 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
24. 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>
50. 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
51. Resources
• <Intranet site text here>
<hyperlink here>
• <Additional reading material text here>
<hyperlink here>
• This slide deck and related resources:
<hyperlink here>