MySQL'deki çapraz bölge replikasyonu, verileri bir coğrafi bölgedeki birincil veritabanından farklı bölgelerdeki bir veya daha fazla çoğaltma veritabanına eşzamansız olarak kopyalamak için bir yöntem, ağ gecikmesi, çoğaltma gecikmesi, iş yükü dağılımı ve kaynak tahsisi ile bağlantılı çeşitli faktörler aracılığıyla performansı etkiler.
Ağ gecikmesi ve çoğaltma gecikmesi
Birincil performans etkisi, bölgeler arasındaki ağ gecikmesinin artmasından kaynaklanmaktadır. Bölgeler arası çoğaltma, uzun mesafeli ağ bağlantılarına göre veri değişiklikleri içeren ikili günlük olaylarının gönderilmesine dayandığından, fiziksel mesafe önemli bir yayılma gecikmesine neden olabilir. Bu, replikaların değişikliklerin uygulanmasında birincilin arkasına düştüğü artan replikasyon gecikmesine yol açar. Çoğaltma gecikmesi, kopyalardan gelen güncel verilere dayanan uygulamalarda okuma tutarlılığını etkileyebilir ve felaket kurtarma senaryolarında yük devretme süresini artırabilir.
Çoğaltma gecikmesi çoklu nedenlerden dolayı oluşur:
- Birincil sunucu yeterince hızlı değişiklik göndermez.
- Ağ, değişiklikleri aktarmada gecikiyor.
- Çoğaltma sunucusunun değişiklikleri hızlı bir şekilde uygulayamaması.
Gözlenen toplam gecikme hem ağ hem de işleme gecikmesinden kaynaklanmaktadır. İzleme araçları, darboğazları teşhis etmek için ağ gecikmesi ve çoğaltma gecikmesi gibi metrikleri izler.
Replica Sunucusu Etkisi ve Kaynak Kullanımı
Çoğaltma tarafında, birincilden yapılan değişikliklerin uygulanması, özellikle de uygulama okuma sorgularını eşzamanlı olarak ele alıyorsa, kopyanın genel performansını etkileyebilecek G/Ç ve CPU çalışmasını içerir. Yüksek çoğaltma yükü, çoğaltmada sorgu yanıt sürelerini yavaşlatarak çekişme ve kaynak doygunluğuna yol açabilir.
Çoğaltma üzerindeki paralel çoğaltma iş parçacıkları kullanmak, aynı anda birden fazla işlem uygulayarak, çoğaltma verimini iyileştirerek bazı uygulama gecikmelerini hafifletebilir. Ayrıca, yüksek performanslı yıkama (`innodb_flush_log_at_trx_commit` ve` sync_binlog` parametrelerini ayarlamak) gibi seçenekleri yapılandırmak yazma ve çoğaltma uygulama verimliliğini geliştirebilir.
Birincil sunucu performansı üzerindeki etki
Birincil sunucu ayrıca çoğaltma nedeniyle bir yük etkisi ortaya çıkar. Normal işlemsel işlemenin üstünde ek bir ek yük olan aşağı akış kopyaları için ikili günlükte tüm değişiklikleri yazmalıdır. Birçok kopyaya bağlı, özellikle ağ veriminin ve güvenilirliğinin değiştiği çapraz bölge ile birincil, çoğaltma akışlarını koruyan kaynak tüketimi artan kaynak tüketimi yaşayabilir.
Bunu hafifletmenin bir yolu, birincilin tek bir ara kopyaya çoğaldığı ve daha sonra ek kopyalara hayran olan ve birincil yükü azalttığı bir çoğaltma hiyerarşisidir.
İş Yükü Dağıtım ve Ölçeklenebilirlik
Bölgeler arası çoğaltma, konumlarına yakın okuma kopyaları sağlayarak son kullanıcı gecikmelerini geliştirerek farklı küresel bölgelerdeki kullanıcılara yakın okuma iş yüklerini ölçeklendirmeyi destekler. Ancak, iş yükleri yazmak hala bir darboğaz haline gelebilecek birincil örnekte birleşir.
Birincil olarak birçok satırı güncelleyen büyük işlemler çoğaltma verilerinde sivri uçlara neden olabilir, çoğaltma patlamalarına neden olur, kopyalar üzerinde iş uygular ve çoğaltma gecikmesine neden olur. Büyük işlemleri daha küçük partilere ayırmak, çoğaltma zorluğunu azaltmaya yardımcı olur.
Şema ve Sorgu Tasarım Hususları
Birincil tuşlar veya ağır DDL işlemleri olmayan tablolar, çoğaltma performansını bozabilir veya bölgelerdeki gecikme sorunlarını birleştirerek özel kilitlere neden olabilir. Verimlilik için birincil tuşlar gerektiren satır tabanlı çoğaltma kullanılması genellikle önerilir.
Replicas'taki sorgu izolasyon seviyeleri, daha düşük izolasyon seviyeleri (örneğin, `` taahhüt oku '' ') ile çoğaltma uygulama hızını etkiler.
ağ ve maliyet hususları
Bölge çapraz çoğaltma, maliyet ve bant genişliği sınırlamalarına neden olabilecek bulut sağlayıcı ağları arasında veri aktarımını içerir. Bunun tasarımda açıklanması ve çoğaltma hızını ve frekansını dolaylı olarak kısıtlayabilir.
Performans Etkilerinin Özeti
- Fiziksel mesafe ve ağ gecikmesi nedeniyle artan replikasyon gecikmesi.
- İkili günlüğü için birincil ve değişiklik uygulamak için kopyalarda daha yüksek kaynak tüketimi.
- Replikasyon kaynak yoğunsa kopyalarda potansiyel sorgu performansı bozulması.
- Çoğaltma hiyerarşileri yoluyla yük dengeleme darboğazları azaltabilir.
- Büyük işlemlerin ve şema tasarımının çoğaltma verimliliği üzerindeki etkisi.
- Bulut ortamlarında veri aktarımı maliyeti ve verimi ile değiş tokuşlar.