Konuyu görüntüle
IUCODERS FORUM > Programlama > JAVA > Java socket performance?
Yazar
blackout


avatar

Kayıt: 11.12.2008
26.01.2010-10:09 #66395
Merhabalar,

Bir proje dahilinde bir multi-thread server uygulaması yazmam gerekiyor. Kolay olması açısından java.net ile yazmayı düşünüyorum fakat göstereceği performans konusunda bir fikrim yok. Server basit bir protokol ile çift taraflı dosya transferi (sıklıkla input 1KB - 5KB ve output 250KB - 5MB aralığında) ve bir kaç sorgu çalıştırılmasını sağlayacak. Diğer özellikleri bir kaç kullanıcı ile sınırlı olacağı için sorun etmiyorum. Bu server muhtemelen çok sağlam bir makine (XEON ve 8GB+ bellek) üzerinde çalışacak. Fakat makinenin asıl görevi bu söz konusu server olmayacağı için kapasitesinin %10'undan fazlasını kullanmasını istemiyorum.

Yüksek performans almak için java.nio ile yazılması öneriliyor ya da C / C++ kullanabilirim. Fakat öncelikli hedefim maliyeti düşük tutmak olduğu için, eğer belirli bir yoğunluğa kadar verim alabileceksem java.net ile yazmayı tercih edeceğim.

Yorumlarınız için şimdiden teşekkür ederim.





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
26.01.2010-19:22 #66409
Performans açısından c++ dan bi eksiğin olmaz. java nın network io kısmı zaten native call yapar.

Tekerleği baştan icat etmek istemiyorsan şu network kütüphanesini tavsiye ederim. 10dk da işini bitirirsin.

http://mina.apache.org/





N/A
Yazar
blackout


avatar

Kayıt: 11.12.2008
28.01.2010-22:00 #66481
Tekerleği yeniden icat etmek değil de ihtiyaca göre tekerlek tasarlamak da diyebiliriz. :)
apache.mina 'yı duymuştum daha önce. O da yine java.nio üzerine kurulu. İncelemek için pek fırsatım olmadı, projeye bağlamak biraz karmaşık geldi. Müşteri ile görüşmelerden çıkardığım sonuca göre java.net ile yazmaya karar verdim. 1 yıl boyunca patlamazsa sorun olmayacak :)
Tavsiye için teşekkürler...





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb