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


A késés csökkentése és a teljesítmény javítása

Ez az útmutató bemutatja, hogyan csökkenthető a hálózati késés, és hogyan javítható a szolgáltatás teljesítménye a Face szolgáltatás használatakor. Az alkalmazás sebessége és teljesítménye hatással lesz a végfelhasználók élményére, például az arcfelismerési rendszerbe belépő és azt használó felhasználókra.

Késés csökkentése

A Face szolgáltatás használatakor késés léphet fel. A késés bármilyen késést jelent, amely akkor fordul elő, ha a rendszerek hálózaton keresztül kommunikálnak. A késés lehetséges okai általában a következők:

  • Az egyes csomagok fizikai távolságának a forrástól a célig kell haladnia.
  • Az átviteli adathordozóval kapcsolatos problémák.
  • Útválasztók vagy kapcsolók hibái az átviteli útvonal mentén.
  • A víruskereső alkalmazások, tűzfalak és más biztonsági mechanizmusok által a csomagok vizsgálatához szükséges idő.
  • Hibák az ügyfél- vagy kiszolgálóalkalmazásokban.

Ez a szakasz az Azure AI Face szolgáltatásra jellemző késés különböző okainak enyhítését ismerteti.

Feljegyzés

Az Azure AI-szolgáltatások nem biztosítanak szolgáltatásiszint-szerződést (SLA) a késésre vonatkozóan.

Válassza ki a Face-erőforrásnak megfelelő régiót

A hálózati késést, a forrástól (az alkalmazástól) a célig (az Azure-erőforrásig) való utazáshoz szükséges időt erősen befolyásolja a kéréseket küldő alkalmazás és a kérésekre válaszoló Azure-kiszolgáló közötti földrajzi távolság. Ha például a Face-erőforrás EastUSa new yorki felhasználók számára gyorsabb válaszidővel rendelkezik, az ázsiai felhasználók pedig hosszabb késést tapasztalnak.

Javasoljuk, hogy válasszon ki egy, a felhasználókhoz legközelebb eső régiót a késés minimalizálása érdekében. Ha a felhasználók világszerte vannak elosztva, érdemes lehet több erőforrást létrehozni különböző régiókban, és a kérelmeket az ügyfelekhez legközelebbi régióba továbbítani. Másik lehetőségként választhat egy régiót, amely az összes ügyfél földrajzi központjának közelében található.

Az Azure Blob Storage használata távoli URL-címekhez

A Face szolgáltatás kétféleképpen tölthet fel képeket feldolgozásra: a kép nyers bájtadatainak feltöltése közvetlenül a kérelemben, vagy EGY URL-cím megadása egy távoli képhez. A módszertől függetlenül a Face szolgáltatásnak le kell töltenie a képet a forráshelyéről. Ha a Face szolgáltatás és az ügyfél vagy a távoli kiszolgáló közötti kapcsolat lassú vagy gyenge, az hatással van a kérések válaszidejára. Ha késéssel kapcsolatos probléma merül fel, érdemes lehet a rendszerképet az Azure Blob Storage-ban tárolni, és átadni a rendszerkép URL-címét a kérésben. További megvalósítási részletek : A rendszerkép tárolása az Azure Premium Blob Storage-ban. Példa API-hívásra:

var url = "https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name>";
var response = await faceClient.DetectAsync(new Uri(url), FaceDetectionModel.Detection03, FaceRecognitionModel.Recognition04, returnFaceId: false);
var faces = response.Value;

Ügyeljen arra, hogy a Face erőforrással azonos régióban használjon tárfiókot. Ez csökkenti a Face szolgáltatás és a tárfiók közötti kapcsolat késését.

Optimális fájlméretek használata

Ha a használt képfájlok nagyok, az kétféleképpen befolyásolja a Face szolgáltatás válaszidejének időtartamát:

  • A fájl feltöltése több időt vesz igénybe.
  • A szolgáltatás több időt vesz igénybe a fájl feldolgozásához a fájl méretének arányában.

A pontosság és a hálózati sebesség közötti kompromisszum

A bemeneti képek minősége befolyásolja a Face szolgáltatás pontosságát és késését is. Az alacsonyabb minőségű képek hibás eredményeket eredményezhetnek. A jobb minőségű képek pontosabb értelmezést tesznek lehetővé. A jobb minőségű képek azonban nagyobb fájlméretük miatt is növelik a hálózati késést. A szolgáltatásnak több időre van szüksége ahhoz, hogy megkapja a teljes fájlt az ügyféltől, és feldolgozhassa azt a fájl méretének megfelelő arányban. Egy bizonyos szint felett a további minőségi fejlesztések nem javítják jelentősen a pontosságot.

A pontosság és a sebesség közötti optimális egyensúly eléréséhez kövesse ezeket a tippeket a bemeneti adatok optimalizálásához.

  • Az arcfelismerési és -felismerési műveletekhez tekintse meg az arcfelismerés bemeneti adatait és az arcfelismerés bemeneti adatait.
  • Az élőség észleléséhez tekintse meg az oktatóanyagot.

Egyéb fájlméretre vonatkozó tippek

Vegye figyelembe a következő további tippeket:

  • Az arcfelismeréshez az észlelési modell FaceDetectionModel.Detection01használata esetén a képfájl méretének csökkentése növeli a feldolgozási sebességet. Észlelési modell FaceDetectionModel.Detection02használata esetén a képfájl méretének csökkentése csak akkor növeli a feldolgozási sebességet, ha a képfájl kisebb, mint 1920x1080 képpont.
  • Az arcfelismeréshez az arcméret csökkentése csak akkor növeli a sebességet, ha a kép kisebb, mint 200x200 képpont.
  • Az arcészlelési módszerek teljesítménye attól is függ, hogy hány arc található a képen. A Face szolgáltatás legfeljebb 100 arcot adhat vissza egy képhez. Az arcok a nagytól a kicsiig az arc téglalapmérete szerint vannak rangsorolva.

Api-k meghívása párhuzamosan, ha lehetséges

Ha több API-t kell meghívnia, érdemes lehet párhuzamosan meghívni őket, ha az alkalmazás kialakítása lehetővé teszi. Ha például két képen kell arcokat észlelnie az arcok összehasonlításához, meghívhatja őket egy aszinkron feladatban:

string url1 = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/Face/images/detection1.jpg";
string url2 = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/Face/images/detection2.jpg";
var response1 = client.DetectAsync(new Uri(url1), FaceDetectionModel.Detection03, FaceRecognitionModel.Recognition04, returnFaceId: false);
var response2 = client.DetectAsync(new Uri(url2), FaceDetectionModel.Detection03, FaceRecognitionModel.Recognition04, returnFaceId: false);

Task.WaitAll(new Task<Response<IReadOnlyList<FaceDetectionResult>>>[] { response1, response2 });
IEnumerable<FaceDetectionResult> results = response1.Result.Value.Concat(response2.Result.Value);

Gördülékeny forgalom

A Face szolgáltatás teljesítményét befolyásolhatja a forgalom kiugró száma, ami szabályozást, alacsonyabb átviteli sebességet és nagyobb késést okozhat. Javasoljuk, hogy fokozatosan növelje az API-hívások gyakoriságát, és kerülje az azonnali újrapróbálkozást. Ha például 3000 fényképe van az arcfelismerés elvégzéséhez, ne küldjön egyszerre 3000 kérést. Ehelyett 3000 kérést küldjön egymás után 5 perc alatt (azaz másodpercenként körülbelül 10 kérést) a hálózati forgalom konzisztensebbé tétele érdekében. Ha csökkenteni szeretné a befejezési időt, növelje a másodpercenkénti hívások számát a forgalom simításához. Ha bármilyen hibát tapasztal, a válasz kezeléséhez tekintse meg a Hibák hatékony kezelése című témakört.

Hibák hatékony kezelése

A hibák 429 és 503 a Face API-hívások során különböző okokból fordulhatnak elő. Az alkalmazásnak mindig készen kell állnia a hibák kezelésére. Íme néhány javaslat:

HTTP-hibakód Leírás Ajánlás
429 Szabályozás Egyidejű hívások esetén sebességkorlát léphet fel. Csökkentse a hívások gyakoriságát, és próbálkozzon újra exponenciális visszalépéssel. Kerülje az azonnali újrapróbálkozást, és ne küldjön egyszerre több kérést.

Ha növelni szeretné a korlátot, tekintse meg a kvótákra vonatkozó útmutató Növelés kérése szakaszát.
503 A szolgáltatás nem érhető el Előfordulhat, hogy a szolgáltatás foglalt, és nem tud azonnal válaszolni a kérésére. A hiba 429esetén az egyikhez hasonló háttérstratégiát kell alkalmaznia.

Megbízhatóság és támogatás biztosítása

Az alábbiakban további tippeket találhat az alkalmazás megbízhatóságának és magas támogatásának biztosításához:

  • Hozzon létre egy egyedi GUID-t a client-request-id HTTP-kérés fejléceként, és küldje el az egyes kérésekkel együtt. Ez segít a Microsoftnak a hibák egyszerűbb kivizsgálásában, ha hibajelentést kell végeznie a Microsofttal kapcsolatban.
    • Mindig rögzítse a client-request-id váratlan válasz esetén kapott választ és választ. Ha segítségre van szüksége, adja meg ezeket az információkat Microsoft ügyfélszolgálata, valamint az Azure-erőforrás-azonosítót és a probléma előfordulásának időtartamát.
  • Mielőtt éles környezetbe bocsátja az alkalmazást, végezzen próbatesztet. Győződjön meg arról, hogy az alkalmazás megfelelően és hatékonyan tudja kezelni a hibákat.

Következő lépések

Ebben az útmutatóban megtanulta, hogyan javíthatja a teljesítményt a Face szolgáltatás használatakor. Ezután kövesse az oktatóanyagot egy működő szoftvermegoldás beállításához, amely a kiszolgálóoldali és az ügyféloldali logikát kombinálja a felhasználók élősségének észleléséhez.