Logo programınız bir anda değil, genellikle zamanla yavaşlar: önce fark edilmeyen birkaç saniyelik gecikme, sonra rapor alırken beklemeler, sonunda gün içinde tekrarlayan bir şikayete dönüşür. Bu yazının amacı, yavaşlığın tek bir nedeni olmadığını göstermek ve nereden başlayarak teşhis edilebileceğini katman katman anlatmaktır.
Önce netleştirin: “Yavaş” tam olarak ne demek?
“Program yavaşladı” cümlesi tek başına teşhis için yeterli değildir. Hangi ekranda, hangi işlemde, ne kadar sürede ve kaç kullanıcı aynı anda sistemdeyken yaşandığı bilgisi olmadan sorunun kaynağını daraltmak zordur. Aynı şikâyet her zaman aynı sebepten kaynaklanmayabilir; fatura kesim ekranındaki birkaç saniyelik gecikme ile ay sonu raporunun dakikalarca sürmesi, çoğunlukla farklı katmanlara işaret eder.
- Hangi ekran veya işlemde yaşanıyor (fatura girişi, rapor, liste, sorgu)
- Yaklaşık kaç saniye/dakika sürüyor
- Belirli bir saatte mi yoksa her zaman mı oluyor (mesai başlangıcı, ay sonu, yedekleme saatleri)
- Tek kullanıcıda mı, birkaç kullanıcıda mı, yoksa herkeste mi görülüyor
Bu dört soruya verilecek yanıtlar, aşağıdaki katmanlardan hangisinin incelenmesi gerektiğini büyük ölçüde belirler.
Veritabanı katmanı
Logo ürünleri işlemlerini bir veritabanı üzerinde yürütür ve zamanla bu veritabanı büyür. Veri hacminin artması tek başına sorun değildir, ancak veritabanının bakımı ihmal edildiğinde yavaşlama olağan bir sonuçtur. İndekslerin düzenli bakımdan geçmemesi, sorgu planlayıcısının kullandığı istatistiklerin güncel olmaması ve işlem (log) dosyalarının kontrolsüz büyümesi, en sık karşılaşılan veritabanı kaynaklı yavaşlama nedenleridir.
Bu başlıkta önemli bir uyarı gerekir: veritabanı küçültme (shrink), log dosyası temizleme veya indeks yeniden oluşturma gibi işlemler performansı iyileştirebilir, ama yanlış uygulandığında veri kaybına veya bütünlük sorunlarına yol açabilir. Bu işlemler yedek alınmadan ve konunun uzmanı bir kişinin gözetimi olmadan yapılmamalıdır.
Sunucu ve donanım
Veritabanı sağlıklı olsa bile, üzerinde çalıştığı sunucu yetersiz kaldığında yavaşlama kaçınılmazdır. Disk tipi (özellikle eski, mekanik disklerin yoğun okuma-yazma altında SSD'ye göre belirgin şekilde yavaş kalması), disk doluluk oranının kritik seviyeye yaklaşması, bellek (RAM) yetersizliği ve sanal sunucu ortamlarında kaynakların başka sanal makinelerle paylaşılması bu katmanın tipik nedenleridir.
Sık gözden kaçan bir başka etken, yedekleme işlerinin mesai saatleri içinde, yoğun kullanım anlarıyla çakışacak şekilde çalışmasıdır. Yedekleme sırasında disk ve işlemci yoğun biçimde kullanıldığından, aynı anda çalışan kullanıcılar bunu genel bir yavaşlama olarak hisseder.
Ağ bağlantısı
Sunucu ile kullanıcı bilgisayarı arasındaki ağ gecikmesi, özellikle uzak şubelerden veya VPN üzerinden erişimde performansı doğrudan etkiler. Yerel ağda hiç fark edilmeyen bir gecikme, VPN üzerinden bağlanan bir şubede kayda değer bir yavaşlama olarak ortaya çıkabilir. Bu tür durumlarda sorun genellikle Logo yazılımında değil, ağ altyapısındaki gecikme veya bant genişliği kısıtındadır.
Uygulama kullanım alışkanlıkları
Bazı yavaşlıklar sistemden değil, kullanım biçiminden kaynaklanır. Çok geniş bir tarih aralığında rapor almak, filtre uygulamadan tüm kayıtları listelemek, aynı anda çok sayıda kullanıcının yoğun işlem yapması veya kullanılmadığı hâlde açık bırakılan ekranların kaynak tüketmeye devam etmesi, günlük operasyonda sık karşılaşılan örneklerdir.
- Aylar veya yıllar kapsayan geniş tarih aralıklı raporlar
- Filtre uygulanmadan alınan büyük hacimli listeler
- Aynı anda çok sayıda kullanıcının yoğun rapor/işlem talebi
- Uzun süre açık kalıp arka planda kaynak tüketen ekranlar
Veri kalitesi
Yıllar içinde biriken gereksiz kayıtlar, kapatılmamış dönemler ve hatalı veya eksik tanımlanmış kartlar (cari, stok, muhasebe) sistemin her sorguda daha fazla veriyi taraması anlamına gelir. Veri temiz ve tutarlı tutulduğunda aynı donanım üzerinde bile fark edilir bir performans kazanılabilir.
Sürüm
Kullanılan Logo ürününün eski bir sürümde kalması, sonraki sürümlerde yapılmış performans iyileştirmelerinden yararlanılamaması anlamına gelebilir. Bu, yalnızca Logo'ya özgü değil, genel olarak kurumsal yazılımlar için geçerli bir prensiptir: güncellemeler çoğu zaman yeni özelliklerin yanında performans ve kararlılık düzeltmeleri de taşır. Sürümün güncel olup olmadığının kontrol edilmesi, yavaşlık teşhisinin bir parçası olmalıdır.
Kendi başınıza yapabileceğiniz ilk kontroller
Uzman desteği istemeden önce, aşağıdaki kontroller sorunun kaynağını daraltmaya yardımcı olabilir:
- Yavaşlığın hangi ekranda, hangi işlemde ve yaklaşık kaç saniyede yaşandığını not edin.
- Sorunun tek bir kullanıcıda mı yoksa herkeste mi olduğunu kontrol edin.
- Yavaşlığın belirli saatlerde (yedekleme, ay sonu, mesai başlangıcı) tekrar edip etmediğini gözlemleyin.
- Rapor alırken tarih aralığını daraltıp sonucun değişip değişmediğini deneyin.
- Uzun süredir açık kalan ve kullanılmayan ekranları kapatın.
- Kullandığınız Logo sürümünün güncel olup olmadığını bayinizden veya destek ekibinizden teyit edin.
- Sunucunun disk doluluk oranı ve genel kaynak kullanımı hakkında IT sorumlunuzdan bilgi isteyin.
Ne zaman uzman desteği gerekir
Yukarıdaki kontroller sorunu tam olarak açıklamıyorsa veya çözüm veritabanı bakımı, sunucu kaynak analizi ya da sürüm yükseltmesi gibi teknik bir müdahale gerektiriyorsa, bu noktadan sonrasının bir uzman tarafından yürütülmesi gerekir. Özellikle veritabanı üzerinde yapılacak bakım işlemleri (indeks düzenlemesi, log yönetimi, veritabanı küçültme gibi) yedeksiz veya gözetimsiz denenmemelidir.
iyibir'in Logo destek ekibi, bu tür yavaşlama şikâyetlerini veritabanı, sunucu ve kullanım katmanlarını birlikte inceleyerek değerlendirir; sorunun kaynağını netleştirdikten sonra uygun çözüm adımını birlikte belirler.