Kaynakları “pahalı” yapan nedir?


10

Hazırda bekletme okuyorum ve "birden fazla istekte açık JDBC bağlantıları iyi bir şey değil çünkü pahalı bir kaynak" gibi ifadelere rastladım.

Pahalı kaynak ile ne kastedilmektedir?

Düzenleme: Bilinmeyen kullanıcının aşağıda yorum olarak eklediğini ekliyorum.

Bir veritabanı bağlantısı kurmak pahalıysa, neden aynı şeyi kapatıp her seferinde açmak yerine tekrar tekrar (önbellek değil) kullanmıyorsunuz?


2
Pahalı , çok sık kullanırsanız veya belirtilen şekilde kullanmazsanız size zarar vereceği anlamına gelir .
Alexander Gessler

Yanıtlar:


20

Pahalı bir kaynak şudur:

  • Oluşturulması / başlatılması uzun sürüyor. Herhangi bir veritabanı bağlantısı el sıkışmasını tamamlamak için 1-2 saniye kadar sürebilir.
  • Çok fazla bellek kullanır. Depolamadan önce bellekteki bir bayt dizisine tam bir dosya yüklemesi okumak kısa bir süre için hatırı sayılır miktarda bellek kullanır.
  • Çok fazla CPU döngüsü kullanır. Büyük bir veri koleksiyonundaki hesaplamalar, hesaplamaları yaparken CPU'nuzu vergilendirebilir.

Pahalı kaynakların her biri ölçeklenebilirlik sorunları sağlayabilir . Kısacası, bu pahalı işlemlerin birçoğunun aynı anda gerçekleşmesini sağlayamazsınız veya kullanıcılarınıza yeterince hızlı yanıt veremezsiniz.


Kabul etmek istiyorum, ancak @Sun'un verdiği örnekle çatıştığına dikkat çekmek zorundayım. Bir bağlantı kurmak pahalı olduğundan, bağlantınızı açık tutarsınız.
kullanıcı bilinmiyor

2
Bu özel durumda açıklığa kavuşturayım: Bir şeyin oluşturulması / başlatılması uzun sürüyorsa, o kaynağı oluşturma / başlatma sayısını sınırlamak istersiniz. Veritabanı bağlantıları açıkken çok fazla kaynak almaz, bu nedenle bu kaynakların havuzda toplanması tercih edilir.
Berin Loritsch

5

Belirli bir kaynağa bağlı çeşitli şeyler olabilir. Yani aşağıdakilere sahip olabilirsiniz:

  • Çalışması için ne kadar bellek gerekiyor.
  • Bağlantıyı kurmak için geçen süre.
  • Bu bağlantıyı koruma yükü.

ve bunun gibi.

Pahalı bir şey yapabilen diğer şeyler, işlem sırasında sabit sürücüye veya ağa erişim gerektiriyorsa olabilir.


2

Pahalı "hesaplama" ile öneki olmalıdır. Hesaplama gideri , bir işlemi, algoritmayı veya programı tamamlamak için gereken zaman veya kaynakların (CPU, bellek, disk, ağ bant genişliği) miktarını belirtmek için kullanılır.


2

Veritabanı bağlantılarının maliyeti bir dizi faktörden gelir.

  • Veritabanı bağlantıları yavaş kurulur ve istemci ve sunucu tarafında kaynaklar gerektirir. Bu yüzden bağlantılar toplanır.
  • Açık işlemlerin hem istemci hem de sunucu tarafından yönetilmesini gerektiren bir ek yükü vardır.
  • Açık işlemler diğer güncellemeleri engelleyebilir. Bu, genel performansı yavaşlatır.

Bununla birlikte, işleminizin ACID testini geçtiğinden emin olmak için bağlantıyı (veya en azından işlemi) yeterince uzun süre açık tutmanız gerekir . (Atomik Tutarlı İzole Dayanıklı)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.