Hangi Yazma Doğru? G / Ç Önbellekleme Yöntemlerine Bir Bakış

Yazar: Laura McKinney
Yaratılış Tarihi: 1 Nisan 2021
Güncelleme Tarihi: 25 Haziran 2024
Anonim
Hangi Yazma Doğru? G / Ç Önbellekleme Yöntemlerine Bir Bakış - Teknoloji
Hangi Yazma Doğru? G / Ç Önbellekleme Yöntemlerine Bir Bakış - Teknoloji

İçerik


Kaynak: Kgtoh / Dreamstime.com

Paket servisi:

Bir uygulama hızı büyük ölçüde önbellek G / Ç hızına bağlıdır. Burada farklı önbellek G / Ç yöntemlerini karşılaştırıyoruz.

Uygulama performansı, hızınızın temelini oluşturur; uygulamalarınızın altyapınızdan talep ettiği okuma ve yazma isteklerini tamamlama hızına dayanır. Depolama, G / Ç (giriş / çıkış) taleplerinin geri dönüş hızından sorumludur ve okuma yazma ve okuma işlemlerini yapmak için seçilen yöntem uygulama performansı üzerinde derin bir etkiye sahiptir. Günümüz endüstrisindeki yaygın yöntemlerden biri, SSD'leri geleneksel dönen disk depolama, hibrit diziler veya all-flash dizileri önbelleğe almak için kullanmaktır. Çoğu önbellek çözümü uygulamalar için okumaları hızlandırdı, ancak asıl soru “Hangi yazma doğru?”

Yazma optimizasyonunun neden uygulama performansınızı bu denli büyük ölçüde etkilediğine bakalım. Yazma G / Ç, temel depolama alanınıza yazılmayan yeni veriler olduğu anlamına gelir. Geleneksel SAN depolama alanında, örneğin, yazma işlemleri doğrudan temel alınan depoya yazılır ve daha sonra uygulamaya geri gönderilir. Sürekli yeni veri yazan uygulamalar, özellikle büyük veritabanı uygulamaları (SQL, vb.) İle geleneksel eğirme diskleri yetişemez. SSD'lerin önbelleğe alınması, yazma işlemlerinin yerel olarak yazılmasına ve başvuru talebinin sıklığına göre önbelleğe alınmasına izin veren bir çözüm oldu; ancak yazma önbelleğinin, temel depolama alanıyla olan ilişkisinde, performansta çok büyük bir fark yaratan çeşitli yöntemler vardır.


Bunlar I / O yazımının 3 biçimidir:

  1. Yazma Çevresi (önbellek etrafında)
  2. Yazma (önbellekten)
  3. Geri Yazma (önbellekten)

Her üç form da, öncelikle yazılan verinin türüne dayanan farklı faydalara sahiptir: sıralı ve rasgele. Sıralı G / Ç, temel disk tarafından en iyi duruma getirilmiştir (örneğin, dosyalar veya video akışları), rastgele G / Ç'ler önbellek tarafından en iyi duruma getirilir. Çoğu önbellekleme aracı, veri türüne göre yazma teknolojisi biçimini değiştirmek için dinamik zekâya sahip değildir. Üç G / Ç yazma biçimi arasındaki farkı anlayalım.

Yaz-Around

Salt okunur önbellekleme modu olarak da bilinir, tamamen yazmak, önbellek okumaları için boş alan açmak için faydalıdır. Gelen G / Ç hiçbir zaman önbelleğe çarpmaz. G / Ç, verileri önbelleğe almadan doğrudan kalıcı depolamaya yazılır.


Kullanılmadığı takdirde önbelleğin faydası ne olabilir? Daha sonra yeniden okunmayacak olan yazma G / Ç ile önbelleğe alınmasını önler, ancak son zamanlarda yazılan veriler için bir okuma isteğinin bir "önbellek özeti" oluşturması ve daha yavaş toplu depolamadan okunması ve dezavantajı vardır. daha fazla gecikme yaşarsınız. Uygulamanız işlem açısından kritikse, çoğu kritik uygulamada olduğu gibi, uygulama hızı yavaşlar ve G / Ç sıraları büyür. Temel olarak bu modun değeri nadir kullanım durumları için olacaktır, çünkü zaman alıcı, yavaş ve performans göstermez.

İçine Yaz

Bu yöntem günümüzde önbellekleme ve hibrit depolama çözümlerinde yaygın olarak kullanılmaktadır. Yazma, önbellek okuma modu olarak bilinir; bu, tüm verilerin önbelleğe ve altındaki depolamaya aynı anda yazıldığı anlamına gelir. Yazma, SADECE depolama alanınıza yazıldıktan sonra tamamlanmış sayılır. Aslında oldukça güvenli geliyor… ama bir hız dezavantajı var.

İşte sorun: Her yazma işlemi iki kez, önbellekte ve daha sonra da kalıcı depolamada yapılır. Uygulamalar devam etmeden önce, kalıcı depolama G / Ç taahhüdünü önbelleğe ve ardından uygulamalara geri döndürmelidir. Bu yöntem genellikle başarısızlığa dayanıklılık için uygulanır ve veriler her iki konumda da bulunduğundan, önbellekle yük devretme veya HA stratejisini uygulamaktan kaçınmak için uygulanır. Bununla birlikte, Yazma / Çıkış işleminin taahhüt ettiği gecikme süresi, kalıcı depolama hızıyla belirlenir; bu, CPU ve ağ iletişimi hızlarıyla eşleşmez. Yalnızca en yavaş bileşeniniz kadar hızlısınız ve Yazma, uygulama hızını kritik derecede artırabilir.

Hata Yok, Stres Yok - Hayatınızı Yok Etmeden Hayat Değiştiren Yazılım Yaratma Adım Adım Kılavuzunuz

Hiç kimse yazılım kalitesiyle ilgilenmediğinde programlama becerilerinizi geliştiremezsiniz.

Cevap yazmak

Geri Yazma, sistem sonuçlarını hız açısından iyileştirir; çünkü sistemin, yazmanın temel depolama alanına girmesini beklemek zorunda kalmaması gerekir.

Veri yazmaya geldiğinde, Geri Yazma, verileri “tümü bitti” önbelleğine koyar ve verileri daha sonra depolama diskine yazar.

Bu, birçok gecikme problemini çözer, çünkü sistemin bu derin yazmaları beklemek zorunda kalmamasıdır.

Doğru destekle, Geri Yazma çok aşamalı önbellekleme için en iyi yöntem olabilir. Önbelleği, büyük miktarda etkinliği işlemek için büyük miktarda belleğe (yani, terabayt cinsinden ölçülen, gigabayt cinsinden ölçülen bellek) olduğunda yardımcı olur. Sofistike sistemler aynı zamanda birden fazla katı hal sürücüsüne ihtiyaç duyacak ve bu da maliyet katacaktır. Elektrik kesintisi veya kritik verilerin kaybedilmesi gibi diğer durumlar gibi senaryoları dikkate almak kritik öneme sahiptir. Ancak doğru “önbellek koruması” ile Geri Yazma, bir kaç aşağı tarafı olan mimariyi gerçekten hızlandırabilir. Örneğin, Geri Yazma sistemleri verileri güvende tutmak için RAID veya yedek tasarımlardan yararlanabilir.

Daha da ayrıntılı sistemler, önbelleğe ve SAN'a veya altta yatan depolama diskinin “gerektiği gibi” birbirleriyle çalışmasına yardımcı olur, diskin iş yüküne bağlı olarak derin depolamaya veya önbelleğe yazar.

Geri Yazma tasarım felsefesi, günümüzün gelişmiş veri işleme sistemlerinin büyük görevlere getirdiği problem çözmeyi yansıtandır. Daha karmaşık bir mimari oluşturarak ve bir önbelleği karmaşık bir şekilde kullanarak Yazma, gecikme sorunlarını ortadan kaldırır ve daha fazla ek yük gerektirse de, daha iyi sistem büyümesi ve daha az büyüyen ağrılar sağlar.