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


A hálózati fájlrendszer (NFS) 3.0-s 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. Ha többet szeretne megtudni az NFS 3.0 Azure Blob Storage támogatásáról, tekintse meg az Azure Blob Storage hálózati fájlrendszerének (NFS) 3.0 protokolltámogatását ismertető cikket.

Ü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átait 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 azt mutatja be, hogyan nő a sávszélesség, amikor több ügyfelet ad hozzá. Ebben a diagramban az ügyfél egy virtuális gép (VM) és egy standard á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ároló-fió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 skálázható 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 nagy tranzakciós arányt biztosít. A prémium szintű blokkblobtároló-fiók a maximális sávszélességet is elérheti kevesebb szál és ügyfél használatával. Egyetlen ügyfél esetén például egy prémium szintű blokkblobtároló-fiók 2,3-szeres sávszélességet érhet el a standard teljesítményű általános célú v2-tárfiókokkal használt beállításhoz képest.

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éget 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őre olvasási méret javítása a nagy fájlolvasási sebesség növeléséhez

A read_ahead_kb kernelparaméter az adott olvasási kérelem teljesítése után beolvasandó további adatok mennyiségét jelöli. Ezt a paramétert 16 MiB-re 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. Ennek az az oka, hogy egy NFS-felülírási művelet, különösen egy részleges helyi fájlszerkeszté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 az alkalmazás, amely gyakori helyszíni módosításokat igényel.

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

Egyes alkalmazások esetében a magas átviteli sebesség mellett kis késésre is szükség lehet. 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 nconnect lehetőséggel 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 támogatja az Azure nconnectet.

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álni, ha a kernel rendelkezik Azure nconnect-támogatással. nconnect Az Azure nconnect-támogatás nélküli csatlakoztatási lehetőség használata csökkenti az átviteli sebességet, több időtúllépést okoz, és olyan parancsokat okoz, mint a READDIR és READIRPLUS a helytelen működés.

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

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

Ha az Azure nconnect támogatása elérhető a kernelhez, akkor Yes a rendszer a konzolra nyomtatja. 'No Ellenkező esetben a konzolra lesz nyomtatva.

Ha az Azure nconnect támogatása elérhető, 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 méretű blokkokat.

  • Hozzon létre tárolási kéréseket egy olyan ügyféltől, amely ugyanabban a régióban található, mint a tárfiók. Ez javíthatja a hálózati késést.

Következő lépések