Ana içeriğe atla

Kayıtlar

2014 tarihine ait yayınlar gösteriliyor

Performance Test Tips

Test yapmadan önce browser'ın cache özelliğini kapat. Yük testinden önce performans testi yapılmalı ki sistemdeki hatalar önceden tespit edilebilsin.  Performans testinde ortam, konfigürasyon (vt konfigürasyonu, işletim sistemi), versiyon, erişim (hangi yolla erişiliyorsa, WAN, DSL, ISDN) ve veri (arama uygulamalarında vt de bir milyon kullanıcının 999 bini aynı kullanıcı olmamalıdır) üründeki gibi ya da benzeri olmalıdır.   Simultaneous kullanıcı aynı anda farklı işler yapan, concurrent kullanıcı aynı anda aynı işi yapan kullanıcı demektir. Simultaneous kullanıcı concurrent kullanıcıdan daha fazla olabilir bir sistemde.

Performans Testinde Darboğaz Oluşturan Yerlerin Bulunması-2

Task Manager'da network throughput'u görmek için; Open the Windows Task Manager, select the Networking tab, select V iew from the menu  and select both the columns, “Bytes Sent/Interval”  + “Bytes Received/Interval” which by default are set to a 1 second refresh rate: Get ya da Post taleplerinin hangisinde yavaşlık olduğu önemlidir. Postta bir yavaşlık varsa bu db de sıkıntı olduğunu gösterir. Eğer hataların çoğu timeout hatası ise networkte, 500 ve 503 hataları ise uygulamada sıkıntı var demektir.  

Performans Testinde Darboğaz Oluşturan Yerlerin Bulunması

Darboğaz oluşturan yerler ekranlarla bulunabilir. Response time ın fazlalaştığı yer için aşağıdakilerin ekranları takip edilebilir. uygulama sunucusu web sunucusu veritabanı sunucusu Throughput artarsa Vuser sayısı da artınca, bu bandwidth in yeterli olduğunu gösterir ama Throughput düz kalırsa kullanıcı sayısı arttıkça, bu bant genişliğinin veri alışverişini kısıtladığını gösterir. Throughput ile response time doğru orantılı. Vuser'ın thread olarak çalıştırılması generator başına daha çok kullanıcının çalışmasını sağlar. Eğer VUser process olarak çalışırsa aynı sürücü progamı memory e yüklenir her kullanıcı için. Bu da tek generatorda çalışacak kullanıcı sayısını kısıtlar. Thread olarak çalışırsa verilen kullanıcı sayısı için sürücü programının sadece bir instance ı yüklenir memory e. Web uygulamalarından farklı client-server mimarileri kullanılır fakat genelde 3-tier lı mimari vardır; web server, app server ve db server.  Network araçları tier oluşturma

LoadRunner Yararlı Linkler

Hatalar http://easyloadrunner.blogspot.com.tr/2014/03/ connection-timeout -errorfailed-to.html http://easyloadrunner.blogspot.com.tr/2014/04/ memory-violation-error -in-load-runner.html http://easyloadrunner.blogspot.com.tr/2013/07/ vugen-not-recording-internet-explorer. html http://easyloadrunner.blogspot.com.tr/2013/08/ loadrunner-error-26630 -not.html http://easyloadrunner.blogspot.com.tr/2013/07/ text-and-image-checkpoints -in-web.html http://easyloadrunner.blogspot.com.tr/2013/07/ recording-problems -in-loadrunner.html http://easyloadrunner.blogspot.com.tr/2013/07/ how-do-you-define-sla -in-load-runner.html http://easyloadrunner.blogspot.com.tr/2013/07/ how-to-change-timeout -on-loadrunner.html Problems and Issues when creating Loadrunner scripts with the Java protocol -http://easyloadrunner.blogspot.com.tr/2013/07/problems-and-issues-when-creating.html http://easyloadrunner.blogspot.com.tr/2013/07/ best-practices-for-creating-scripts -in.html http://easylo

LoadRunner Tips

Java Script içeren çoğu uygulamalarda Web(Click and Script) protokolünü kullan. Applet bulunan, VB scripti içeren ya da browser sız uygulamalarda Web(HTTP/HTML) i kullan. Zaman-Kritik olan her grup transaction için ortalama ve %90 oranında response time gösterilmelidir. LR ve QTP aynı makinede olacaksa ilk önce LR kurulmalı. QTP scriptleri LR de koşturmak isteniyorsa QTP Load Generator bilgisayarında kurulu olmalı. Vuser Hesaplama http://easyloadrunner.blogspot.com.tr/2013/07/ performance-goal-be-in-terms-of .html http://easyloadrunner.blogspot.com.tr/2013/10/ vuser-calculation -in-loadrunner.html  http://easyloadrunner.blogspot.com.tr/2013/10/calculate-number-of-vusers-in-load.html LR “Disable Execute Bit” (DEP) fonksiyonu yüzünden IE8 ile çalışamayabiliyor. Çalışabilmesi için : You have to open the boot.ini file (C:\boot.ini) and add the following string to your boot line: /noexecute=alwaysoff Usually it will become something like that: multi(0)disk(0)rdi

Performans Test Sonuç Raporu'nda Dikkat Edilecekler

Testi hangi browserda koşturduğunu, sürümünü vs. kesinlikle belirt. Uygun grafikleri bir araya getir. Koşturulan 5 testten 1'inin değerleri farklıysa ortada bir sorun var demektir. Test koşturumlarının %95 i max ya da min değerden fazla ya da az ise, istatiksel olarak benzer değildir. Raporlamadan önce outlier lardan kurtul. Sonuçları saptırabilir. Resource utilization metriklerini diğer grafiklerle birleştir (response data vb.) Test environmenttan bahset. Yaptığın yorumları neye göre yaptın belirt. Yaptığın testi önceki versiyonla ya da benzer yazılımların sonuçlarıyla kıyasla. Testlerde sıkıntılı bir yer varsa o sıkıntının çözümü için öneride bulun. Response time Vs Running vUsers;    Throughput and Hits per second;    Error vs Running vUsers;    Number of failures Vs running vUsers; grafiklerini oluştur. Oluşabilecek riskleri, daha fazla geliştirme gereken yerleri, riskli alanları belirt. Şu kadar kişiye rahatlıkla hizmet verebilir gibi yorumlar yapabilirsin.

Hdfs'teki Dosyayı Local'e Kopyalama

hadoop dfs -du /hbase komutu ile hbase'deki tabloları ve yerlerini görebilirsiniz. Aşağıdaki komutta tablonun şimdiki yerine yukarıdaki komutla bulduğunuz yerini kopyalabilirsiniz.  hadoop fs -copyToLocal tablonunşimdikiyeri kopyalanacakyeri

Login Olan Kullanıcıyı Vt'ye Ekleme

Sistemde işlem yapan kullanıcıyı yaptığı işlem ile vt'ye kaydetmek istersek aşağıdakileri yapabiliriz. Bu sistemde servlet, jsp, js yapısı vardır. Yapılan işlemi vt'ye kaydettiğimiz kısma (servlet.java) aşağıdakileri eklemeliyiz.         HttpSession session=request.getSession(true);         String m= (String) session.getAttribute("isim");         String n= (String) session.getAttribute("soyisim"); Daha sonra ise vt'ye ekleme koduna bu iki parametreyi eklemeliyiz. PreparedStatement Statement = conn                     .prepareStatement("INSERT INTO girdi (num, sayac, url_db, isim, soyisim) VALUES (?,?,?,?,?)", PreparedStatement.RETURN_GENERATED_KEYS);             Statement.setString(4, m);             Statement.setString(5, n);

Aynı Sayfada İki Ayrı Frame Oluşturulması

Burada yapılan bir sayfada iki frame oluşturulmasıdır. Sayfanın solunda arama sonuçları yayınlanacak, sağında ise arama sonuçlarından birine tıklandığında o sayfa açılacak. Bu uygulama js ve jsp ile yapıldı. Bunun için arama sonuçlarının bulunduğu jsp sayfasının body'sinde aşağıdaki gibi frame eklenir. <div style="width:100%;">     <div style="float:left; width:43%; ">         <div class="container">             <div id="stats"></div>             <div id="results"></div>             <div id="paginations"></div>         </div>     </div>     <div style="float:right; width:57%; ">         Sonuçlarda listelenen siteleri ayrıntılı incelemek için linkine tıklayın         <iframe src="" name="iframe_a" width="1070px" height="1400px"></iframe>     </div> </div>

Java

jsp : Java Server Pages Null Pointer Exception: Referansı ilgili nesneye bağlamadığında ortaya çıkar. Depo Alanları Stack:Kumanda Heap:Maket uçak(gökyüzü-performans) Statik Alan:static tanımlanan Sabit Disk:Uygulama sonlandıktan sonra varlığının sürmesi istenen Temel tipler (int, byte, double) stack'de tutulur. int - Sarmalayıcı,wrapper sınıfı Integer int i=5; Integer in = new Integer(5); C/C++' da kullanılmayan nesne yok edilmezse bellek kaçakları oluşur(memory leaks) Java  dilinde String bir  ifadeden  sonra  gelen  herhangi bir tipteki değişken otomatik olarak String nesnesine dönüştürülür. Yordamların  içerisinde  tanımlanan  yerel  değişkenlere  başlangıç  değerleri kesinlikle programcı tarafından belirtilmelidir. return anahtar  kelimesi  tek  başına  kullanıldığında  ilgili  yordamın içerisinden çıkılır. Java multi thread çalışmaya müsade eder fakat koda birden fazla threadin aynı anda ulaşması güvenlik ve yalış okuma gibi sorunlara yol açabilir. Bu

Intellij Idea'ya Jetty Eklenmesi

İlk önce jetty indirilir. Intellij açılıp 'Edit Configurations' seçilir. + 'dan Jetty Server-Local seçilir. Açılan pencereden 'Configure' seçilir ve jetty in indirildiği dizin seçilir. Deployment'tan + ya tıklanır ve artifact'ten exploded seçilir. Apply'a tıklanır.

toUpperCase Türkçe sorunu – Java

Türkçe karakteri büyük harfe çevirirken mesela i yi I olarak çevirebiliyor Java.  Java'da toUpperCase(Locale locale) fonksiyonu için; http://bilgisayardunyam.blogspot.com.tr/2008/07/java-touppercase-tolowercase.html

Yerel Makineden Hadoop'a Klasör Kopyalama

Permission denied hatası alındığında hadoop'ta klasörü/dosyayı kopyalamak istediğiniz yer için izin hakkınız yok demektir. O yüzden ~/ yazmanız gerekir. sudo scp -r /home/sinem/Desktop/tez/karisik-idea-pc hdpusr@10.1.34.50:~/ Hadoop'tan yerel makineye dosya kopyalama Yerel makinede aşağıdaki kod yazılır. scp -r hdpusr@10.1.34.50:~/sinemTez/sinem/invisible_sinem/ /home/sinem/Desktop/kk

Nutch Notlar

Eğer nutch'ı bir ide'den çalıştırıyorsanız ve seed dosyasından sadece bir url'i generate ediyorsa generate komutundaki -topN parametresini kontrol edin. Değeri bir ise sadece bir url alır. -topN 'nin amacı seed dosyasındaki ve önceden tabloda bulunan url lerin kaçını crawl edeceğini belirtmek. Bir url'in generate edilip edilmediğini anlamak için de tabloda o url'in markers (mk) alanının gnrmrk değerinin olup olmadığına bakın. Eğer nutch'ı runtime/local'den çalıştırıyorsanız ve plugin'ininizin çalışmadığını görüyorsanız plugin'de input olarak kullandığınız dosyanın runtime/local dizininde olduğundan emin olun.

Nutch 2.2 'yi Intellij'de Çalıştırma

          İlk olarak pom.xml'i oluşturun. pom.xml'de  <build> kısmında <sourceDirectory> bölümüne plugin'ini kaynak kod olarak göstermeniz gerekir. (ikincisi yeni eklenen plugin için gerekli) <resources>             <resource>                 <directory>${basedir}/src/plugin/SaveFile/src/java</directory>             </resource> </resources>           Ana dizindeki conf klasöründe; nutch-site.xml'e aşağıdakini ekleyin.     <property>         <name>storage.data.store.class</name>         <value>org.apache.gora.hbase.store.HBaseStore</value>         <description>Default class for storing data</description>     </property>   gora-properties'e aşağıdakini ekleyip, sql kısmını kapayın.  gora.datastore.default=org.apache.gora.hbase.store.HBaseStore ivy/ivy.xml'de aşağıdaki kısmı açıp sql kısmını kapayın.         <depende