Güvenlik Sistemleri Hakkında

IP KAMERA / NVR SİSTEMLERDE PERFORMANS GELİŞTİRME

IP KAMERA / NVR SİSTEMLERDE PERFORMANS GELİŞTİRME

 
SSD ÖNBELLEK UYGULAMASI İP KAMERALAR İÇİN KULLANILAN DEPOLAMA ÇÖZÜMLERİNDE ETKİN BİR YÖNTEM OLABİR Mİ? İLGİLİ MAKALE GELİŞMEKTE OLAN BU SİSTEMİN İNCELENMESİNİ VE UYGULANABİLRLİĞİNİ DEĞERLENDİRİYOR. HENÜZ BÜYÜK ÖLÇEKLİ İP KAMERA SİSTEMLERİNDE DENENMİŞ VE KENDİNİ KANITLAMIŞ BİR YÖNTEM OLDUĞU SÖYLENEMEZ. ANCAK GÖZARDI EDİLECEKDE BİR UYGULAMA OLDUĞU DÜŞÜNÜLMEMELİDİR.
 

Bölüm 1: SSD Önbellek Çözümü

Yatırım Zorlukları

SSD Önbellek Çözümü

NAS üzerinde SSD Önbellek

Bölüm 2: SSD Önbellek Nasıl Çalışır

NVR Veri Operasyonları ve Hot Data

NAS NVR üzerindeki SSD Önbellek

SSD Önbellek ile Verinin Okunması ve Nvr Ara Belleğe Alınması

Nvr SSD Önbellek Üzerine Veri Yazımı

SSD Önbellekten Veri Temizlenmesi ve Boşaltılması

İsabet Oranı, Isınma Periyodu ve Önbellek Boyutu

Hızlanma ve Maksimum Sistem Performansı

NVR Hızlandırılmış Protokoller ve Hızlandırılmamış İş Yükü

SSD Önbellek ve RAM Modülü Boyutunun Belirlenmesi ve SSD Cache Performansının İzlenmesi

Bölüm 3: Test Sonuçları

Test Dosyası

 

Yatırım Zorlukları ve SSD Önbellek Çözümü

Yatırım Zorlukları

Büyük ölçekli projelerde yüksek bilgilendirme sistemi üretkenliği düşük gecikme süresi talep etmektedir ve I/O gecikmesinin gereksinimleri kritik-görev ticari uygulamalarının yürütülmesi esnasında en zorlayıcı pozisyonlarındadırlar. Her IT yayılım sistemi için en büyük zorluk düşük gecikme, yüksek verimlilik ve optimize edilmiş sistem kullanım oranı arasındaki dengeyi sağlamaktır.

Bir ip kamera depola sistemindeki I/O gecikmesinin derecesi iki faktör tarafından belirlenir: I/O iş yükünün yapısı ve depolama medyası kapasitesi. Ticari uygulamaların çoğu rastlantısal IOPS sistemini içerir ki burada veri girişi sistem diski üzerine bitişik olmayan bir şekilde yapılır. İhtiyaç duyulan veri bitleri birbirine fiziksel olarak yakın şekilde yerleştirilmediğinden, sistem çok sayıda arama işlemi üretir, böylelikle I/O gecikmesi artar.

Klasik olarak, rastlantısal IOPS iş yükünün sonucu olan yüksek I/O gecikmesinin üstesinden gelmek için kafa sayısını artırmak ve aynı disk üzerinde iki ardışık okuma ihtimalini azaltmak amacıyla gerekenden daha çok sayıda disk görevlendirilir, böylelikle erişim performansı yükseltilir. Bununla birlikte, aşırı görevlendirmenin muhtelif sakıncaları vardır, bunlara daha düşük verimlilik ve kapsamlı sistem kullanımı dahildir. Daha spesifik olarak, gereken disk sayısını artırmak ilişik sayısının artmasına, ihtiyaç duyulan alanın miktarının artmasına, çalışma ve soğutma için tüketilen enerjinin artmasına ve sonuçta daha yüksek bakım maliyetinin ortaya çıkmasına neden olur. Bunun da ötesinde, gereksiz kapasite eklenmesi kafaların toplamına ulaştıkça sistem-kullanım oranı azalabilir.

SSD Önbellek Çözümü

Solid State Drives (SSD)’ın süper rastlantısal giriş performansını güçlendirerek, SSD Önbellek teknolojisi yatırım zorlukları için bir çözüm sağlanır ki böylelikle çok sayıda disk ilavesi olmaksızın okuma ve yazma hızları artırılır.

Okuma operasyonları anlamında, istatiksel olarak verilen herhangi bir depolama sistemindeki verinin yalnızca küçük bir bölümünün sıklıkla girişi yapılır. Böylelikle toplam bakım maliyeti minimum düzeyde tutulurken, SSD Önbellek üzerinde sıklıkla girilen verinin depolanmasıyla bir tampon bellek okuması yaratılarak sistem performansı geliştirilebilir.

Küçük, rastlantısal yazma operasyonları da ticari iş yüklerinde oldukça yaygındırlar. Mükemmel rastlantısal girişler ile, SSD Önbellek okuma-yazma operasyonları iSCSI LUNs ve volüm performansını hızlandırabilir, rastlantısal yazma operasyonlarının gecikmesini azaltır ve diğer veri transferlerinin performansı üzerindeki etkiyi büyük ölçüde azaltır.

NAS Üzerindeki SSD Önbellek

Her bir SSD önbelleği bir depolama volümüne veya iSCSI LUN’a (blok-seviyesi) iliştirerek, SSD Önbelleğinde bir okuma ve yazma tampon belleği yaratılabilir ki bu NAS’ınızın sistem performansını büyük ölçüde geliştirir.

SSD Önbellek Nasıl Çalışır

Veri Operasyonları ve Hot Data

Tipik olarak, bir okuma talebi alındığında, ayırıcılar öncelikle ilgili verinin RAM olarak bilinen sistem hafıza önbelleği üzerinde bulunup, bulunmadığını kontrol ederler ki en son girişi yapılan bilgi burada depolanır. Eğer talep edilen veri mevcut değil ise, disk üzerindeki okuma işlemleri tetiklenecektir. RAM boyutu çalışan veri-setine kıyasla ciddi biçimde kısıtlandığında, en fazla bilgi bulma talepleri disklerden okuma ile sonuçlanır ve böylece gecikmede artış olur.

Nvr veri okuma

Şekil 2 RAM ve disklerden veri girişi

 

Pek çok uygulamalarda, uygulamanın tarzının belirli I/O özelliklerinden dolayı veri bulma ve iş yükünde gözle görülür kalıplar mevcuttur. Örneğin bir OLTP veri tabanı iş yükünde, veri tabanındaki bazı tablolar diğerlerinden daha sıklıkla okunur. En fazla sıklıkla girilen veri ‘’hot data’’ olarak adlandırılır.

Bu ‘’hot data’’ alt kümesinde en son girilen verinin sıklıkla girişi yapılan veri olma olasılığı daha yüksektir. Değerlendirmelerin çoğunda, ticari iş yükünde, en son girişi yapılan veri konuyla en çok ilgili olandır ve bu nedenle zamanında veri bulma ihtiyacı duyulur.

Nvr hot data cold data

Şekil 3 Hot data, cold data ve uygun önbellek boyutu

 

Hot data bütün veri kümesinin en yoğun I/O talebine sahip küçük bir parçasıyken, az sayıdaki SSD’ler bütün hot datayı önbelleğe almak için kullanılabilir, böylece süper I/O kapasitesini sistem performansını önemli ölçüde artırmak için kullanır.

NAS Üzerindeki SSD Önbellek

Okuma önbelleği yalnızca bir SSD ile yaratılabilir. Eğer daha büyük okuma önbelleği veya okuma-yazma önbelleğine ihtiyaç duyulursa, aynı modelin iki SSD’si sunucunun içerisine kurulmak zorundadır. En iyi performansı sağlamak için SSD’ler aynı boyut, aynı marka ve aynı modelde olmalıdırlar. Yalnızca-okuma önbellekleri için SSD’ler RAID 0 kullanılarak yapılandırılmalıdırlar. Okuma-yazma önbellekleri için SSD’ler bir tanesinin arızalanabileceği göz önünde bulundurularak veri bütünlüğünü sağlamak amacıyla RAID 1 kullanılarak yapılandırılırlar.

Bir kez kurulduktan sonra, her bir SSD Önbellek sistemdeki her hangi bir volüme veya iSCSI LUN’a (blok seviyesi) iliştirilebilir. Eğer bir volümde SSD etkin halde ise, volüm üzerindeki iSCSI LUN da (dosya seviyesi) artan performanstan yararlanacaktır.

SSD Önbellek İle Veri Okuma ve Belleğe Alma

SSD Önbellek bir kez aktif edildikten sonra, disklerden talep edilen veri sürekli olarak kopyalanır ve SSD diskler üzerine depolanır. Kayıt yapılacak olan RAM sisteminde bir bellek haritası yaratılacaktır ki burada veri blokları SSD Önbellek üzerindedir. Bu nedenle SSD Önbellek boyutu ve sistem RAM boyutu orantılı olarak ilişkilidirler.

nvr diskler bellek ssd 4

Şekil 4 Önbellekteki blokların bellek haritalaması

 

Eğer aynı veri için fazla talep üretilirse SSD üzerinde yürütülen okuma operasyonları ‘’önbellek vuruşları’’ olarak adlandırılır. Veri önbellekten alındıkça okuma performansı gelişir.

Nvr bellek vurusu 5

Şekil 5 Önbellekten ‘’önbellek vuruşu’’ olarak adlandırılan veri girişi

 

Diğer taraftan, SSD önbellek üzerinde bulunmayan veri için bir okuma talebi gönderildiğinde bu durum ‘’önbellek kaçışı’’ olarak adlandırılır. Önbellek kaçışı durumundan sonra bir disk okuma operasyonu tetiklenecektir ve talep edilen verinin bir kopyası gelecekteki taleplerdeki okuma hızını artırmak amacıyla SSD Önbellek üzerinde yapılmış olacaktır.

nvr onbellek kacisi 6

Şekil 6 Disklerden ‘’önbellek kaçışı’’ olarak adlandırılan veri

 

SSD Önbellek bütün veriyi blok-seviyesinde manipüle eder. Örneğin 4 GB’lik bir dosyadan 400 KB’lik bir veri parçası okunduğu zaman yalnızca bu 400 KB’lik verinin girişi yapılacaktır. Ayrıca, eğer bu 400 KB’lik veri mevcut değil ise, sistem bunu disklerden okuyacaktır ve SSD Önbellek üzerine kopyalayacaktır.

SSD Önbelleğe Veri Yazımı

Yazma operasyonlarını hızlandırmak amacıyla SSD Önbellek okuma-yazma önbelleğinde bir geri-yazma önbelleği yaklaşımı kullanır. NAS bir yazma talebi aldığında veriyi SSD önbellek blokları üzerinde depolar ve sonra uygulama sunucusundaki yazma operasyonuna bilgi verir.

nvr bilgiyi yazma karari

SSD Önbellekten Veri Temizlenmesi ve Boşaltılması

SSD Önbellek bir kez dolduktan sonra, her hangi bir önbellek kaçışı boşaltma mekanizmasını tetikleyecektir, böylelikle ilgili veri için yer açmak amacıyla önbellekten bazı veriler kaldırılacaktır. SSD Önbellek veri-rotasyonu için ‘’En Uzun Zaman Önce Kullanma’’ (LRU) yer değiştirme algoritmasını kullanır.

LRU algoritması yalnızca veri girişi sıralanmasını göz önünde bulundurmaz, ayrıca son okunuşunu da göz önünde bulundurur. En uzun zaman önce girişi yapılan veri yeni eklentiler için ilk kaldırılan olacaktır. Daha sık girişi yapılan veri blokları (örneğin hot data) daha uzun süreler boyunca tutulacaktır ve önbellekte kalmalarından faydalanıldığı sürece bellek döngüsünde kalacaklardır.

İsabet Oranı, Isınma Periyodu ve Önbellek Boyutu

Okuma operasyonları için SSD Önbellek ‘’isabet oranı’’ önbellek vuruşlarının rasyosunu temsil eder, onun sayesinde veri talepleri SSD Önbellek tarafından gerçekleştirilir. Daha yüksek isabet oranı diskler üzerindeki daha az sayıda okuma oranını ve bu nedenle daha düşük I/O gecikmesini gösterir. Diğer taraftan, daha düşük isabet oranı okunan verinin çoğunun disklerden alındığını gösterir, buradaki yanıt süresi volümlerden okumaya benzer, SSD Önbelleğin yararı yoktur. SSD Önbelleğin isabet oranı arttıkça, yanıt süresi SSD disklerin I/O gecikme süresine yansıyacaktır, bu süre HDD disklerdekinden çok daha azdır.

nvr onbellek isabet orani7

Şekil 7 Isınma periyodu ve önbellek isabet oranı

 

SSD Önbellekteki bellek haritası başlangıçta boşken, hemen her veri okuma operasyonu bir önbellek kaçışına neden olacaktır. Bu arada verinin kopyaları SSD Önbelleğe sürekli olarak eklenecektir. Bu periyod ‘’ısınma periyodu’’ olarak anılır ve temelde kopyalama operasyonlarından oluşur. Ayrıca ısınma periyodu çalışan veri setinin şiddetli bir şekilde değişmesiyle de oluşur, öyle ki önbellekteki mevcut veri daha fazla talep edilmez. Yüksek bir önbellek isabet oranı SSD Önbelleğin tamamen değerlendirildiğini gösterir. Bu gösterge ısınma periyodu boyunca artacaktır.

Sistem isabet oranı iki faktöre bağlıdır: SSD Önbelleğin boyutu ve hot data boyutu. Daha yüksek isabet oranı için SSD Önbellek üzerinde daha fazla hot data depolanmasına ihtiyaç duyulur. Örneğin sıklıkla girişi yapılan 100 GB verili bir 2 TB dosya sunucusunda tavsiye edilen önbellek boyutu yaklaşık 100 GB’nin üzerinde olacaktır. Bununla birlikte hot data boyutu 100 GB iken, 500 GB’lik SSD Önbellek yapılandırılmasının faydası kısıtlı olacaktır.

Hızlandırma ve Maksimum Sistem Performansı

SSD Önbellek disk alt sistemlerinin performansını geliştirmek üzere dizayn edilmiştir. Tıkanıklığın eşit olduğu CPU kapasitesi, giden bağlantı bant genişliği ve diğer sistem kısıtlamaları konularında maksimum sistem performansını hızlandırmaz. Başka bir ifadeyle, eğer bir sistem en iyi pozisyonunda 100,000 IOPS’luk bir performans gösterebiliyorsa, SSD Cache kullanılsa bile IOPS performansı artmayacaktır.

Hızlandırılmış Protokoller ve Hızlandırılmamış İş Yükü

Veri bloklar halinde belleğe alınırken bütün dosya ve blok-seviyesi depolama servisleri SSD Önbellekten faydalanacaktır, bunlara CIFS, iSCSI ve diğerleri de dahildir. Ağırlıklı bir biçimde iş yükü kalıplarını yeniden-okuyan sanal uygulamalar, bulut bilişimi, OLTP veri tabanları, e-posta sunucuları ve dosya hizmetleri de SSD Ön belleğe alma sisteminden faydalanacaklardır. Önümüzdeki bölümde e-posta sunucularına dayalı bir iş yükü modelindeki test sonuçlarını karşılaştıracağız.

Belirli iş yükü modellerinde SSD Ön belleğe almanın faydaları çok kısıtlı olacaktır. Örneğin, büyük ardışık okuma veya yazma operasyonlarında (örneğin tek kanallı HD video akışı veya güvenlik kamerası video kaydı) veya tamamen rastlantısal veri okuma modellerinde (örneğin çalma listesi rastlantısal seçicisi olan büyük bir müzik arşivindeki müzik akışı hizmetleri) yeniden-okuma modeli olmadığından SSD Önbelleğe alma sisteminden faydalanmayacaklardır.

SSD Önbellek ve RAM Modülü Boyutunun Belirlenmesi ve SSD Önbellek Performansının İzlenmesi

Örneğin, günlük girilen dosya boyutu 200 GB ise, bütün hot data’nın yerleşebilmesini sağlamak için buna karşılık gelen SSD Önbellek boyutu 200-300 GB olmalıdır.

Bunlara ilaveten, SSD Önbellek verisini izlemek amacıyla RAM modülü içerisinde bir haritalama tablosu yaratılacaktır. Bu nedenle RAM boyutu SSD Önbellek boyutuyla orantılı olmak zorundadır. Intel-tabanlı NAS için, önyüklemesi yapılmış sistem belleğinin yalnızca 1/4’ü SSD önbellek için kullanılabilmektedir. SSD önbelleğin her 1 GB’si yaklaşık 4 MB sistem belleğine ihtiyaç duyar (artırılabilir bellek dahil).

Aşağıdaki tablo SSD Önbelleğe uygun RAM boyutu oranı hakkında bilgi vermektedir.

Tablo 1 Tavsiye edilen RAM/SSD Önbellek oranı (Intel-tabanlı NAS için)

Önbellek Boyutu Bellek Boyutu
64 Gb 1 GB
128 GB 2 GB
256 Gb

Önyüklemesi yapılmış 4 GB veya herhangi bir önyüklemesi yapılmış

bellek + ilave 1 GB

512 GB

Önyüklemesi yapılmış 8 GB veya herhangi bir önyüklemesi yapılmış

bellek + ilave 2 GB

Annapurna-tabanlı NAS için SSD önbelleğin her 1 GB’si için yaklaşık 400 KB’lik sistem belleğine ihtiyaç duyulur. Bununla birlikte, SSD önbelleklerin toplam boyutu 1 TB ile sınırlandırılmıştır.

Ayrıca dahili Performance Monitor cihazları kullanarak IOPS’u Windows ve VMware ortamında da ölçebilirsiniz. Daha fazla bilgi için lütfen ilgili blog gönderisine bakınız:

*Windows için IOPS nasıl ölçülür

http://blog.synology.com/blog/?p=2086

*VMware için IOPS nasıl ölçülür

http://blog.synology.com/blog/?p=2225

Test Sonuçları

Test Dosyası

Bu performans testinde, iş yükü örneği olarak Microsoft Exchange 2010 kullanılmıştır, çünkü e-posta servisi yoğun I/O ve düşük gecikme gereksinimi duyan, daha büyük bir veri setinin küçük bir parçasındaki pek çok yeniden-okuma operasyonuna sahip tipik bir uygulamadır.
Örneğin, gelen e-posta mesajlarını almak için veri yazma operasyonlarına gereksinim duyulacaktır ve mesajları okuyan kullanıcılar veri okuma operasyonlarına ihtiyaç duyacaklardır. Bu nedenle SSD Önbelleği etkin hale getirmenin performansı geliştirmesi beklenmektedir.

Kaynak: Synology