1 / 11

Java Performans Yönetimi

Java Performans Yönetimi. Yusuf Kürşat TUNCEL CTO, KRON Haziran 2012. Giriş. Kişisel Tanıtım 1994’ten beri Java’yla çalışıyorum. 2004’ten bu yana profesyonel Java geliştiricisi, kullanıcısı, yöneticisi. Java Performansını Etkileyen Faktörler. İşletim Sistemi. Java Parametreleri.

lavender
Download Presentation

Java Performans Yönetimi

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. Java Performans Yönetimi Yusuf Kürşat TUNCEL CTO, KRON Haziran 2012

  2. Giriş • Kişisel Tanıtım • 1994’ten beri Java’yla çalışıyorum. • 2004’ten bu yana profesyonel Java geliştiricisi, kullanıcısı, yöneticisi. • Java Performansını Etkileyen Faktörler İşletim Sistemi Java Parametreleri Performans Gözlemlenmesi Cache’leme ve Loglama Profiler Kodlama

  3. İnce Ayar Stratejisi Daha Çok Performans? Baştan Başla. Evet, Şimdi Daha İyi! Gözlemle, Ölç, Önceliklendir Düzelmedi mi? Tekrar Dene. Darboğazı Tespit Et Test Et, Karşılatır Hipotez Kur Kod Düzeltmesi Yap Test Senaryosu Oluştur

  4. İşletim Sistemi FaktörüJava, işletim sisteminden bağımsızdır(!) (mı acaba) • Kernel Ayarlarının Gözden Geçirilmesi • Max. HeapSize, SharedSegmentbüyüklükleri • Max. Num. Open Files parametresi • Max. Threads parametresi • 32-bit vs. 64-bit VM • File cache büyüklüğü • Clock/Timing Senkronizasyonu Kontrolü / Vmware etkisi

  5. Java Başlangıç Parametreleri • Heap Size, Segment Size, PermGenSpace • Garbage Collection • System.gc()’nindisable edilmesi • LowPauseCollector’ların seçimi • ParallelCopy, Concurrent Mark-Sweep • Jconsoleremote ayarları • MAN_OPTS="-Dcom.sun.management.jmxremote \ • -Dcom.sun.management.jmxremote.port=16105 \ • -Dcom.sun.management.jmxremote.ssl=false \ • -Dcom.sun.management.jmxremote.authenticate=true« • Username/password’ünkonfigüre edilmesi

  6. Performans Gözlemlenmesi • Jconsole Kullanımı • Heap/ Start / Garbagecollection'ın gözlemlenmesi • Thread'leringözlemlenmesi • İşletim Sistemi performans gözlemlenmesi • Nagios, cacti, Zabbix ile CPU/Memory/Disk IO'larının gözlemlenmesi

  7. JConsole

  8. Log ve Cacheleme • Göz ardı edilen bir performans yiyicisi: Log Dosyaları • Logdosyalarının round edilmesi • Her startup'tan önce log dosyalarının moveedilmesi • Caching Mekanizmaları • Queue temelli caching • Disk caching

  9. Profiler Kullanımı • Profiler'ınyardımcı olabileceği yerler • Memory Leak'lerin tespit edilmesi • Ineffectivekod kullanımının tespit edilmesi • Profiler'ın yardımcı olamayacağı yerler • Run-time’da ortaya çıkan, düzensiz problemler • OpenSourceProfiler’lar • Eclipse TPTP, Netbeans, VisualVM, Profile4j, etc. • Ticari Profiler’lar • Jprofiler

  10. Yük Dengeleyici Kullanımı • Donanım Temelli Yük Dengeleyici Kullanımı • Session Replication ile persistencesağlanması • Round-Robin algoritmasıyla yük dağıtımı • HTTP Connection Persistence Session Replication TC1 TC2 http request http request LB (Aktif/Pasif) http request

  11. Performansa Yönelik Kodlama • Nesne Havuzu Kullanımı • Obje yaratmaktan kaçınma • Auto unboxing’den kaçınma • Singleton Nesne Yapısı kullanma • Cast’lerden kaçınma

More Related