12 Aralık 2012 Çarşamba


               Diffrence Between Dedicated and Shared Server

      Bir client database connection gerçekleştireceği  zaman server tarafında  çalışan process genel olarak 3 e ayrılır.
     1) User Process: Bu process user applications çalıştırır.(SQLplus)
     2) Server Process: User process isteklerini yönetir.(SQL sorgusunu çalıştırıp sonuç döndürme)
     3) Background Process: Database çalışması için gerekli gerekli olan proces dir.

Database e gelen istekleri yönetmek için  database iki farklı şekilde çalışır.
    1)Dedicated Server

    2)Shared Server
 
Dedicated Server Model: Client bir connection request gerçekleştirdiği zaman yeni bir server process ve session oluşturulur.Database server her bir server process için resource allocate eder.Ve kullanıcının isteklerini bu server process gerçekleştirir.Memory gereksinimi server ve session sayısı ile doğru orantılıdır.Oluşturulan session için gerekli alan PGA dan oluşturulur.Server process ve session terminate edildiği zaman resources release edilir.Bu yöntem
performansın önemli olduğu durumlarda kullanılır.

Shared Server Model:Client bir  connection isteği  yolladığı zaman bu isteği dispatcher karşılar ve request kuyruğuna  koyar.Bu requests uygun olan server  process tarafından alınır ve clien isteklerini bu server  process gerçekleştirir.Dispatcher client ile shared server process arasındaki iletişimin yönetimini sağlar.Burada her client için bir session vardır fakat her client için bir server process oluşturulmaz.Database yapılandırırken belirtilen miktarda server process oluşturulur ve bu oluşturulan server processs client isteklerini gerçekleştirir. Varolan session sonlandığı zaman bu session için oluşturulan resource bırakılır..Session için gerekli alan PGA dan sağlanır.Memory gereksinimi shared server sayısına ve session sayısına bağlıdır.Burada yine her kullanıcı için bir session vardır.Request queue sga içinde oluşturulur.Her dispatcher kendi request queue sahiptir.Available shared server buradan request alır istenilen iş yapıldıktan sonra sga da bulunan response queue koyar.Daha sonra dispatcher bu işlemin sonucunu user process gönderir.Shared server kullanımı server process sayısını memory kullanım miktarını azaltır.




Example of Memory usage for Dedicated and Shared Server:

  Her bir session için gereken memory=400KB
  Her bir server process için gereken memory=4MB
  Shared servers=100
  Client number=5000

  Memory usage of Dedicated server:
  memory usage:5000(400KB+4MB)=22GB

  Memory usage of Shared server:
  memory usage=100X4MB+5000x400KB=2.5GB
 



Hiç yorum yok: