Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Php - Java


4Ever

Öne çıkan mesajlar

Daha öncede php java ile ilgili bir konu açmıştım o problemi düzeltik şöyle bir sıkıntımız var.

Php ile Java performansı çok sıkıntılı özellikle java tarafı requestler cok geç geliyor sql lerde optimizasyon yapıyoruz.

Sistemin çalışması kısaca şöyle, PHP java servera istek yapıyor java server veritanına sorup sonuçları bize XML olarak gönderiyor.

Apache ve Java Server network üzerinden çalışıyor. Biz Apache giren her kullanıcı için Java Server a bir o kadar request gönderiyoruz hatta bazen aynı sayfa içerisinde 4 5 tane istek yolladığımızda oluyor buda performansda çok ciddi sıkıntılar yaratıyor.

Benim sorum Apache ile Java server arasında tek bir connection açıp tüm istekleri bunun üzerinden gitmesini sağlamak ile ilgili ne yapabilirim böyle bir yöntem çözüm varmıdır.

Diğer sorumda Php - Java performansını arttırmak için neler önebilirsiniz.
Link to comment
Sosyal ağlarda paylaş

Herseyden once bir kac test yapip sikintinin tam kaynagini ogrenin bence. Sikinti yaratan gecikme SQL tarafinda mi yoksa Java ile kodlanmis web serviste mi ? Java ile kodlanmis web servisin cok buyuk hatalar yapilmadikca boyle bir soruna yol acacagini sanmiyorum ben zira bu sekilde calisan devasa sistemler mevcut (bkz: sahibinden).
Link to comment
Sosyal ağlarda paylaş

3 aydır testleri yapıyoruz, önce SQL ler yüzünden büyük sıkıntı vardı o tarafı düzelttik.

daha sonra yine yeterli olmadı çok fazla join vardı listelerde sıkıntı oluyordu trigger ile verileri ayrı bir tabloya taşıyarak tek tablodan çekiyoruz o sqller ile ilgili yapabileceğimiz herşeyi yaptık.

Java serverdaki yükü azaltmak istiyoruz bu arada cache de kullanıyoruz. Veritabanına olabildiğince az yük bindirmeye çalışıyoruz java serverda işlemci kullanıcımı çok fazla.


Not: Veritabanı serverımızda, cache serverda ayrı bir makinadalar
Link to comment
Sosyal ağlarda paylaş

"java server da islemci kullanimi cok fazla"

load verdigin bir anda top command in output unu paste edermisin?

Cpu mu yuksek yoksa cpu time lar mi yuksek, buna bakmak lazim. Ayrica servlet containeriniz ne, java server demissin ama container vardir diye tahmin ediyorum (tomcat jetty etc.)

@di
sahibinden de mi calisiyorsun?
Link to comment
Sosyal ağlarda paylaş

4Ever said:

Apache ve Java Server network üzerinden çalışıyor. Biz Apache giren her kullanıcı için Java Server a bir o kadar request gönderiyoruz hatta bazen aynı sayfa içerisinde 4 5 tane istek yolladığımızda oluyor buda performansda çok ciddi sıkıntılar yaratıyor.

Benim sorum Apache ile Java server arasında tek bir connection açıp tüm istekleri bunun üzerinden gitmesini sağlamak ile ilgili ne yapabilirim böyle bir yöntem çözüm varmıdır.


Service'leri nasıl sağlıyorsunuz? HTTP üzerindense Persistent Connection ve Pipelining'e bi bak: http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html

Başka bir alternatif ise Java tarafını tüm isteklerini tek bir service ile cevaplayabilecek şekilde genişletmek.
Link to comment
Sosyal ağlarda paylaş

JProfiler yada baska bi brand profileri (sirkette ne kullaniyorsaniz) tomcat e takip, cpu time i hangi thread ler yiyor bakmak lazim. Alet production daysa bunu yapmak daha da performans kayibi getirir. Diger bir secenek thread dump incelemek.

Tomcat de deploy edilmis birden fazla context varsa thread dump feci yorar inceleyen adami, tek web app varsa requestleri karsilayan, local de de generate edebiliyorsan, cpu time i blocklayan thread lerin nerelerde bekledigini gorebilirsin.

Dogasi geregi Servlet dedigin adam static singleton, kendi context in de tomcat thread in de yasiyor, baska thread pool unuz olsa gerek, onun thread lerinin naming duzgunse dump incelerken yardimci olur. Son olarak, DB tarafinda long query var mi? Acabilirsen kullandigin connection pool un stats lari acip long query lere bakabilirsin, genelde cpu time bu heriflerden hortlar eger ki I/O yoksa container in oldugu server da.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...