Megosztás a következőn keresztül:


A Hálózati fájlrendszer (NFS) 3.0 teljesítményével kapcsolatos szempontok az Azure Blob Storage-ban

A Blob Storage mostantól támogatja a Hálózati fájlrendszer (NFS) 3.0 protokollt. Ez a cikk olyan javaslatokat tartalmaz, amelyek segítenek optimalizálni a tárolási kérelmek teljesítményét. Az Azure Blob Storage NFS 3.0-s támogatásáról további információt az Azure Blob Storage Hálózati fájlrendszer (NFS) 3.0 protokolltámogatása című témakörben talál.

Ügyfelek hozzáadása az átviteli sebesség növeléséhez

Az Azure Blob Storage lineárisan skálázódik, amíg el nem éri a tárfiók kimenő és bemenő forgalmára vonatkozó maximális korlátot. Ezért az alkalmazások nagyobb átviteli sebességet érhetnek el több ügyfél használatával. A tárfiókok kimenő és bejövő forgalmának korlátozásait a standard tárfiókok méretezhetőségi és teljesítménycéljai című témakörben tekintheti meg.

Az alábbi diagram bemutatja, hogyan nő a sávszélesség, miközben több ügyfelet ad hozzá. Ebben a diagramban az ügyfél egy virtuális gép (VM) és egy szabványos általános célú v2-tárfiókkal rendelkezik.

Standard teljesítmény

Az alábbi diagram ugyanezt a hatást mutatja egy prémium szintű blokkblobtárfiókra alkalmazva.

Prémium teljesítmény

Prémium szintű blokkblobtároló-fiókok használata kis léptékű alkalmazásokhoz

Nem minden alkalmazás méretezhető fel több ügyfél hozzáadásával. Ezekhez az alkalmazásokhoz az Azure prémium szintű blokkblobtároló-fiókja konzisztens alacsony késést és magas tranzakciós arányt kínál. A prémium szintű blokkblobtároló-fiók kevesebb szál és ügyfél használatával elérheti a maximális sávszélességet. Egyetlen ügyfél esetén például egy prémium szintű blokkblobtároló-fiók 2,3-szor nagyobb sávszélességet érhet el, mint a standard teljesítményű általános célú v2-tárfiókok esetében használt beállítás.

Az alábbi diagram minden sávja a prémium és a standard teljesítményű tárfiókok közötti elért sávszélesség különbségét mutatja. Az ügyfelek számának növekedésével ez a különbség csökken.

Relatív teljesítmény

Az előreolvasási méret javítása a nagyméretű fájlok olvasási átviteli sebességének növelése érdekében.

A read_ahead_kb kernelparaméter az adott olvasási kérés teljesítése után beolvasandó további adatok mennyiségét jelöli. Ezt a paramétert 16 MiB-ra növelheti a nagy fájlolvasási sebesség javítása érdekében.

export AZMNT=/your/container/mountpoint

echo 16384 > /sys/class/bdi/0:$(stat -c "%d" $AZMNT)/read_ahead_kb

Az adatok gyakori felülírásának elkerülése

Egy felülírási művelet végrehajtása hosszabb időt vesz igénybe, mint egy új írási művelet. Ez azért van így, mert egy NFS felülíró művelet, különösen egy részleges helyben történő fájlmódosítás, több mögöttes blobművelet kombinációja: olvasási, módosítási és írási művelet. Ezért az NFS-kompatibilis Blob Storage-fiókokhoz nem megfelelő az olyan alkalmazás, amely gyakori helyszíni módosításokat igényel.

Az Azure HPC Cache üzembe helyezése késésérzékeny alkalmazásokhoz

Egyes alkalmazások a magas átviteli sebesség mellett kis késést is igényelhetnek. Az Azure HPC Cache üzembe helyezésével jelentősen javíthatja a késést. További információ a Blob Storage késéséről.

A TCP-kapcsolatok számának növelése

A csatlakoztatási beállítással nconnect magasabb összesített olvasási és írási teljesítményt kaphat egyetlen virtuális gépről, de csak akkor, ha a Linux-kernel rendelkezik Azure nconnect-támogatással.

nconnect egy ügyféloldali Linux-csatlakoztatási lehetőség, amely lehetővé teszi több TCP-kapcsolat használatát az ügyfél és a Blob szolgáltatásvégpont között. A csatlakoztatási nconnect paranccsal megadhatja a létrehozni kívánt TCP-kapcsolatok számát (például: mount -t aznfs -o nconnect=16,sec=sys,vers=3,nolock,proto=tcp <storage-account-name>.blob.core.windows.net:/<storage-account-name>/<container-name> /nfsdatain).

Fontos

Bár a legújabb Linux-disztribúciók teljes mértékben támogatják az nconnectet, ezt a lehetőséget csak akkor érdemes használnia, ha a kernel rendelkezik Azure nconnect-támogatással. Az nconnect csatlakoztatási lehetőség Azure nconnect-támogatás nélkül csökkenti az átviteli sebességet, több időtúllépést okoz, és helytelen működéshez vezet olyan parancsok esetében, mint a READDIR és a READIRPLUS.

Az Azure nconnect támogatása az Azure-beli virtuális gépekhez használható legutóbbi Ubuntu-kernelek többségével érhető el. Annak kiderítéséhez, hogy az Azure nconnect-támogatás elérhető-e a kernelhez, futtassa az alábbi parancsot.

[ -e /sys/module/sunrpc/parameters/enable_azure_nconnect ] && echo "Yes" || echo "No"

Ha a kernelhez elérhető az Azure nconnect támogatása, akkor Yes kerül nyomtatásra a konzolra. 'No Ellenkező esetben a konzolra lesz nyomtatva.

Ha elérhető az Azure nconnect támogatása, akkor engedélyezze az alábbi parancs futtatásával.

echo Y > /sys/module/sunrpc/parameters/enable_azure_nconnect

Egyéb ajánlott eljárásokra vonatkozó javaslatok

  • Használjon megfelelő hálózati sávszélességű virtuális gépeket.

  • Használjon több csatlakoztatási pontot, ha a számítási feladatok engedélyezik.

  • Használjon minél több szálat.

  • Használjon nagy blokkméreteket.

  • Olyan ügyféltől kérjen tárolási kéréseket, amely a tárfiókéval azonos régióban található. Ez javíthatja a hálózati késést.

Következő lépések