WebHU - Programozási kérdések és válaszok

Azure-webhely felhasználó által szerkeszthető tartalommal

Van egy ASP.Net MVC webhelyem, amely egy megosztott IIS7 gazdagépen fut, és lehetővé teszi a felhasználók számára, hogy létrehozzák saját céloldalukat. A webhely lehetővé teszi a felhasználók számára a tartalom, a stílus szerkesztését (CSS szerkesztése felhasználói felületen keresztül), valamint a képek feltöltését.

Azt fontolgatom, hogy áttérek a Windows Azure-ra a méretezhetőség javítása és az adatbázis-mentések javítása érdekében (az SQL Azure Data Sync használatával lásd: http://social.technet.microsoft.com/wiki/contents/articles/sql-azure-backup-and-restore-strategy.aspx, A gazdagépem által kínált SQL biztonsági mentési tervekben korlátozott vagyok)

Az egyik akadály az, hogy mivel a kliensek képeket tölthetnek fel és css fájlokat szerkeszthetnek, ezeket a fájlokat a blob tárolóban vagy az adatbázisban kell tárolni (más lehetőség?). Az adatbázist nem szeretném használni, mert az adatbázis tárolása drágább.

Ha azonban ezeket a fájlokat blob tárolóban tárolják, hogyan befolyásolja ez a webhely teljesítményét, mivel a fájlok (css, képek) a blob tárolóból kerülnek lekérésre, ahelyett, hogy ugyanarról a lemezről olvasnák be őket, mint a webhely? Tudom, hogy a böngésző gyorsítótárazása csökkenteni fogja az ilyen fájlok iránti kérelmeket, de mi a helyzet az első alkalommal történő kérésekkel?


Válaszok:


1

A blob tárhely használata css-hez és képekhez ténylegesen növeli webhelye teljesítményét. Ahogy Astaykov elmondta, a bloboknak saját URL-jük van, amely elkülönül a telepítési URL-től. Ez azt jelenti, hogy kevesebb forgalmat vezet a webes szerepkör IIS-kiszolgálóján keresztül, így csökkentve a kiszolgálópéldány általános terhelését.

Ezenkívül egy böngésző általában két egyidejű kapcsolatra van beállítva egy adott tartományhoz. Azáltal, hogy a képek és a css külön domainben találhatók, a böngészője több párhuzamos kapcsolattal rendelkezik.

Ami a képek vagy css-fájlok szerkesztését illeti, igaz, hogy a webalkalmazás kódjának új tartalmat kell küldenie egy blob-ba, ami egy kis késést növelhet. Ez a várakozási idő azonban észrevehető vagy nem (a webalkalmazás terhelésétől függően). Szerintem ez ritka művelet a tartalom felszolgálásához képest.

17.12.2011

2

ezeket a fájlokat a blob tárolóban vagy az adatbázisban kell tárolni (egyéb lehetőség?).

NEM. Nincs más lehetőség.

Ha azonban ezeket a fájlokat blob tárolóban tárolják, hogyan befolyásolja ez a webhely teljesítményét, mivel a fájlok (css, képek) a blob tárolóból kerülnek lekérésre, ahelyett, hogy ugyanarról a lemezről olvasnák be őket, mint a webhely?

Az egyetlen teljesítmény "Degradáció" az lenne, amikor a felhasználó elmenti a szerkesztéseket. És nem a fájlok lekérésekor. De egy kicsit mozgékonyabbnak kell lennie, mint a szokásos megközelítéssel. Ahelyett, hogy a CSS-hez és a képekhez tartozó URL-címek a fájlrendszerre mutatnának (azaz /styles/site.css), közvetlenül a blob-ra kell mutatnia őket (azaz http://account.blob.core).windows.net/styles/site.css).

Vagy még jobb – ahogy az olivehour javasolta – engedélyezheti a CDN-t a blob Storage-fiókhoz, és formázza a CSS/Image URL-eket, hogy a CDN-verzióra mutassanak. Így a CSS és a képek blobban való elhelyezésének egyetlen teljesítményre gyakorolt ​​hatása a jobb és jobb teljesítmény lenne.

Ne feledje, hogy a blob-tárolóhoz és a CDN-hez saját domain társítható, így nem lesznek olyan divatos URL-ek, mint a „blob.core.windows.net”.

16.12.2011

3

A blob-tároláson kívül a Windows Azure Content Delivery Network (CDN). Mivel böngészőalapú alkalmazása van, ez gyorsabb lehet, mint a blob tárolás.

16.12.2011

4

Mostantól használhatja a Windows Azure-webhelyeket, és nem kell aggódnia az SQL Azure-adatbázisokra való migráció miatt, ha nem akarja – lényegében ugyanúgy működik, mint az, amit jelenleg az IIS7-en keresztül tárol. Mindezt webmátrixon keresztül kezelheti, az MVC webhely továbbra is tud írni a "fájlrendszerbe" (a kliens által feltöltött css fájlokhoz)

Itt talál többet a Windows Azure webhelyekről.

16.05.2013
Új anyagok

A rádiógomb ellenőrzött eseményének használata a jQueryben
Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

Miért érdemes elkezdeni a kódolást 2023-ban?
01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

🎙 Random Noise #2  – Örökbefogadás és hit
az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..