PostgreSQL için Azure Veritabanı - Esnek Sunucudaki Sınırlar

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Esnek Sunucu

Aşağıdaki bölümlerde, PostgreSQL için Azure Veritabanı esnek sunucudaki kapasite ve işlevsel sınırlar açıklanmaktadır. Kaynak (işlem, bellek veya depolama) katmanları hakkında bilgi edinmek istiyorsanız İşlem ve depolama makalesine bakın.

En fazla bağlantı sayısı

Aşağıdaki tabloda, her fiyatlandırma katmanı ve sanal çekirdek yapılandırması için varsayılan en fazla bağlantı sayısı gösterilmektedir. PostgreSQL için Azure Veritabanı esnek sunucu, PostgreSQL için Azure Veritabanı esnek sunucu örneğinin fiziksel çoğaltması ve izlenmesi için 15 bağlantı ayırır. Sonuç olarak, tabloda listelenen en fazla kullanıcı bağlantısı değeri, toplam maksimum bağlantıdan 15 azaltılır.

Ürün adı Sanal çekirdek Bellek boyutu En fazla bağlantı sayısı En fazla kullanıcı bağlantısı
Seri hale getirme
B1ms 1 2 GiB 50 35
B2'ler 2 4 GiB Kategori 429 414
B2ms 2 8 GiB 859 844
B4ms 4 16 GiB 1,718 1,703
B8ms 8 32 GiB 3,437 3,422
B12ms 12 48 GiB 5.000 4,985
B16ms 16 64 GiB 5.000 4,985
B20ms 20 80 GiB 5.000 4,985
Genel Amaçlı
D2s_v3 / D2ds_v4 / D2ds_v5 / D2ads_v5 2 8 GiB 859 844
D4s_v3 / D4ds_v4 / D4ds_v5 / D4ads_v5 4 16 GiB 1,718 1,703
D8s_v3 / D8ds_V4 / D8ds_v5 / D8ads_v5 8 32 GiB 3,437 3,422
D16s_v3 / D16ds_v4 / D16ds_v5 / D16ads_v5 16 64 GiB 5.000 4,985
D32s_v3 / D32ds_v4 / D32ds_v5 / D32ads_v5 32 128 GiB 5.000 4,985
D48s_v3 / D48ds_v4 / D48ds_v5 / D48ads_v5 48 192 GiB 5.000 4,985
D64s_v3 / D64ds_v4 / D64ds_v5 / D64ads_v5 64 256 GiB 5.000 4,985
D96ds_v5 / D96ads_v5 96 384 GiB 5.000 4,985
Bellek için İyileştirilmiş
E2s_v3 / E2ds_v4 / E2ds_v5 / E2ads_v5 2 16 GiB 1,718 1,703
E4s_v3 / E4ds_v4 / E4ds_v5 / E4ads_v5 4 32 GiB 3,437 3,422
E8s_v3 / E8ds_v4 / E8ds_v5 / E8ads_v5 8 64 GiB 5.000 4,985
E16s_v3 / E16ds_v4 / E16ds_v5 / E16ads_v5 16 128 GiB 5.000 4,985
E20ds_v4 / E20ds_v5 / E20ads_v5 20 160 GiB 5.000 4,985
E32s_v3 / E32ds_v4 / E32ds_v5 / E32ads_v5 32 256 GiB 5.000 4,985
E48s_v3 / E48ds_v4 / E48ds_v5 / E48ads_v5 48 384 GiB 5.000 4,985
E64s_v3 / E64ds_v4 / E64ds_v5 / E64ads_v5 64 432 GiB 5.000 4,985
E96ds_v5 / E96ads_v5 96 672 GiB 5.000 4,985

Şu anda 15 yaşında olan ayrılmış bağlantı yuvaları değişebilir. Sunucudaki toplam ayrılmış bağlantıları düzenli olarak doğrulamanızı öneririz. ve superuser_reserved_connections sunucu parametrelerinin değerlerini reserved_connections toplayarak bu sayıyı hesaplarsınız. Kullanılabilir kullanıcı bağlantısı sayısı üst sınırı: max_connections - ( + reserved_connectionssuperuser_reserved_connections).

Sunucu parametresinin max_connections varsayılan değeri, işlem için seçtiğiniz ürün adına göre esnek PostgreSQL için Azure Veritabanı sunucu örneğini sağladığınızda hesaplanır. Esnek sunucuyu destekleyen işlemde ürün seçiminde yapılan sonraki değişiklikler, o örneğin sunucu parametresi için max_connections varsayılan değer üzerinde herhangi bir etkiye sahip olmayacaktır. Bir örneğe atanan ürünü her değiştirdiğinizde, parametrenin değerini max_connections de önceki tablodaki değerlere göre ayarlamanızı öneririz.

max_connections değerini değiştirme

Postgres için Azure Veritabanı esnek sunucu örneğinizi ilk kez ayarladığınızda, aynı anda işleyebileceği en yüksek bağlantı sayısına otomatik olarak karar verir. Bu numara, sunucunuzun yapılandırmasına bağlıdır ve değiştirilemez.

Ancak, belirli bir zamanda kaç bağlantıya izin verebileceğini ayarlamak için ayarını kullanabilirsiniz max_connections . Bu ayarı değiştirdikten sonra, yeni sınırın çalışmaya başlaması için sunucunuzu yeniden başlatmanız gerekir.

Dikkat

değerini max_connections varsayılan ayarın ötesinde artırmak mümkün olsa da, buna karşı öneride bulunuruz.

İş yükü genişleyip daha fazla bellek talep ettiğinde örnekler sorunlarla karşılaşabilir. Bağlantı sayısı arttıkça bellek kullanımı da artar. Belleği sınırlı olan örnekler kilitlenmeler veya yüksek gecikme süresi gibi sorunlarla karşılaşabilir. Çoğu bağlantı boşta olduğunda için daha yüksek bir değer max_connections kabul edilebilir olsa da, etkin hale geldikten sonra önemli performans sorunlarına yol açabilir.

Daha fazla bağlantıya ihtiyacınız varsa, bunun yerine bağlantı havuzu yönetimi için yerleşik Azure çözümü olan PgBouncer'ı kullanmanızı öneririz. İşlem modunda kullanın. Başlamak için, 2 ile 5 aralığındaki sanal çekirdekleri çarparak konservatif değerler kullanmanızı öneririz. Daha sonra sorunsuz bir çalışma sağlamak için kaynak kullanımını ve uygulama performansını dikkatle izleyin. PgBouncer hakkında ayrıntılı bilgi için bkz. PostgreSQL için Azure Veritabanı - Esnek Sunucuda PgBouncer.

Bağlantılar sınırı aştığında aşağıdaki hatayı alabilirsiniz:

FATAL: sorry, too many clients already.

Çok sayıda eşzamanlı bağlantıya sahip yoğun bir veritabanı için esnek PostgreSQL için Azure Veritabanı sunucu kullandığınızda, kaynaklar üzerinde önemli bir yük olabilir. Bu yük, özellikle aynı anda çok sayıda bağlantı kurulduğunda ve bağlantıların kısa süreleri olduğunda (60 saniyeden kısa) yüksek CPU kullanımına neden olabilir. Bu faktörler, bağlantıları ve bağlantı kesilmelerini işlemek için harcanan süreyi artırarak genel veritabanı performansını olumsuz etkileyebilir.

Boşta veya etkin olmasına bakılmaksızın esnek PostgreSQL için Azure Veritabanı sunucudaki her bağlantının veritabanınızdan önemli miktarda kaynak tükettiğine dikkat edin. Bu tüketim, disk ve kilit çekişmesi gibi yüksek CPU kullanımının ötesinde performans sorunlarına yol açabilir. PostgreSQL Wiki'deki Veritabanı Bağlan ions Sayısı makalesinde bu konu daha ayrıntılı olarak ele alınmıştır. Daha fazla bilgi edinmek için bkz. Esnek PostgreSQL için Azure Veritabanı sunucuda bağlantı performansını belirleme ve çözme.

İşlev sınırları

Aşağıdaki bölümlerde esnek PostgreSQL için Azure Veritabanı sunucuda nelerin desteklendiği ve desteklenmediğinden ilgili önemli noktalar listelenmiştir.

Ölçeklendirme işlemleri

  • Şu anda sunucu depolama alanının ölçeğini artırmak için sunucunun yeniden başlatılması gerekir.
  • Sunucu depolama alanını yalnızca 2 kat artışlarla ölçeklendikleyebilirsiniz. Ayrıntılar için bkz . İşlem ve depolama.

Depolama

  • Depolama boyutunu yapılandırdıktan sonra azaltamazsınız. İstenen depolama boyutuna sahip yeni bir sunucu oluşturmanız, el ile döküm ve geri yükleme işlemi gerçekleştirmeniz ve veritabanlarınızı yeni sunucuya geçirmeniz gerekir.
  • Depolama kullanımı %95'e ulaştığında veya kullanılabilir kapasite 5 GiB'den azsa (hangisi daha fazlaysa), disk dolu durumlarıyla ilişkili hataları önlemek için sunucu otomatik olarak salt okunur moda geçer. Nadir durumlarda, veri büyüme hızı salt okunur moda geçmek için gereken süreyi aşıyorsa sunucunuzda depolama alanı tükenebilir. Bu sorunlardan kaçınmak için depolama otomatik büyütmeyi etkinleştirebilir ve iş yükü taleplerinize göre depolama alanınızı otomatik olarak ölçeklendikleyebilirsiniz.
  • Depolama boyutunu artırma gibi eylemleri proaktif bir şekilde gerçekleştirebilmeniz için storage usedstorage percent veya belirli eşikleri aştığında uyarı kuralları ayarlamanızı öneririz. Örneğin, depolama yüzdesi %80 kullanımı aşarsa bir uyarı ayarlayabilirsiniz.
  • Mantıksal çoğaltma kullanıyorsanız, ilgili abone artık yoksa mantıksal çoğaltma yuvasını birincil sunucuya bırakmanız gerekir. Aksi takdirde, önceden yazılan günlük (WAL) dosyaları birincilde birikir ve depolama alanını doldurur. Depolama belirli bir eşiği aşarsa ve mantıksal çoğaltma yuvası kullanımda değilse (kullanılamayan bir abone nedeniyle), esnek sunucu PostgreSQL için Azure Veritabanı kullanılmayan mantıksal çoğaltma yuvasını otomatik olarak bırakır. Bu eylem birikmiş WAL dosyalarını serbest bırakır ve depolama alanı doldurulduğundan sunucunuzun kullanılamaz duruma gelmesini engeller.
  • Tablespaces oluşturulmasını desteklemiyoruz. Veritabanı oluşturuyorsanız tablo alanı adı sağlamayın. PostgreSQL için Azure Veritabanı esnek sunucu, şablon veritabanından devralınan varsayılan sunucuyu kullanır. Sunucu yeniden başlatıldıktan ve yüksek kullanılabilirlik (HA) yük devretmeleri gibi olaylardan sonra bu tür nesnelerin kalıcı kalmasını sağlayamadığımız için geçici olan gibi bir tablo alanı sağlamak güvenli değildir.

  • Bir sanal ağdan içeri ve dışarı taşıma şu anda desteklenmiyor.
  • Genel erişimi bir sanal ağdaki dağıtımla birleştirmek şu anda desteklenmiyor.
  • Güvenlik duvarı kuralları sanal ağlarda desteklenmez. Bunun yerine ağ güvenlik gruplarını kullanabilirsiniz.
  • Genel erişim veritabanı sunucuları genel İnternet'e bağlanabilir; örneğin, aracılığıyla postgres_fdw. Bu erişimi kısıtlayamazsınız. Sanal ağlardaki sunucuların ağ güvenlik grupları aracılığıyla giden erişimi kısıtlanabilir.

Yüksek kullanılabilirlik

Kullanılabilirlik alanları

  • Sunucuları el ile farklı bir kullanılabilirlik alanına taşıma şu anda desteklenmiyor. Ancak, bekleme alanı olarak tercih edilen kullanılabilirlik bölgesini kullanarak HA'yı açabilirsiniz. Bekleme bölgesini oluşturduktan sonra, bu bölgeye yük devredebilir ve ardından HA'yı kapatabilirsiniz.

Postgres altyapısı, uzantılar ve PgBouncer

  • Postgres 10 ve daha eski sürümler desteklenmez çünkü açık kaynak topluluğu bunları kullanımdan kaldırmıştı. Bu sürümlerden birini kullanmanız gerekiyorsa, eski ana sürüm 9.5, 9.6 ve 10'ı destekleyen PostgreSQL için Azure Veritabanı tek sunucu seçeneğini kullanmanız gerekir.
  • PostgreSQL için Azure Veritabanı esnek sunucu tüm contrib uzantıları ve daha fazlasını destekler. Daha fazla bilgi için bkz . PostgreSQL uzantıları.
  • Yerleşik PgBouncer bağlantı havuzu oluşturucu şu anda Burstable sunucularında kullanılamıyor.

Durdurma/başlatma işlemleri

  • esnek PostgreSQL için Azure Veritabanı sunucu örneğini durdurduktan sonra, 7 gün sonra otomatik olarak başlatılır.

Zamanlanan bakım

  • Özel bakım penceresini haftanın herhangi bir günü/saati olarak değiştirebilirsiniz. Ancak, bakım bildirimini aldıktan sonra yaptığınız değişikliklerin sonraki bakım üzerinde hiçbir etkisi olmaz. Değişiklikler yalnızca aşağıdaki aylık zamanlanmış bakımla geçerlilik kazanır.

Sunucu yedeklemeleri

  • Sistem yedeklemeleri yönetir. Şu anda yedeklemeleri el ile çalıştırmanın bir yolu yoktur. Bunun yerine kullanmanızı pg_dump öneririz.

  • İlk anlık görüntü tam yedeklemedir ve ardışık anlık görüntüler değişiklik yedeklemeleridir. Değişiklik yedekleri yalnızca son anlık görüntü yedeklemeden sonra değiştirilen verileri yedekler.

    Örneğin, veritabanınızın boyutu 40 GB ve sağlanan depolama alanınız 64 GB ise, ilk anlık görüntü yedeklemesi 40 GB olur. Şimdi, 4 GB veriyi değiştirirseniz, bir sonraki değişiklik anlık görüntüsü yedekleme boyutu yalnızca 4 GB olacaktır. İşlem günlükleri (önceden yazma günlükleri), tam ve değişiklik yedeklemelerinden ayrıdır ve sürekli olarak arşivlenir.

Sunucu geri yükleme

  • Belirli bir noktaya geri yükleme (PITR) özelliğini kullandığınızda, yeni sunucu temel alındığı sunucuyla aynı işlem ve depolama yapılandırmalarıyla oluşturulur.
  • Sanal ağlardaki veritabanı sunucuları, bir yedeklemeden geri yükleme yaptığınızda aynı sanal ağlara geri yüklenir.
  • Geri yükleme sırasında oluşturulan yeni sunucu, özgün sunucuda var olan güvenlik duvarı kurallarına sahip değil. Yeni sunucu için ayrı güvenlik duvarı kuralları oluşturmanız gerekir.
  • Farklı bir aboneliğe geri yükleme desteklenmez. Geçici bir çözüm olarak, sunucuyu aynı abonelik içinde geri yükleyebilir ve ardından geri yüklenen sunucuyu farklı bir aboneliğe geçirebilirsiniz.

Sonraki adımlar