Ekim 2019'dan beri tutulur

Provizyon kuyruğunu yeniden yazmak

Ortalama süre, ödemenin onaylanmasından root kimlik bilgilerine kadar üç dakika yirmi saniyeden kırk yedi saniyeye düştü. Kazancın çoğu, sipariş oluşmadan önce yapılan işlerden geldi.

Beş yıl boyunca buradan sunucu satın almak, ödeme webhook'undan kimlik bilgilerinizin gelen kutunuza düşmesine kadar ortanca üç dakika yirmi saniye sürdü. Kimse şikayet etmedi. Sektörün çoğundan daha hızlıydı ve onaylamak için bir insan gerektiren herhangi bir şeyden önemli ölçüde daha hızlıydı.

Aynı zamanda seri olmaması gereken dört seri adımdı ve bir kez fark ettiğinizde fark etmemeyi bırakamazsınız. Yeniden yazım Mart'ta yayınlandı ve medyan artık kırk yedi saniye, doksan beşinci yüzdelik dilim ise dört dakikanın hemen altında.

Eski sistem ne yapıyordu

AdımMedyanNe oluyordu
Görüntü kopyalama84 snSite deposundan hedef düğüme disk görüntüsü çekme
Birim oluşturma31 snNVMe birimini ayırma ve biçimlendirme
Adres atama46 snSite adres havuzunda kilit alma, IPv4 seçme, ters DNS yazma
İlk önyükleme ve cloud-init39 snAnahtar üretme, dosya sistemini genişletme, e-posta gönderme

Dört adım, bir global çalışan havuzu ve aynı sitedeki her siparişin arkasında sıraya girmek zorunda olduğu adres havuzunda bir kilit. Sakin bir Salı günü sorun değildi. Bir promosyon sırasında veya büyük bir müşterinin kırk oluşturmayı komut dosyasıyla çalıştırdığı saatten sonraki bir saat içinde medyan ikiye katlandı ve kuyruk on iki dakikayı geçti.

Ne değiştirdik

Görüntüler önceden yerleştirildi, kopyalanmadı. Her düğüm, katalogdaki her görüntü için gece yenilenen ince bir klon tabanı tutar. Birim oluşturmak artık ağdan çekme yerine yerel bir Gen4 NVMe yansımasına karşı copy-on-write klonudur. Bu adım seksen dört saniyeden iki saniyenin altına düştü.

Adresler önceden ayrılmıştır. Her site, ters DNS zaten yazılmış, o sitedeki talebin yaklaşık altı saatini karşılayacak şekilde boyutlandırılmış sıcak bir adres havuzu tutar. Atama artık bir kilit, tarama ve DNS yazma yerine önceden oluşturulmuş bir havuzdan pop yapmaktır. Kırk altı saniye yaklaşık dört yüz milisaniyeye düştü.

Kuyruklar siteye özeldir. Frankfurt'taki bir yoğunluk artık São Paulo'daki bir oluşturmayı yavaşlatmıyor; bu kulağa açık gelse de orijinal tasarım böyle değildi çünkü orijinal tasarım dört site ve bir mühendise sahipti.

Çalışanlar idempotent ve devam ettirilebilir. Her adım anahtarlıdır, bu nedenle yarı yolda ölen bir çalışan, yarı inşa edilmiş bir örnek ve bir destek bileti yerine devam ettirilebilir bir iş bırakır. Başarısız bir oluşturmada manuel müdahale yaklaşık dört yüzde birden dokuz binde bire düştü.

Sonuç

MetrikÖnceSonra
Medyan3 dk 20 sn47 sn
95. yüzdelik dilim12 dk 10 sn3 dk 56 sn
99. yüzdelik dilim41 dk8 dk 20 sn
İnsan gerektiren başarısız oluşturma400'de 19.000'de 1
Medyan hareket etmeden önce site başına eşzamanlılık690

Yolda ne yanlış gitti

Mart'ta, on bir saat boyunca, ince klon tabanlarının gece yenilemesi dört sitede sessizce başarısız oldu ve önceden yerleştirilmiş Debian görüntüsü dokuz gün bayat bir nokta sürümü sundu. Bundan yaklaşık doksan örnek oluşturuldu. Hiçbiri ilginç bir şekilde bozuk değildi, çünkü bayat bir nokta sürümü güncel olandan bir paket güncellemesi uzaktadır, ancak sunucu satın alan hiç kimse kontrol etmek zorunda kalmamalıdır.

Etkilenen örnekleri istek üzerine yeniden oluşturduk, isteyip istemediklerine bakılmaksızın doksanına e-posta gönderdik ve herhangi bir düğümün oluşturma sunmasına izin verilmeden önce temel görüntü karmasını katalogla karşılaştıran bir kontrol ekledik. Gece işindeki sessiz bir başarısızlık en sıkıcı olası nedendir ve sıkıcı olduğu için tam olarak yazmaya değerdir.

Hala yavaş olan şeyler

  • Özel ISO kurulumları. Hala manuel, hala onlarca dakika ile ölçülüyor, genellikle bir saat içinde tamamlanıyor. Darboğaz, görüntünün yükleyicisinin söylediğini yaptığını doğrulayan bir kişidir.
  • Windows. Lisans etkinleştirme iki ila üç dakika ekler ve bizim kontrolümüzde değildir.
  • Bare metal. Aynı gün, aynı dakika değil. Fiziksel bir makinenin fiziksel bir yeniden inşası vardır ve size dürüstçe fiyat teklifi vermek, yenemeyeceğimiz bir saati başlatmaktan daha iyidir.
  • IPv6 /48 delegasyonu. Yapılandırmanın daha eski olduğu üç sitede manuel. Düzeltiliyor, yavaşça.

Neden burada durduk

Örnekleri önceden başlatılmış tutarak ve ödeme üzerine size bir tane teslim ederek medyanı yaklaşık yirmi saniyeye getirebiliriz. Bu, boş kapasite tutmak anlamına gelir, bu da kimsenin kullanmadığı çekirdekler için ödeme yapmak anlamına gelir, bu da herkesten biraz daha fazla ücret almak anlamına gelir ki yeni siparişler on bir saniye daha hızlı hissedebilsin.

Kırk yedi saniye, kısıtlamanın artık bizim yaptığımız bir şey değil, zincirin ödemenizi onaylaması olduğu kadar kısadır. Müşterinin fark ettiği noktanın ötesinde optimize etmek bir hobi, mühendislik değil.

Hazır olduğunda

Bir şehir seç. Bir boyut seç. Kripto ile öde.

Kim olduğunuzla ilgili formlar yok, onay için insan bekleme yok, doğrulama için telefon görüşmesi yok. Ödeme onaylanır ve kimlik bilgileri gelen kutunuza düşer.