
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_Dataa 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 blokyusing), 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.