Performans Sorunu Raporu

2020-02-17

Geçtiğimiz hafta oldukça zor geçti. Kripto ve borsa işi için iyi bir haftaydı. Bitcoin fiyatı yükseldi dolayısıyla işlem hacimleri de arttı. Fakat bazı kullanıcılarımız ve mühendislerimiz için zor bir hafta oldu. Platformumuza erişimi negatif yönde etkileyen birkaç performans sorunu yaşadık. Her zamanki gibi zor zamanlarda şeffaflığı korumanın önemli olduğuna inanıyoruz ve karşı karşıya kaldığımız sıkıntıların bazılarından açıkça bahsedeceğiz.

BTC’nin 10.000 USD’de olduğu şimdiki zamanla daha önceki zamanlar arasındaki fark şu anda çok daha fazla sayıda kullanıcı olması. Bu durum kripto piyasasının toparlandığına dair sağlam bir gösterge olsa da sistemlerimiz üzerinde önemli bir yük yaratıyor.

Geçtiğimiz birkaç gün içinde başlıca iki sorun yaşadık:

1. “Çok sayıda talep” (too many request), “5xx iç hata” (5xx internal error) kullanıcı arayüzü hataları ve API zaman aşımı hataları. Bunun sebebi orta katman hizmetinin hızla aşırı yüklenmesiydi. Durumdan etkilenen her bir kullanıcı arka arkaya sayfayı tekrar yükleyerek sistem yükünü daha da artırdı. Kaynak katmanlarının artırılmasıyla sorun kısa vadede çözüldü. Fakat bu yaklaşımın da belirli sınırlamaları var. Bu modül, karmaşık yapısı nedeniyle iyi bir şekilde otomatik ölçeklendirme yapamıyor. Yeni bir talebin normal trafiği idare edebilmek için ilk bellek kopyasıyla senkronize olması dakikalar sürüyor. Bu sorunun çözülebilmesi için halihazırda çalışıyorduk fakat birkaç gün önce trafik aniden yoğunlaştığında çalışmalar henüz tamamlanmamıştı. Bu konu öncelik sırasında yukarı taşındı ve önümüzdeki birkaç gün içinde sorun tamamen çözülmüş olacak. Hata idaresinin iyileştirilmesine ve sistemin yükünü daha da artırmamasına yönelik kullanıcı tarafında da geliştirmeler yapılıyor.

2. Piyasa verisi/emir/bakiye güncelleme gecikmeleri. Mesaj aracılarımızla da birkaç sorun yaşadık. Tipik olarak saniyede 2.5GB+ veri yollayan mesaj aracılarımızın alt öğelerinden birinin çıktı oranı 100 kat azaldı ve mesajların yedeklenmesine, dolayısıyla emir defteri ve kullanıcı bakiye güncellemelerinin gecikmesine neden oldu. Başka bir vakada da, bir kafka kümesi (kafka cluster) trafiğin en yüksek olduğu zamanda arızalanarak çoklu node hatalarına neden oldu. Yeniden başlatmak o an için sorunları/semptomları çözdü. Orta vadeli geliştirmelerle, birden fazla kafka kümesi tarafından idare edilecek ayrı konular şeklinde bölünmeleri üzerinde çalışıyoruz. Yaptığımız geliştirmenin bu öğenin yük idaresi kapasitesini 10 kat artıracağını tahmin ediyoruz ve geliştirmeyi bu hafta kullanıma alacağız. Kapasiteyi daha da artırmaya yönelik uzun vadeli çözümler üzerinde de çalışıyoruz.

Daha büyük resme baktığımızda, ayı piyasası boyunca birçok yeni özellik çıkardık. Bu özellikleri test ortamlarında defalarca stres testine sokmuş olsak da test ortamları dünyanın her yerinden on milyonlarca kullanıcının yer aldığı canlı ortamı her zaman yansıtamıyor. Kötü performans gösteren bazı alanlar da vardı. Örneğin mevcut bir mesaj aracısının farklı noktalarına bir miktar daha kullanım/stres yüklendiğinde 10-100 kat performans payı beklerken, aslında sadece 3-5 kat performans elde edebildik. Ve piyasa, sistem yüklenmeleri açısından 3-5 kat değil kolaylıkla 10 kattan daha fazlasına ulaşabilen büyük ivmelerle yükseliyor.  

Pozitif yanı ise bunların tamamı çözebileceğimiz sorunlar. Mimarimiz sağlam ve sektörün en iyi ve en becerikli ekiplerinden birine sahibiz. Bu sorunları hızla kısa, orta ve uzun vadeli düzeltmelerle çözeceğiz. Bugünden sonra hiç bir sorun yaşanmayacağının garantisini veremem. Elbette gelecekte de karşı karşıya kalacağımız sorunlar olacak fakat bunları hızla çözebileceğimize eminiz.

Kısa geçmişimizde, Binance birçok zorluk yaşadı ve bunların hepsinin üstesinden geldik. Binance kolay şeyleri başararak endüstri lideri olmadı, zor sorunları çözebilmemizle ve bunu yaparken kullanıcılarımızı koruyabilmemizle gurur duyuyoruz.

Binance.com’da yaşanan sorunlardan haksız yere etkilendiğinizi düşünüyorsanız, lütfen mümkün olduğunca çok ayrıntı vererek buradan bir destek talebi açın. Ekibimiz en kısa sürede talebinizi değerlendirecek.

Şeffaflığın, blockchainin mümkün kıldığı dünyanın temelinde yattığını düşünüyoruz. Zorluklardan ve sıkıntılardan korkmuyoruz, daha da önemlisi sorumluluğu üstlenme cesaretine ve becerisine sahibiz. Kullanıcıları korumak en temel değerimiz. Sistemlerimizi daha da iyi bir hale getirmek için çok çalışıyoruz ve şeffaf bilgi paylaşımı yapmaya devam edeceğiz.

Yaşanan sıkıntılar nedeniyle özür dilerim ve lütfen desteğinizin bizim için ne kadar önemli olduğunu unutmayın. Her zamanki gibi bana ulaşmanız gerekirse Twitter üzerinde aktif olacağım.

- CZ, CEO @Binance