Github, son servis kesintilerinin birincil veritabanı kümelerinde kaynak çekişme sorunlarından kaynaklandığını söyledi.
Geçtiğimiz hafta Github, 16 Mart, 17 Mart, 22 Mart ve 23 Mart'ta bu sorunların neden olduğu dört hizmet kesintisi olduğunu söylüyor.
Bugün, Github, bu kesintilerin, 'MySQL1' adlı birincil MySQL kümeleri ile "kaynak çekişme" sorunlarından kaynaklandığını açıkladı.
"Son birkaç hafta boyunca sorunlarımızın temel teması, MySQL1 kümemizdeki kaynak çekişimi nedeniyle, çok sayıda hizmet ve özelliklerin performansını en yüksek yük süresince performansını etkiledi" dedi. .
Kaynak çekişimi, birden fazla işlem / istek, aynı kaynaklar için, bu bellek, CPU veya disk kullanımı veya hatta bir veritabanı tablosuna erişin.
Yeterli kaynak mevcut olmadığında, bir veritabanı sorguları tamamlamasını beklerken hızlı bir şekilde yığılmak için hızlı bir şekilde yığılmak için kilitli olan tablolara ve veritabanı bağlantılarına yol açan sorguları hızlı bir şekilde bitiremeyecektir.
İsteğe bağlı olarak, sunucu nihayetinde, işlemek için yapılandırıldığı maksimum bağlantı sayısına ulaşır ve daha fazlası için oda bulunana kadar tüm diğer istekleri reddeder.
Bu, başarısızlık için veritabanına erişimi gerektiren hizmetlere neden olur.
Github, bu problemlerin neden olduğu, 16 Mart, 17 Mart, 22 Mart ve 23 Mart'taki dört hizmet kesintisi olduğunu söylüyor.
16 Mart'ta GitHub, en yoğun saatler sırasında yükü gördü ve maksimum bağlantıların doldurulmasına neden olan maksimum bağlantıların ve tüm yazma işlemlerinin veritabanına girmesine neden olan kötü yazılı sorular gördü.
GitHub Blog yazının "Git işlemleri, Webhooks, Çekme İstekleri, API talepleri, sorunlar, Github paketleri, GitHub Kodlarıes, Github Eylemleri ve Github Sayfaları Servisleri, Github İşlemleri ve GitHub Sayfaları Servisleri de dahil olmak üzere tüm yazma işlemleri bu kesinlikle çalışamadı.
Bir sonraki kesinti, 17 Mart'dır, burada fakir sorgu performansını çözmeden önce benzer sorunlar gördükleri yer. Diğer sunuculara geçmeden sonra, bir kez daha hızlı bir şekilde maksimum bağlantılara ulaştılar.
22 Mart'ta Github, performansı sorgulamak için azaltmaya çalıştıklarında, onları analiz etmeye devam ediyorlardı ve veritabanı proxy'sinde bellek profilini etkinleştirdi. Bu, bir kez daha maksimum bağlantılara ulaşılmaya yol açtı.
Sonunda, dün, 23 Mart'ta, bir kez daha müşteri bağlantılarının başarısız olmasına neden olan yükü arttırdı. Bu sorunları çözmek için Github, sunucularındaki yükü azaltmak için WebHook trafiğini tetiklemeye karar verdi.
Gelecekte bu türdenleri önlemek için GitHub, en yoğun saatlerde sistemlerini denetlediklerini ve sonuçlara göre performans düzeltmeleri yaratacağını belirtir.
Ayrıca, yükü ve artan altyapıyı azaltmak ve performansı artırmak için daralmayı azaltmak için diğer veritabanına trafiği yeniden düzenliyorlar.
Veritabanı Sharding, büyük veritabanı tablolarının daha sonra birden fazla sunucuda depolanabilecek birden fazla tabloya bölündüğü zamandır. Çok kullanılan ve büyük bir veritabanını farklı sunuculardaki birden fazla daha küçük veritabanına parçalayarak, performansı artırabilir ve yoğun sorguların tabloyu kilitlemesini önleyebilir.
Github, gelecekte bu türdenleri önlemek için ne yaptıkları şeyleri hakkında daha ayrıntılı bilgi paylaşacaklarını belirtir.
GitHub kesintisi, eylemleri, kodevleri, sorunları, çekme isteklerini etkiler
Avrupa, Rus işgaline bağlı uçak GPS kesintileri uyardı
Ubisoft, 'Siber Güvenlik Olayını' doğrular, personel şifrelerini sıfırlar
AdaFruit, eski çalışanların Github reposundan veri sızıntısını açıklar.
Kanada'nın ana bankaları gizemli saatler süren kesintisiz çevrimdışı
Kaynak: Bleeping Computer