Gece 02:40’ta başlayan aktarım sabah hâlâ “çalışıyor” görünüyor. Masada ilk öneri genellikle aynı: paket boyutunu büyütelim.
Bu öneri bir ölçüme değil, bir sezgiye dayanır. Paket büyürse tur sayısı azalır, iş de hızlanır. Kulağa makul gelir; ancak aktarımın süresini belirleyen şey çoğu zaman tur sayısı değildir.
Asıl mesele şu: sabah “çalışıyor” görünen bir kaydın üç ayrı anlamı olabilir. Gerçekten çalışıyordur, karşı sistemde yanıt bekliyordur ya da takılmış olup kimse fark etmemiştir. Bu üçünü ayırmadan verilen “iptal et, yeniden başlat” kararı ikinci bir sorun üretir.
Ölçüm olmadan paket boyutu tartışması
Elimizde paylaşabileceğimiz karşılaştırmalı bir ölçüm yok; anlatabileceğimiz şey mekanizma. Veri paketler hâlinde okunur ve yazılır. Paket boyutu ve paralel çalıştırmayı kapatma ayarı proje tanımında durur, yürütme isteğiyle birlikte SAP tarafına taşınır. Bir ayarın sizin veri hacminizdeki etkisini yalnız sizin ortamınızda ölçebilirsiniz.
Paket hatasında yeniden işlenen veri
Paket boyutunu hızdan değil hatadan bakarak seçmek daha kullanışlıdır. Bir paket başarısız olduğunda o paketteki veri yeniden işlenir. Büyük paket, hata anında daha fazla yeniden işleme ve daha uzun bir telafi süresi demektir. Bellek ve ağ davranışı da aynı seçime bağlıdır.
Karar verdiren şey durum kayıtları. Görev altyapısı bekleyen, çalışan, SAP yanıtı bekleyen, başarılı, başarısız ve iptal edilmiş durumlarını adım sonuçları ve süreleriyle kaydeder. İşleyiciler bekleyen çalışmaları sahiplenirken kilitli kayıtları atlar; böylece aynı çalışma iki kez alınmaz.
Operasyonda en çok karşılığı olan ayrım da burada: “çalışıyor” durumu iDataEngine tarafında bir adımın açık olduğunu söyler. “SAP yanıtı bekliyor” ise topun karşı tarafta olduğunu söyler. İkinci durumda incelenecek yer aktarım ekranı değil, SAP tarafındaki işlem ve kaynak durumudur.
Kaynak okuma süresi ile hedef yazma süresini ayırmak
Süre tek bir sayı olarak okunduğunda yanlış yere müdahale edilir. Kaynak sorgunun süresi ile hedefe yazma süresi aynı kayıtta görünse de darboğaz genellikle birinde toplanır ve çözümleri farklıdır: biri filtre ve seçim kriteri işi, diğeri hedef tablo, indeks ve bağlantı işi.
Yeniden çalıştırmadan önce üç soruyu sırayla sormak gerekir:
- Aynı proje için çakışan zamanlamalar var mı? Aynı hedefe yazan iki çalışma birbirini bekletebilir.
- Hedefte kaç satır var? Yarım kalmış bir aktarımın üzerine ekleme yapmak mükerrer kayıt üretir.
- Hata kaydı hangi adımı gösteriyor? Kaynak okuma, paket yazımı ve hedef bağlantısı farklı sebeplere işaret eder.
Görev tanımında deneme sayısı alanı bulunur; bunu “başarısız her iş kendiliğinden tekrar dener” diye okumamak gerekir. Hedefe yazan akışlarda yeniden çalıştırma kararını insanda tutmak makul bir alışkanlık.
Önerimiz şu: bir bakım penceresinde tek bir projede paket boyutunu değiştirip iki çalışmayı yan yana kaydedin. Kayıtları birlikte okuyalım, ayarı ondan sonra kalıcı hâle getirin. Ölçmeden yapılan ayar değişikliği, çözdüğü sorun kadar yenisini üretiyor.