Azure dosya paylaşımı performansıyla ilgili sorunları giderme

Bu makalede Azure dosya paylaşımları ile ilgili bazı yaygın sorunlar listelanmıştır. Bu sorunlarla karşılaştığınız zaman için olası nedenleri ve geçici çözümleri sağlar.

Şunlara uygulanır

Dosya paylaşımı türü SMB NFS
Standart dosya paylaşımları (GPv2), LRS/ZRS Yes Hayır
Standart dosya paylaşımları (GPv2), GRS/GZRS Yes Hayır
Premium paylaşımları (FileStorage), LRS/ZRS Yes Yes

Yüksek gecikme süresi, düşük aktarım hızı ve genel performans sorunları

Neden 1: Paylaşım kısıtlandı

Bir dosya paylaşımı için saniye başına (IOPS), giriş veya çıkış sınırlarına ulaşıldıklarında istekler kısıtlandı. Standart ve premium dosya paylaşımları için sınırları anlamak için bkz. Dosya paylaşımı ve dosya ölçeklendirme hedefleri.

Paylaşımının kısıtlandı olup olmadığını onaylamak için portalda Azure ölçümlerine erişip bu ölçümleri kullanabilirsiniz.

  1. Depolama Azure portal depolama hesabınıza gidin.

  2. Sol bölmede, İzleme'nin altında Ölçümler'i seçin.

  3. Depolama hesabı kapsamınız için ölçüm ad alanı olarak Dosya'ya seçin.

  4. Ölçüm olarak İşlemler'i seçin.

  5. Yanıt türü için bir filtre ekleyin ve ardından herhangi bir isteğin kısıtlandı olup olmadığını kontrol edin.

    Standart dosya paylaşımları için, bir istek kısıtlandı ise aşağıdaki yanıt türleri günlüğe kaydedilir:

    • SuccessWithThrottling
    • SuccessWithShareIopsThrottling
    • ClientShareIopsThrottlingError

    Premium dosya paylaşımları için, bir istek kısıtlandı ise aşağıdaki yanıt türleri günlüğe kaydedilir:

    • SuccessWithShareEgressThrottling
    • SuccessWithShareIngressThrottling
    • SuccessWithShareIopsThrottling
    • ClientShareEgressThrottlingError
    • ClientShareIngressThrottlingError
    • ClientShareIopsThrottlingError

    Her yanıt türü hakkında daha fazla bilgi edinmek için bkz. Ölçüm boyutları.

    "Yanıt türü" özellik filtresini gösteren premium dosya paylaşımları için ölçüm seçeneklerinin ekran görüntüsü.

    Not

    Uyarı almak için bu makalenin ilerleyen kısımlarında yer alan "Dosya paylaşımı kısıtlandısa uyarı oluşturma" bölümüne bakın.

Çözüm

Neden 2: Meta veriler veya ad alanı ağır iş yükü

İsteklerin çoğunluğu meta veri merkezli ise (örneğin, , , veya ), gecikme süresi okuma/yazma işlemlerinin gecikme createfile openfile closefile queryinfo querydirectory süresinden daha kötü olur.

İsteklerin çoğunun meta veri merkezli olup olmadığını belirlemek için, daha önce Neden 1'de özetlenen 1-4 adımlarını takip edin. 5. adım için, Yanıt türü için filtre eklemek yerine API adı için bir özellik filtresi ekleyin.

Premium dosya paylaşımları için "API adı" özellik filtresini gösteren ölçüm seçeneklerinin ekran görüntüsü.

Geçici çözüm

  • Meta veri işlemlerinin sayısını azaltmak için uygulamanın değiştirilip değiştirilene olmadığını kontrol edin.
  • Dosya paylaşımına bir sanal sabit disk (VHD) ekleyin ve verilere karşı dosya işlemleri gerçekleştirmek için istemciden VHD'yi bağlar. Bu yaklaşım, tekli yazıcı/okuyucu senaryoları ya da birden çok okuyucu içeren ve hiç yazıcısı olan senaryolar için çalışır. Dosya sistemi istemciye değil istemciye Azure Dosyalar, meta veri işlemlerinin yerel olması için izin verir. Kurulum, yerel doğrudan bağlı depolamaya benzer bir performans sunar.
    • VhD'yi bir Windows için Mount-DiskImage PowerShell cmdlet'ini kullanın.
    • Linux'ta VHD'ye bağlantı oluşturmak için Linux dağıtımınıza ilişkin belgelere bakın.

Neden 3: Tek iş parçacıklı uygulama

Kullandığınız uygulama tek iş parçacıklı ise, bu kurulum sağlanan paylaşım boyutuna bağlı olarak mümkün olan en yüksek aktarım hızına göre önemli ölçüde daha düşük IOPS aktarım hızına neden olabilir.

Çözüm

  • İş parçacığı sayısını artırarak uygulama paralelliği artırma.
  • Paralelliğin mümkün olduğu uygulamalara geçiş. Örneğin kopyalama işlemleri için AzCopy veya RoboCopy Windows Linux istemcilerinden gelen paralel komutu kullanabilirsiniz.

Neden 4: SMB kanalı sayısı dört kanalı aşıyor

Çok Kanallı SMB kullanıyorsanız ve sahip olduğunuz kanal sayısı dört kanalı aşıyorsa, bu düşük performansa neden olur. Bağlantı sayınız dört aşarsa, geçerli bağlantı sayısı ayarlarını görüntülemek için PowerShell get-SmbClientConfiguration cmdlet'ini kullanın.

Çözüm

Toplam Windows aşmamalarını için SMB için NIC başına en yüksek değer ayarını ayarlayın. Örneğin, iki NIC'ler varsa, aşağıdaki PowerShell cmdlet'ini kullanarak NIC başına en yüksek değeri iki olarak ayarlayın: Set-SmbClientConfiguration -ConnectionCountPerRssNetworkInterface 2 .

İstekler için çok yüksek gecikme süresi

Nedeni

İstemci sanal makinesi (VM), dosya paylaşımından farklı bir bölgede yer alıyor olabilir. Yüksek gecikme süresinin başka bir nedeni, istemcinin veya ağın neden olduğu gecikme süresi olabilir.

Çözüm

  • Uygulamayı, dosya paylaşımıyla aynı bölgede bulunan bir VM'den çalıştırın.
  • Depolama hesabınız için, Azure İzleyici ile SuccessE2ELatency ve SuccessServerLatency işlem ölçümlerini Azure portal. SuccessE2ELatency ile SuccessServerLatency ölçüm değerleri arasındaki yüksek bir fark, büyük olasılıkla ağ veya istemcinin neden olduğu gecikme süresinin göstergesidir. Veri izleme başvurusu için bkz. Azure Dosyalar ölçümler.

İstemci ağ tarafından desteklenen en yüksek aktarım hızına ulaşamıyor

Nedeni

Olası nedenlerden biri, standart dosya paylaşımları için çok kanallı SMB desteği olmamasıdır. Şu Azure Dosyalar tek kanalı desteklediğinden istemci VM'den sunucuya yalnızca bir bağlantı vardır. Bu tek bağlantı istemci VM'de tek bir çekirdekle bağlantılıdır, bu nedenle bir VM'den ulaşılabilir maksimum aktarım hızı tek bir çekirdekle sınırlanır.

Geçici çözüm

  • Premium dosya paylaşımları için Çok Kanallı SMB'yi etkinleştirin.
  • Daha büyük bir çekirdeği olan bir VM elde etmek, aktarım hızının iyileştirilmesine yardımcı olabilir.
  • İstemci uygulamasını birden çok VM'den çalıştırma aktarım hızını artırır.
  • Mümkün olduğunca REST API'lerini kullanın.
  • NFS dosya paylaşımları için önizlemede nconnect kullanılabilir. Üretim iş yükleri için önerilmez.

Linux istemcilerinin aktarım hızı, linux istemcilerinin Windows daha düşüktür

Nedeni

Bu, Linux'ta SMB istemcisinin uygulanmasıyla ilgili bilinen bir sorundur.

Geçici çözüm

  • Yükü birden çok VM'ye yayma.
  • Aynı VM'de, seçeneğiyle birden çok bağlama nosharesock noktası kullanın ve yükü bu bağlama noktalarına yayın.
  • Linux'ta, her çağrıda SMB boşaltmasını nostrictsync zorlamamak için bir seçenekle bağlamayı fsync deneyin. Bu Azure Dosyalar, veri tutarlılığını engellemez, ancak dizin listelerinde eski dosya meta verilerine neden olabilir ( ls -l komutu). komutunu kullanarak dosya meta verilerini doğrudan stat sorgulamak en güncel dosya meta verilerini geri döner.

Yoğun açık/kapalı işlemler içeren meta veri içeren iş yükleri için yüksek gecikme süreleri

Nedeni

Dizin kiraları için destek eksikliği.

Geçici çözüm

  • Mümkünse, kısa bir süre içinde aynı dizinde aşırı sayıda açma/kapatma tanıtıcısı kullanmaktan kaçının.
  • Linux VM'leri için bağlama seçeneği olarak belirterek dizin girişi önbelleği zaman actimeo=<sec> aşımını artırabilirsiniz. Varsayılan olarak, zaman aşımı 1 saniyedir, bu nedenle 3 veya 5 saniye gibi daha büyük bir değer yardımcı olabilir.
  • CentOS Linux veya Red Hat Enterprise Linux (RHEL) VM'leri için sistemi CentOS Linux 8.2 veya RHEL 8.2'ye yükseltin. Diğer Linux VM'leri için çekirdeği 5.0 veya sonraki bir sürümüne yükseltin.

CentOS Linux veya RHEL'de düşük IOPS

Nedeni

CentOS Linux veya RHEL'de G/Ç derinliği 1'den büyük değildir.

Geçici çözüm

  • CentOS Linux 8 veya RHEL 8'e yükseltin.
  • Ubuntu olarak değiştirme.

Linux'ta Azure dosya paylaşımlarından yavaş dosya kopyalama

Yavaş dosya kopyalama sorunu yaşıyorsanız Linux sorun giderme kılavuzunun "Linux'ta Azure dosya paylaşımlarına ve bu paylaşımlardan yavaş dosya kopyalama" bölümüne bakın.

IOPS için jittery veya sawtooth deseni

Nedeni

İstemci uygulaması tutarlı olarak temel IOPS'i aşıyor. Şu anda istek yükünün hizmet tarafında düzgünleştirmesi yoktur. İstemci temel IOPS'i aşarsa hizmet tarafından kısıtlanır. Azaltma, istemcinin bir gerileme veya sawtooth IOPS deseniyle karşılaşarak sonuçlanabiliyor. Bu durumda, istemci tarafından elde edilen ortalama IOPS temel IOPS'den daha düşük olabilir.

Geçici çözüm

  • Paylaşımın kısıtlamasını azaltmak için istemci uygulamasından gelen istek yükünü azaltabilirsiniz.
  • Paylaşımın kısıtlamamasını için paylaşımın kotasını artırabilirsiniz.

Aşırı DirectoryOpen/DirectoryClose çağrıları

Nedeni

DirectoryOpen/DirectoryClose çağrılarının sayısı en sık yapılan API çağrılarından biriyse ve istemcinin bu kadar çok çağrı yapmasını beklemeyebilirsiniz, bu sorun Azure istemci VM'sinde yüklü virüsten koruma yazılımından kaynaklanır.

Geçici çözüm

Dosya oluşturma işlemi beklenenden daha yavaş

Nedeni

Çok sayıda dosya oluşturmaya güvenen iş yükleri, premium dosya paylaşımları ile standart dosya paylaşımları arasındaki performansta önemli bir fark görmez.

Geçici çözüm

  • Yok.

Windows 8.1 veya Server 2012 R2'den yavaş performans

Nedeni

Yoğun işletim sistemi kullanımlı iş yükleri için Azure dosya paylaşımları için beklenenden yüksek gecikme süresi.

Geçici çözüm

Çok Kanallı SMB tetik değil.

Nedeni

Yeniden bağlantı olmadan Çok Kanallı SMB yapılandırma ayarlarında yapılan son değişiklikler.

Çözüm

  • Windows SMB istemcisi veya hesap SMB çok kanallı yapılandırma ayarlarında yapılan değişikliklerden sonra paylaşımı çıkararak 60 sn beklemeniz ve paylaşımı yeniden çıkararak çok kanallı yapılandırmayı tetiklemeniz gerekir.
  • İstemci Windows için, QD=8 gibi yüksek kuyruk derinliğine sahip GÇ yükü oluşturma ( örneğin, Çok Kanallı SMB tetiklemek için bir dosya kopyalama). Sunucu işletim sistemi için Çok Kanallı SMB, QD=1 ile tetiklenir. Bu, paylaşımda GÇ başlatmanız hemen anlamına gelir.

Dosya paylaşımları üzerinde barındırılan web sitelerinde yüksek gecikme süresi

Nedeni

Dosya paylaşımlarında çok sayıda dosya değişikliği bildirimi, önemli miktarda yüksek gecikme süresine neden olabilir. Bu durum genellikle iç içe geçmiş dizin yapısına sahip dosya paylaşımları üzerinde barındırılan web siteleriyle gerçekleşir. Tipik bir senaryo, dosya değişikliği bildiriminin varsayılan yapılandırmada her dizin için ayar olduğu IIS barındırılan web uygulamasıdır. İstemcinin kayıtlı olduğu paylaşımda yapılan her değişiklik (ReadDirectoryChangesW),dosya hizmetlerinden istemciye bir değişiklik bildirimini iletir ve bu da sistem kaynaklarını alır ve değişiklik sayısıyla daha kötü bir soruna neden olur. Bu, paylaşım azaltmaya neden olabilir ve bu nedenle daha yüksek istemci tarafı gecikme süresine neden olur.

Onaylamak için portalda Azure Ölçümlerini kullanabilirsiniz -

  1. Depolama Azure portal depolama hesabınıza gidin.
  2. Sol menüde, İzleme'nin altında Ölçümler'i seçin.
  3. Depolama hesabı kapsamınız için ölçüm ad alanı olarak Dosya'ya seçin.
  4. Ölçüm olarak İşlemler'i seçin.
  5. ResponseType için bir filtre ekleyin ve herhangi bir isteğin SuccessWithThrottling (SMB veya NFS için) veya ClientThrottlingError (REST için) yanıt koduna sahip olup olduğunu kontrol edin.

Çözüm

  • Dosya değişikliği bildirimi kullanılmazsa, dosya değişikliği bildirimini devre dışı bırak (tercih edilir).
  • Hacmi azaltmak için dosya değişikliği bildirim yoklama aralığının sıklığını artırma.
    • Gereksiniminize bağlı olarak W3WP çalışan işlemi yoklama aralığını daha yüksek bir değere (örneğin 10 dakika veya 30 dakika) güncelleştirin. Kayıt HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters\ConfigPollMilliSeconds defterinize ayarlayın ve W3WP işlemini yeniden başlatın.
  • Web sitenizin eşlenen fiziksel dizini iç içe geçmiş dizin yapısına sahipse, bildirim hacmini azaltmak için dosya değişikliği bildiriminin kapsamını sınırlamayı denemeniz gerekir. Varsayılan olarak IIS, Web.config dizinin eşlenmiş olduğu fiziksel dizinde yer alan dosyalardan yapılandırmayı ve bu fiziksel dizinde yer alan tüm alt dizinleri kullanır. Alt dizinlerde Web.config kullanmak istemiyorsanız, sanal dizinde allowSubDirConfig özniteliği için false değerini belirtin. Daha fazla ayrıntı için buraya bakın.
    • Eşlenen fiziksel alt dizinleri kapsamdan dışlamak için Web.Config iis sanal dizini "allowSubDirConfig" ayarını false olarak ayarlayın.

Bir dosya paylaşımı kısıtlandı ise uyarı oluşturma

  1. depolama hesabınıza gidin ve Azure portal.

  2. İzleme bölümünde Uyarılar'a ve ardından+ Yeni uyarı kuralı'ne tıklayın.

  3. Kaynağı düzenle'ye tıklayın, depolama hesabı için Dosya kaynak türünü seçin ve bitti'ye tıklayın. Örneğin, depolama hesabı adı ise contoso kaynağı contoso/file seçin.

  4. Koşul eklemek için Koşul ekle'ye tıklayın.

  5. Depolama hesabı için desteklenen sinyallerin listesini görmek için İşlemler ölçümlerini seçin.

  6. Sinyal mantığını yapılandır dikey penceresinde Boyut adı açılan kutusuna tıklayın ve Yanıt türü'ne tıklayın.

  7. Boyut değerleri açılan listesinden dosya paylaşımınız için uygun yanıt türlerini seçin.

    Standart dosya paylaşımları için aşağıdaki yanıt türlerini seçin:

    • SuccessWithThrottling
    • SuccessWithShareIopsThrottling
    • ClientShareIopsThrottlingError

    Premium dosya paylaşımları için aşağıdaki yanıt türlerini seçin:

    • SuccessWithShareEgressThrottling
    • SuccessWithShareIngressThrottling
    • SuccessWithShareIopsThrottling
    • ClientShareEgressThrottlingError
    • ClientShareIngressThrottlingError
    • ClientShareIopsThrottlingError

    Not

    Yanıt türleri Boyut değerleri açılan listesinde yoksa kaynak kısıtlanmaz. Boyut değerlerini eklemek için Boyut değerleri açılan listesinin yanındaki Özel değer ekle'yi seçin, respone türünü girin (örneğin SuccessWithThrottling), Tamam'ı seçin ve ardından dosya paylaşımınız için tüm ilgili yanıt türlerini eklemek üzere bu adımları tekrarlayın.

  8. Premium dosya paylaşımları için Boyut adı açılan düğmesine tıklayın ve dosya paylaşımı' nı seçin. Standart dosya paylaşımları için #10 adıma atlayın.

    Not

    Dosya paylaşımı standart bir dosya paylaşımındaysa, paylaşım başına ölçümler standart dosya paylaşımları için kullanılabilir olmadığından Dosya paylaşımı boyutu dosya paylaşımlarını listeetmez. Depolama hesabı içindeki herhangi bir dosya paylaşımı kısıtlanırsa ve uyarı hangi dosya paylaşımının kısıtlanmadığını tanımlamıyorsa standart dosya paylaşımları için azaltma uyarıları tetiklenecektir. Standart dosya paylaşımları için paylaşım başına ölçümler kullanılamadığından, her depolama hesabı için bir dosya paylaşımının olması önerilir.

  9. Boyut değerleri açılan düğmesine tıklayın ve uyarı vermek istediğiniz dosya paylaşımları seçin.

  10. Uyarı parametrelerini tanımlayın (eşik değeri, işleç, toplama ayrıntı düzeyi ve değerlendirme sıklığı) ve bitti' ye tıklayın.

    İpucu

    Statik bir eşik kullanıyorsanız, ölçüm grafiği dosya paylaşımının kısıtlandığı durumlarda makul bir eşik değeri belirlemesine yardımcı olabilir. Dinamik bir eşik kullanıyorsanız, ölçüm grafiği, hesaplanan eşikleri son verilere göre görüntüler.

  11. Var olan bir eylem grubunu seçerek veya yeni bir eylem grubu oluşturarak uyarıya eylem grubu (e-posta, SMS vb.) eklemek için eylem grupları Ekle ' ye tıklayın.

  12. Uyarı kuralının adı, açıklaması ve önem derecesi gibi uyarı ayrıntılarını girin.

  13. Uyarı oluşturmak için Uyarı kuralı oluştur ' a tıklayın.

Azure Izleyici 'de uyarıları yapılandırma hakkında daha fazla bilgi edinmek için bkz. Microsoft Azure uyarılara genel bakış.

  1. Azure portal depolama hesabınıza gidin.

  2. İzleme bölümünde Uyarılar' ı seçin ve ardından Yeni uyarı kuralı' nı seçin.

  3. Kaynağı Düzenle' yi seçin, depolama hesabı için dosya kaynağı türünü seçin ve bitti' yi seçin. Örneğin, depolama hesabı adı contoso ise, contoso/dosya kaynağını seçin.

  4. Koşul eklemek için Koşul Seç ' i seçin.

  5. depolama hesabı için desteklenen sinyaller listesinde Egress ölçümünü seçin.

    Not

    Giriş, çıkış veya işlem değerleri ayarladığınız eşikleri aştığında uyarılmak için üç ayrı uyarı oluşturmanız gerekir. Bunun nedeni, bir uyarının yalnızca tüm koşulların karşılanması durumunda tetiklenmesi. Örneğin, tüm koşulları tek bir uyarıya yerleştirirseniz, yalnızca giriş, çıkış ve işlemler eşik tutarlarını aşarsa uyarılırsınız.

  6. Aşağı kaydırın. Boyut adı açılır listesinde dosya paylaşma' yı seçin.

  7. Boyut değerleri aşağı açılan listesinde, uyarmak istediğiniz dosya paylaşımını veya paylaşımlarını seçin.

  8. Operatör, eşik değeri, toplama ayrıntı düzeyi ve değerlendirme sıklığı aşağı açılan listelerinin değerlerini seçerek uyarı parametrelerini tanımlayın ve ardından bitti' yi seçin.

    Egress, giriş ve işlem ölçümleri dakikada ifade edilir, ancak saniye başına çıkış, giriş ve g/ç sağlanmış olursunuz. Bu nedenle, örneğin, sağlanan çıkış, 90   MIB/s ise ve eşiğinin sağlanan çıkış için yüzde 80 olmasını istiyorsanız   aşağıdaki uyarı parametrelerini seçin:

    • Eşik değeri için: 75497472
    • Operatör için: büyüktür veya eşittir
    • Toplama türü için: Ortalama

    Uyarının ne kadar gürültülü olmasını istediğinize bağlı olarak, toplama ayrıntı düzeyi ve değerlendirme sıklığı için değerler de seçebilirsiniz. Örneğin, uyarının 1 saat boyunca ortalama giriş bölümüne bakması ve uyarı kuralınızın her saat içinde çalıştırılmasını istiyorsanız aşağıdakileri seçin:

    • Toplama ayrıntı düzeyi için: 1 saat
    • Değerlendirme sıklığı: 1 saat
  9. Eylem grupları Ekle' yi seçin ve ardından var olan bir eylem grubunu seçerek veya yenisini oluşturarak uyarıya bir eylem grubu (örneğin, e-posta veya SMS) ekleyin.

  10. Uyarı kuralı adı, açıklaması ve önem derecesi gibi uyarı ayrıntılarını girin.

  11. Uyarı oluşturmak için Uyarı kuralı oluştur ' u seçin.

    Not

    • Premium dosya paylaşımınızın, sağlanan giriş nedeniyle kısıtlanmak üzere kapandığı hakkında bildirim almak için, önceki yönergeleri izleyin, ancak aşağıdaki değişikliği yapın:

        1. adımda egress yerine giriş ölçümünü seçin .
    • Sağlanan IOPS nedeniyle Premium dosya paylaşımınızın kısıtlanmak üzere kapandığı hakkında bildirim almak için, önceki yönergeleri izleyin, ancak aşağıdaki değişiklikleri yapın:

        1. adımda egress yerine işlem ölçümünü seçin.
        1. adımda, toplama türü için tek seçenek Toplam' dur. Bu nedenle, eşik değeri seçtiğiniz toplama ayrıntı düzeyine bağlıdır. Örneğin, eşiğin   sağlanan temel IOPS 'nin yüzde 80 olmasını istiyorsanız ve toplama ayrıntı düzeyi için 1 saat seçerseniz, eşik değeri taban çizgisi IOPS (bayt cinsinden) ×   0,8 ×   3600 olacaktır.

Azure Izleyici 'de uyarıları yapılandırma hakkında daha fazla bilgi edinmek için bkz. Microsoft Azure uyarılara genel bakış.

Ayrıca bkz.