Geç bir yanıtın yanlış sayıldığı bir trading ya da reklam teknolojisi sistemi için doğru dış firma, sizin zaman sınırınızla aynı aralıkta çalışan ve hız rakamlarının nasıl ölçüldüğünü gösterebilen firmadır. Tercih ettiğiniz firma, herhangi bir şey kurmadan önce canlı sisteminizi ölçmelidir.
Her alıcıya uyan bir düşük gecikmeli yazılım geliştirme şirketleri listesi yoktur; çünkü bu terim birbirinden bir milyon kat farklı olabilen zaman sınırlarını kapsar. Trading donanımında onlarca ya da yüzlerce nanosaniye anlamına gelebilir. Bir uygulamada ya da web sayfasında ise saniyenin yaklaşık onda biri içinde gelen bir yanıt, onu kullanan kişiye zaten anlık gelir. Bu yüzden ilk soru, sizin kendi zaman sınırınızın nereye düştüğüdür.
Kısa yanıt: zaman sınırınızı ve onun ölçüldüğü iki noktayı yazın ve her firmaya, kurduğu sistemlerden hangilerinin halihazırda üretimde o aralıkta çalıştığını sorun. Kimse herhangi bir şey kurmadan önce, tercih ettiğiniz firmaya canlı sisteminizi ölçmesi için ücret ödeyin ve ne karar verirseniz verin raporunu saklayın.
Ayrıca okuyun
Sizin sisteminiz için düşük gecikme, adını koyabileceğiniz iki nokta arasında ölçülen bir zaman sınırıdır. Zaman sınırları dört geniş aralığa ayrılır:
Tek bir üründe farklı aralıklarda parçalar bulunabilir. Bir trader fiyatları ekranda okur, ama o trader'ın gönderdiği emrin işlem yerine giderken çok daha sıkı bir zaman sınırını tutturması gerekebilir. Her zaman sınırını, ölçüldüğü iki noktayla birlikte yazın. Her birinin düştüğü aralık, hangi tür firmayı aramanız gerektiğini söyler.
Bu yazı firmaları sıralamıyor. Doğru firma türü, sizin aralığınıza ve yaptırmanız gereken işe bağlıdır:
Birçok firma birden fazla türe uyar; bu yüzden size atanan mühendislerin hangi tür işi yapmış olduğunu sorun.
Yukarıda bağlantısı verilen özel ekipler yazısı, her performans rakamıyla birlikte nelerin gelmesi gerektiğini sıralıyor ve bir teklif talebine (RFP) yapıştırabileceğiniz bir kontrol listesi veriyor. Aşağıdaki sorular, bir firmanın kendi rakamlarının nasıl elde edildiğini ortaya çıkarır.
Saatin nerede başladığını ve nerede durduğunu sorun. ABD opsiyon borsalarının işlemlerini ve kotasyonlarını konsolide olarak yayımlayan OPRA, saatini gelen bir mesaj “OPRA ortamının uygulama girişine ulaştığında” başlatır ve giden mesaj “OPRA ortamının uygulama çıkışına ulaştığında” durdurur. Yukarıda aktarılan AB tanımı da iki nokta konusunda aynı ölçüde kesindir. Başlangıç ve bitiş noktaları adıyla belirtilmemiş bir rakam sizinkiyle karşılaştırılamaz.
Tipik yanıtın yanı sıra en yavaş yanıtlara da bakın. OPRA'nın yayımladığı ölçümlerde medyan gecikme, yani ortadaki değer, Ocak 2024'te 19,5 mikrosaniye, şubatta ise 20,5'ti. Aynı iki ayda 99. yüzdelik, yani mesajların yalnızca en yavaş %1'inin aştığı süre, 543,5 mikrosaniyeden 57,5'e düştü. Yalnızca medyanı veren bir rapor neredeyse hiç değişiklik göstermezdi.
Ortalamalar da yavaş yanıtları gizler. Google'ın 2016'da O'Reilly tarafından yayımlanan Site Reliability Engineering kitabı, saniyede 1.000 istekte ortalama gecikmesi 100 milisaniye olan ve “isteklerin %1'inin rahatlıkla 5 saniye sürebileceği” bir web servisini anlatır. Her yolun 99. yüzdeliğini ve sisteminiz bunu ölçmeye yetecek kadar istek işliyorsa, 1.000 yanıttan yalnızca 1'inin aştığı 99,9. yüzdeliği isteyin.
Her rakamın arkasındaki yükü kontrol edin. STAC'ın 2020 tarihli genel bakışına göre STAC-T0, test trafiğini üç farklı hızda gönderir. En düşüğü “sistemlerin çoğunlukla boştayken nasıl davrandığını görmek için tasarlanmıştır”; genellikle test edilen sistemin kaldırabileceği en yüksek düzeye yakın olan en yükseği ise “sistemlerin çok yoğunken nasıl davrandığını görmek için” vardır. Kendi en yoğun dakikanızdan ya da onu yeniden üreten bir testten gelen rakamları isteyin.
Yük testinin nasıl yapıldığını sorun. Birçok yük testi aracı bir istek gönderir, yanıtı bekler ve ancak ondan sonra bir sonrakini gönderir. Sistem takıldığında böyle bir araç göndermeyi durdurur; bu yüzden takılma sırasında gelmiş olacak istekler hiç ölçülmez.
wrk2 yük testi aracının yazarı Gil Tene bu etkiye coordinated omission adını verir. Aracın son olarak Eylül 2019'da değiştirilen dokümantasyonunda, “yüksek gecikmeli yanıtların, yük üretecinin yüksek gecikme dönemlerinde ölçüm yapmaktan kaçınacak şekilde sunucuyla eşgüdüm kurmasına yol açtığını” yazar. Onun aracı istekleri sabit bir hızda gönderir ve her yanıtı “gönderimin gerçekleşmiş olması gereken andan itibaren” ölçer. Firmanın aracının bu şekilde çalışıp çalışmadığını ya da sonuçlarının nasıl düzeltildiğini sorun.
Her zaman damgasının nerede vurulduğunu sorun. Mikrosaniye düzeyindeki gecikmeler için STAC'ın genel bakışı, yazılım zaman damgaları kullanan bir kıyaslama testini “en iyi seçenek” olarak niteler. Aynı zamanda yazılım zaman damgalarındaki küçük, düzensiz gecikmelerin “onlarca ya da yüzlerce nanosaniyelik gecikmeler ölçülürken ciddi bir hataya karşılık gelebileceği” uyarısını yapar; STAC-T0 ise zaman damgalarını bunun yerine donanımda vurur. Nanosaniye rakamı veren bir firma, donanım zaman damgalarının nerede vurulduğunu gösterebilmelidir.
Neyin yanlış gittiğini henüz bilmiyorsanız, yalnızca sistemin olması gerekenden daha yavaş göründüğünü ya da daha pahalıya geldiğini biliyorsanız, buradan başlayın. Tercih ettiğiniz firmaya canlı sisteminizin kapsamı sabit bir ölçümü için ücret ödeyin; rapor, sonrasında ne karar verirseniz verin sizde kalsın. Firmanın ölçüm yapmak için neyi kurabileceğinde ya da değiştirebileceğinde ve araçlarının sonrasında nasıl kaldırılacağında yazılı olarak anlaşın.
Rapor şunları göstermelidir:
Trading sistemleri için yukarıda bağlantısı verilen yavaş emir gerçekleştirme yazısı, her emirde kaydedilmesi gereken dört zaman damgasını sıralıyor. Reklam teknolojisinde ise trafik sıçramaları ve DSP zaman aşımları yazıları, bir zirvede ve her exchange bağlantısı için neyin ölçüleceğini ele alıyor.
Firmayı raporuyla değerlendirin. Kendi mühendisleriniz rapora dayanarak firma olmadan harekete geçebiliyorsa, işi bundan sonra kimin yapacağını, ister bu firma olsun ister bir başkası, gerçek rakamlara bakarak seçebilirsiniz.
Bir firma yeni bir dil önerirse, aşağıda bağlantısı verilen yazı mühendislerin nedenin dil olup olmadığını nasıl kontrol ettiğini gösteriyor.
amBrain; trading ve reklam teknolojisi alanlarındaki yavaş sistemleri teşhis eder: çalışan platform uçtan uca ölçülür ve rapor, sürenin nereye gittiğini açıkça gösterir. Trading alanındaki işleri arasında trading terminali geliştirme, emir yönetim sistemleri ve FIX protokolü ile borsa entegrasyonu yer alır.
AdTech'te amBrain; DSP geliştirme, real-time bidding platformları ve ad exchange mühendisliği üzerinde çalışıyor.
amBrain üç formatta çalışıyor: tam teslim, özel ekip ya da sizin ekibinize yerleşen mühendisler. Müşteri, amBrain'in yeniden kullanılabilir bileşenleri dışında ürünün ve kodun tam mülkiyetini elinde tutar.
amBrain 2019'dan bu yana yazılım geliştiriyor.
Bu yazı bir vaka çalışması değildir ve hiçbir müşteri işini anlatmaz. amBrain'in kurduğu hiçbir sistem için gecikme rakamı vermez; fiyat ya da takvim de vermez.
amBrain'e ya da listenizdeki başka herhangi bir firmaya sisteminizde önce neyi ölçeceğini sorun ve her firmayı aynı kontrollerden geçirin.
Mevcut mimarinizi ve sizi endişelendiren hata senaryosunu getirin; yarım saatte birlikte üzerinden geçelim.