Ölümcül bir veritabanı performans sorununu çözdü

Ben bir oyun şirketinin teknik direktörüyüm. Geçtiğimiz günlerde bir sorunla karşılaştım.Sorunu çözme süreci heyecan verici. Sorunu çözme sürecini sizlerle paylaşacağım.Umarım herkese yardımcı olur.

Sorun Açıklaması

Bir süre önce Kuzey Amerika'da başlattığımız yeni oyun çetrefilli bir sorunla karşılaştı.Çevrimiçi veritabanı çözülemeyen bir performans darboğazı ile karşılaştı.Oyun hızla gelişti ancak veritabanında sıkışıp kaldı.O sırada patron adeta çılgındı ve ölü bir emir verdi. Veritabanı sorunu çözülmezse tüm teknik ekip sizinle buluşmaya gelecektir.

Bölüm ve grup oyunu mimarisi

Firmanın bu kez Kuzey Amerika'da başlattığı oyun karmaşa içinde.Oyun sayısı çok hızlı artıyor.Genel olarak oyun gruplara ayrılacak ve bu da veri tabanına çok fazla baskı uygulamayacak.Ancak bu oyun büyük bir dünya konsepti, sadece bir bölge var. Sanal bir dünyada, tam olarak büyük dünya yönteminin benimsenmesi ve oyunun yeniliğinden dolayı, oyun çevrimiçi olur olmaz çok ısınır ve veritabanı bir anda patlar.

Büyük Dünya Oyun Mimarisi

Bir yandan veri tabanının performansı artmıyor, oyun okurken ve yazarken donuyor ki bu da oyuncu deneyimini ciddi şekilde etkiliyor.Diğer yandan veri miktarı arttı.Araştırma ve geliştirme çalışmaları alt veri tabanını ve tabloyu acilen yapmış olsa da öyle olsa bile kısa sürede ortaya çıktı. sorun. İnsan sayısını sınırlamak için önlemler almak zorunda kaldı, bu da çok sayıda oyuncunun sıraya girmesine neden oldu ve oyuncular çok şikayet etti.

Yeni oyun lansmanının dürtüsü çok önemlidir, aksi takdirde popülariteyi ciddi şekilde etkileyecektir.Patron ve operasyon ateşli gözlerle karşı karşıya kaldığımızda, çoğumuz zaten çeşitli planlar düşünerek şirkette yemek yedik ve uyuduk. Yabancı bir bulut şirketinin RDS'sini kullanıyoruz ve yalnızca performansın nispeten zayıf olduğunu söyleyebiliriz, özellikle veritabanı depolama alanı biraz daha büyük olduğunda. Ayrıca süper yapılandırılmış bir bulut ana bilgisayarı kullanarak veritabanını oluşturmaya çalıştım ve ayrıca SSD sabit diskli fiziksel bir makine kullanarak bir veritabanı oluşturmaya çalıştım.Ayrıca birkaç MySQL uzmanından çeşitli optimizasyonlara, hatta Sql ifadelerinin optimizasyonuna bile yardım etmelerini istedim. Bazı iyileştirmeler, ancak yine de sorunu tamamen çözemez.

Bu büyük inekler temelde mevcut mimarinin MySQL sınırına ulaştığına inanırlar.Performansı artırmak istiyorsanız, mimariyi tamamen yeniden inşa etmeli veya ticari bir veritabanı kullanmalısınız. Ancak kaşlar zaten yanıyor, mimariyi veya veritabanını değiştirmek neredeyse susuzluğa yardımcı olmayacak. Sonuç olarak bir tıkanıklık oluşur, daha fazla oyuncunun içeri girmesine izin verilirse kesinlikle daha ciddi sorunlar ortaya çıkacaktır; ancak aynı zamanda çok sayıda oyuncu kuyruğa girerek oyunun itibarını ve şirketin gelirini ciddi şekilde etkileyecektir. Oyun ilk başlatıldığında, oyunun popülerliğini gören patron, önceden halka açılmak için bir halka arz planı bile yapmaya başladı.

sorun çözüldü

Durum tersine döndü çünkü arkadaşım Lao Yang çevremdeki arkadaşlarıma danıştıktan sonra bana umut verdi. Durumu anladıktan sonra Lao Yang, AWS'nin Aurora veritabanı hizmetini denemeyi önerdi. Lao Yang, bir e-ticaret şirketinin CTO'su ve yurtdışında Amazon Aurora'yı kullandıklarını belirtti. E-ticaret şirketlerinin güvenilirlik ve istikrar için çok yüksek gereksinimleri var.İşleri geçen yıl yurtdışında gelişti.Bulutu kullanmak en uygun seçenek ama aynı sorunlarla karşılaştılar. Veri tabanı RDS kullanıyor veya kendi başına bulut ana bilgisayar üzerinde oluşturulmuş ve performans sorunları var.Daha sonra Amazon Aurora'yı test etmeye çalıştım ve performansın mükemmel olduğunu buldum.Sonra kapsamlı bir performans ve kararlılık değerlendirmesi yaptım.İhtiyaçları karşıladıktan sonra rahatladım. kullanın. Bir yıldan fazla kullandıktan sonra, etkisinden oldukça memnun kaldım.

Hemen Amazon Aurora'yı inceledim. Amazon'un resmi web sitesindeki giriş bilgilerine göre Amazon Aurora, bulut için oluşturulmuş ve MySQL ve PostgreSQL ile uyumlu ilişkisel bir veritabanıdır. Yalnızca üst düzey ticari veritabanlarının performansına ve kullanılabilirliğine sahip olmakla kalmaz, aynı zamanda açık kaynak veritabanlarının basitliği ve basitliğine de sahiptir. Maliyet etkinliği.

Aurora, standart MySQL veritabanlarından beş kata kadar ve standart PostgreSQL veritabanlarından üç kat daha hızlı olabilir. Ticari veritabanlarının güvenliği, kullanılabilirliği ve güvenilirliği gerçekleştirilebilirken, maliyet ticari veritabanlarının maliyetinin yalnızca 1 / 10'u kadardır.

Amazon resmi web sitesinden Amazon Aurora mimarisi

Aurora,% 99,99'dan daha yüksek kullanılabilirliğe sahip dağıtılmış, hataya dayanıklı ve kendi kendini onaran bir depolama sistemi kullanır. Depolama sistemi hataya dayanıklıdır ve kendi kendini onarır. Bulut için oluşturulmuştur ve her veritabanı örneği maksimum 64 TB'a kadar genişletilir!

Girişten itibaren, sorunumuzun çözümü bu değil mi? Aurora testini hemen düzenledim. Lütfen oyun programını AWS'ye dağıtmak için O&M. Veritabanı Aurora hizmetini kullanıyor. Buradaki Ar-Ge de buna göre biraz değiştirildi. Dağıtımdan sonra, lütfen öğrencileri oyun robotunun stres testini yapmak için test edin. Performans iyidir ve gereksinimleri karşılayabilir. Nihayet umut görüyoruz!

Bu nedenle, bir yandan lütfen öğrencileri daha ayrıntılı testler yapmak için test edin.Öte yandan, belirli bir buluttan Amazon'a geçiş için bir plan yapın.Önce veri senkronizasyonunu yapın, ardından oyun programını devreye alın ve ardından oyunun tamamlanması için sabah erken saatlerde 3 saatliğine kapatılacağına dair bir duyuru yayınlayın. Son güncelleme.

Dikkatli planlama sayesinde, tüm geçiş süreci sorunsuz bir şekilde ilerledi. 24 saatlik gözlemin ardından veritabanı sorunsuz çalışıyor! Sonra yavaş yavaş oyuncuları içeri alın. Sonuç olarak, Aurora çok güçlüydü, her zaman iyi performans gösterdi ve sonunda rahat bir nefes aldı ve sonunda iyi bir gece uykusu aldı. Patron hemen tüm teknik ekibi 200.000 nakit para ile ödüllendireceğini söyledi ve halka açılırsa teknik ekibe hisse vereceğine söz verdi!

sonuç olarak

  • Bu olay esas olarak, bu oyunun popülerliğinin operasyon ve hatta tüm şirket tarafından ciddi şekilde küçümsenmesinden kaynaklanmaktadır. Tahmin edilen kişi sayısının iki katı olan bir kapasite planı yaptık. Gerçek oyuncu sayısı planlanan sayının altı katını aşarak mevcut mimari ile sonuçlandı. Daha sonra, veritabanı performansı darboğaza ulaşır ve sonraki planlar, oyun mimarisini kademeli olarak optimize etmektir.
  • Bu sefer Amazon Aurora gerçekten hayat kurtarıcı, MySQL daha iyi performansla tamamen uyumlu. Başlangıçta firmamız geçmişe dönük nedenlerden dolayı AWS bulut hizmetlerini tercih etmemişti şimdi görünen o ki sektörün ilk servis sağlayıcısını seçmek kesinlikle yanlış değil.Veritabanında aynı performans ve kapasite problemleriyle karşılaşan arkadaşlar Aurora'yı deneyebilir.
  • Maliyet hesaplandıktan sonra sihirli bir şekilde Amazon Aurora kullanımının maliyetinin artmadığı ortaya çıktı.Üç DBA yeteneğinin daha işe alınmasına gerek olmadığı ortaya çıktı.Uzun vadede daha uygun maliyetli ve istikrarlı olan büyük AWS ağacı tarafından destekleniyor. Ve performans garanti edilebilir.
  • Uzman Yorumları:

    Bu makale, yazarın bulut veritabanı performans sorunlarını çözme konusundaki heyecan verici sürecini kaydeden bir okuyucu katkısıdır, öğrenmeye değer!

    İlgili verilere danışıldıktan sonra Amazon Aurora, tanınmış geleneksel endüstrilerden General Electric, Dow Jones ve Netflix gibi İnternet endüstrisine kadar on binlerce şirket tarafından kullanılıyor. Bir ürün, on binlerce şirket tarafından cilalandıktan sonra, olgunluk, istikrar, performans ve yönetilebilirlikte kesinlikle başı çekecektir.

    Forrester'ın hizmet olarak veritabanı dalga şemasında AWS veritabanı hizmetleri liderdir.

    Forrester Wave : Database as a Service, Q22017

    Performans açısından, AWS resmi web sitesi verilerine göre, SysBench kullanılarak r3.8xlarge bulut sunucuları üzerinde gerçekleştirilen dahili testler, veritabanının boyutu ve nesne sayısı ne olursa olsun Amazon Aurora'nın saniyede 500.000 okuma ve 100.000 yazma gerçekleştirebileceğini göstermektedir. Son derece yüksek tutarlılığı koruyun.

    Amazon Aurora ayrıca, Sunucusuz (sunucusuz bilgi işlem) işlevleri de destekleyerek veritabanı kullanımını kolaylaştırır. Verilerin S3'e doğrudan yedeklenmesini destekler. Veriler en önemli varlıktır. Yalnızca yedekleme ile endişelenmenize gerek kalmaz.

    Kısacası Amazon Aurora, yüksek veri bütünlüğü, performans, kararlılık ve yönetilebilirlik gerektiren şirketler için uygundur. İster çok yüksek güvenilirlik gerektiren geleneksel bir endüstri, ister çok yüksek performans gerektiren İnternet sektörü, talebi karşılayabilir.

    Dembele Messi katkı yaptı, Barcelona 2-0 Celta üst üste 4 La Liga devre arası şampiyonluğunu kazandı
    önceki
    Yapay zeka "kara kutu" sorunundaki yeni atılım, MIT araştırmacıları, yapay zeka karar verme görselleştirmesinin farkına varıyor
    Sonraki
    Bir çukur var! Geleneksel işletmeler mikro hizmetlere yöneliyor ...
    Çağdaş Şiirler · Yüzler (10) Shang Qin (1930-2010)
    Konuşan Sütun"UAV + Uydu", Amazon AWS bulut hizmetlerini gökyüzüne taşıyacak!
    Nesnelerin İnterneti (IoT) için 11 bulut platformu: AWS, Azure, Google Cloud, Oracle,
    GIF: Ribery'nin kılıcı eski değil! Bayern için iki kez
    2018'in en iyi 10 açık kaynak DevOps aracı!
    Perisic, Icardi'nin tek golüyle attı, Inter Milan'ın deplasman maçında Chievo 1-1 oldu.
    Üç büyük blockchain devi V God, Wu Jihan, Xiao Feng, endüstrinin teknolojiye dönüşünü sağlamak için Şangay'da bir araya geldi
    Donggang Bölgesi Hükümet Plaza'nın güney kısmının son adı nedir? ! Belgeler için arayın!
    Buluta geçiş, takım oluşturma ve otomasyona doğru ilerliyor
    E-spor cep telefonu işi iyi bir seçimdir
    Linux çekirdeğini keşfetmek: Kconfig / kbuild'in sırrı
    To Top