Optimalizace vykreslování velkých dokumentů v ASP.NET Core
← Back to Blog2 min read

Optimalizace vykreslování velkých dokumentů v ASP.NET Core

Rychlost je funkce

Když uživatel klikne na „Zobrazit dokument“, očekává, že se načte okamžitě. Ať už jde o třístránkový memorandum nebo 5 000 straný právní podání, čekání není volba. Doconut je navržen pro rychlost, ale u podnikově rozsáhlých zátěží je klíčové optimalizovat vaši implementaci.

1. Chytré strategie cachování

Opakované vykreslování stejné stránky je zbytečná zátěž CPU. Vestavěné rozhraní cachování v Doconut umožňuje efektivně ukládat obrázky vykreslených stránek.

  • Diskové cachování: Ideální pro jednoserverová nasazení s rychlým NVMe úložištěm. Vykreslené stránky se ukládají do App_Data a při dalších požadavcích se podávají staticky.
  • Distribuované cachování (Redis): Nezbytné pro vyvážené farmy. Pokud Server A vykreslí Stránku 5, Server B by ji měl být schopen podat bez opětovného vykreslení. Doconut podporuje vlastní implementace ICache, které se dají přímo napojit na Redis nebo Memcached.

2. Lazy Loading a virtualizace

Nikdy neposílejte celý dokument najednou. Doconut používá přístup virtualizovaného rolování.

  • Pouze viditelné stránky (plus malá rezerva) jsou požadovány ze serveru.
  • Jak uživatel rolí, nové stránky se načítají na vyžádání. To zajišťuje, že otevření 100 MB PDF trvá přibližně stejně dlouho jako načtení 1 MB souboru.

3. Současnost a vláknování

V ASP.NET Core je správa zdrojů zásadní.

  • Paralelní zpracování: Doconut může využívat vícejádrové CPU k předvykreslování sousedních stránek, zatímco uživatel čte aktuální.
  • Správa tokenů: Uzavřete manipulátory dokumentů (objDoc.Close()) okamžitě, jakmile už nejsou potřeba (nebo použijte bloky using), aby se udržela nízká paměťová stopa.

4. Optimalizace podle formátu

  • PDF: Ujistěte se, že „Fast Web View“ (Linearizace) není striktně vyžadováno pro Doconut (protože vykreslujeme na serveru), ale optimalizovaná vnitřní struktura pomáhá.
  • Obrázky: Pro obrovské TIFF/JPEG soubory povolte dlaždicové vykreslování v Doconut, což zabrání výjimkám OutOfMemory tím, že obrázek zpracovává po částech.

Škálování

Pro aplikace obsluhující tisíce souběžných uživatelů je Doconut připraven na bezstavové nasazení. Tím, že abstrahujete úložiště (S3/Azure Blob) a cache (Redis), můžete horizontálně škálovat výpočetní instance (Kubernetes/App Service Plan) a zvládnout jakýkoli nárůst provozu.

Poskytněte bleskově rychlé prohlížení dokumentů s vyladěnou implementací Doconut.

#Performance#ASP.NET Core#Caching#Optimization#Scalability