Tecrübelerden bir kesit

Bu sayfada sizlerle müşteri mahremiyetini koruyarak, gerçek müşterilerle yaşadığımız gerçek tecrübelerimizden bir kesit paylaşıyoruz.

1- Firmanın ihtiyacı
Firma sürekli kullanılabilirlik ve felaket kurtarma ortamını yerel olmayan bir sunucuya uzatmak istiyordu. Yani, İstanbul’da bulunan veritabanı yedeklerini sıcak/ılık olarak uzaktaki başka bir yerde de barındırmak istiyordu. Bu sayede İstanbul’daki veri merkezinde ciddi bir sorun çıkarsa, İstanbul’dan çok uzakta olan o yerdeki yedekler kullanılabilecekti.

Uyguladığımız çözüm
Düşük maliyetler, çözüm çeşitliliği ve hızlı aksiyon kabiliyeti sağladığı için Microsoft Azure tercih edildi. Microsoft Azure ile yerel ortam arasında Site-to-site VPN kuruldu. Ağlar arası haberleşme sağlandıktan sonra Microsoft Azure’da müşterinin ihtiyacına göre bir sanal makine oluşturuldu. Yerel ağda bulunan Always On Availability Groups ortamına ilaveten Microsoft Azure ortamında kontrollü bir şekilde geriden gelen Log Shipping sunucusu kurduk. Bu sayede müşterimize sadece uzakta bir yedekleme değil, aynı zamanda insan veya uygulama kaynaklı hatalı güncelleme ve silme sorunlarına karşı da alternatif bir önlem seçeneği sunmuş olduk.

2- Firmanın ihtiyacı
Firmanın canlı ortamında Always On Availability Groups yapılandırması vardı ve bu sunucular için Microsoft SQL Server Enterprise Edition “Server/CAL” lisansları kullanılıyordu. SQL Server’ın bu versiyonunda, bu lisans ile en fazla 20 adet CPU Core kullanılabiliyordu. Veritabanı sunucusundaki CPU kullanımı ise zaman zaman %100’lere çıkmakla beraber, ortalama %70’lerdeydi. Firma CPU kaynaklarını arttırmayı planlıyordu, fakat lisans sınırlaması nedeniyle sadece CPU arttırmak bir işe yaramayacaktı, SQL Server lisansının da “Per Core” olarak değiştirilmesi gerekecekti. Elbette bu işlemin sadece 1 sunucu için değil, tüm Always On Availability Group Replica sunucuları için yapılması gerekiyordu. Yani böyle bir operasyon hem CPU donanımı, hem de lisans maliyeti oluşturacaktı.

Uyguladığımız çözüm
Bu ortamda, ilgili yazılımcı ve personel ile iş gereksinimlerini de dikkate alarak yoğun bir şekilde performans iyileştirme çalışması yaptık. Şu anda müşterimizin veritabanı sistemi aynı CPU donanım kaynaklarıyla ortalama %5 kullanım seviyelerinde. Ne CPU kaynaklarını arttırmak gerekti, ne de SQL Server lisansını değiştirmek gerekti. Bu kapsamda indekslerle ilgili de iyileştirme çalışması yapıldı ve eskiden varolan indekslerin yarıya yakını silindi. Bu sadece diskten yer kazandırmadı, ki aynı veritabanlarının birçok kopyası vardı, aynı zamanda ilgili tablolara yapılan IO işlemlerinin de azalmasını sağladı. Aynı kazanç tüm Always On Availability Group Replica sunucularında edinildi.

3-Firmanın ihtiyacı
Firmada SAP uygulamasının veritabanları Microsoft SQL Server ürünü üzerinde barındırılıyordu. Firma, birlikte çalıştığı SAP danışmanlarına özellikle yoğun iş dönemlerinde performans sorunları yaşadığını iletiyor, fakat SAP danışmanları firmaya bir sorun görmediklerini iletiyor ve Microsoft SQL Server danışmanlığı hizmeti alıp sunucularını kontrol ettirmeleri gerektiğini iletiyordu.

Uyguladığımız çözüm
Müşterimiz bizimle irtibat kurduktan sonra SAP veritabanlarını barındıran Microsoft SQL Server sunucusunda bir sağlık bakımı (Healthcheck) çalışması uyguladık. SAP uygulamasının veritabanı sunucusunu da kapsayan birçok standardı vardır ve bu standartların dışına çıkamazsınız. Çıktığınız anda SAP’ye bir sorun kaydı açmak istediğinizde SAP standartların dışında yapılandırma kullandığınız için size destek vermez. Bu nedenle yapabileceklerimiz çok sınırlıydı. Buna rağmen birçok tespitimiz oldu. En can alıcı olan tespitlerimiz eksik indeks ve yanlış yapılan Buffer’lama işlemleriyle ilgiliydi. Bu tespitlerden sonra ilgili SAP ve ABAP danışmanları ile herhangi bir SAP gereksinimini çiğnemeden eşgüdümlü çalışarak eksikleri giderdik ve müşterimiz ve son kullanıcıları artık SAP ortamından çok daha memnundu. Dakikalar süren işlemleri tek haneli saniyelere indirdik.

4-Firmanın ihtiyacı
Firmanın, yurtdışındaki başka bir firmadan sürekli olarak gelen XML dosyalarını çok kısa bir sürede işleyip veritabanına kaydetmesi gerekiyordu. Bu işlemin 200 milisaniye sürmesi bile firma için kabul edilebilir değildi. Eğer bu kayıt işlemi belli bir süreyi geçerse, ki o anda geçiyordu, müşterimizin sistemi para kaybına açık hale geliyordu. Bu da her iş için büyük bir risktir. Bunun yanında firma hem Microsoft SQL Server’ın eski bir versiyonunu kullanıyordu ve sistemin versiyonunun yükseltilmesi gerekiyordu, hem de sıcak bir yedekleme sisteminin kurulmasını istiyordu.

Uyguladığımız çözüm
Müşterimizin Microsoft SQL Server sürüm yükseltme çalışmasını yaptık ve yedekleme amacıyla Multisite Always On Availability Group kurulumu yaptık. Bununla beraber aynı zamanda yoğun bir performans analiz ve iyileştirme çalışması yürüttük. Bu çalışmadan sonra artık işlemler 5-6 milisaniye arasında sürüyor ve müşterimizin tüm beklentilerini fazlasıyla karşılıyordu; artık ortada herhangi bir finansal risk kalmamıştı.

5-Firmanın ihtiyacı
Firmanın en temel işlemlerinden biri olan rotalama işlemi gün içerisinde sık sık 1 saate yakın sürüyordu. Yazılımcılar ve sistem yöneticileri sorun konusunda uzlaşamıyordu. Sorunun nedeni muğlaktı ve çözülmesi gerekiyordu.

Uyguladığımız çözüm
Öncelikle ilgili Microsoft SQL Server sunucusunda bir sağlık bakımı (Healthcheck) çalışması yürüttük. Bu çalışma ile ilgili standart prosedürümüze uygun olarak bulgularımızı ilgili yöneticilere raporladık ve raporumuzun sunumunu yaptık. Akabinde ilgili yazılım geliştiricileri ve sistem yöneticileriyle eşgüdümlü olarak performans iyileştirme çalışması yaptık. Bu süreçte rotalama ile ilgili sorunların yanısıra başka sorunları da tespit ettik. İlgili personel sorunlar konusunda bilgilendirildi. Çok kısa bir sürede %66 performans iyileştirmesi sağladık.

Eğer sizlerin de benzer veya kendi ortamınıza has sorunları varsa, birlikte neler yapabileceğimize dair görüşmekten memnuniyet duyarız. İletişim sayfamızdaki bilgilerle bize  ulaşabilirsiniz.