
ASP.NET Core'da Büyük Belge İşleme Optimizasyonu
Hız Bir Özelliktir
Bir kullanıcı "View Document" (Belgeyi Görüntüle) düğmesine tıkladığında, belgenin anında yüklenmesini bekler. İster 3 sayfalık bir not, ister 5.000 sayfalık bir yasal dosya olsun, beklemek bir seçenek değildir. Doconut hız için tasarlanmıştır, ancak kurumsal ölçekli iş yüklerinde uygulamanızı optimize etmek anahtardır.
1. Akıllı Önbellekleme Stratejileri
Aynı sayfayı tekrar tekrar işlemek CPU döngülerinin boşa harcanması demektir. Doconut'un yerleşik önbellekleme arayüzü, işlenmiş sayfa görsellerini verimli bir şekilde depolamanıza izin verir.
- Disk Caching: Hızlı NVMe depolamaya sahip tek sunucu kurulumları için harikadır. İşlenmiş sayfalar
App_Data'e kaydedilir ve sonraki isteklerde statik olarak sunulur. - Distributed Caching (Redis): Yük dengelemeli çiftlikler için gereklidir. Sunucu A sayfa 5'i işlediyse, Sunucu B bunu yeniden işlemeye gerek kalmadan sunabilmelidir. Doconut, Redis veya Memcached'e doğrudan bağlanmak için özel
ICacheuygulamalarını destekler.
2. Tembel Yükleme ve Sanallaştırma
Belgeyi bir kerede hiç göndermeyin. Doconut, sanallaştırılmış kaydırma yaklaşımını kullanır.
- Yalnızca görünen sayfalar (artı küçük bir tampon) sunucudan istenir.
- Kullanıcı kaydırdıkça, yeni sayfalar talep üzerine alınır.
Bu, 100 MB'lik bir PDF açmanın yaklaşık olarak 1 MB'lik bir dosya ile aynı başlangıç yükleme süresine sahip olmasını sağlar.
3. Eşzamanlılık ve İş Parçacığı Kullanımı
ASP.NET Core'da kaynak yönetimi kritik öneme sahiptir.
- Parallel Processing: Doconut, kullanıcının mevcut sayfayı okurken yan sayfaları önceden işlemek için çok çekirdekli CPU'ları kullanabilir.
- Token Management: Belge tutamaçlarını (
objDoc.Close()) artık ihtiyaç duyulmadığında hemen kapatın (veyausingbloklarını kullanın) böylece bellek ayak izini düşük tutun.
4. Biçim‑Özel Optimizasyonlar
- PDF'ler: "Fast Web View" (Lineerleştirme) Doconut için (sunucuda işlediğimiz için) kesinlikle gerekli olmasa da, optimize edilmiş iç yapılar yardımcı olur.
- Görseller: Büyük TIFF/JPEG dosyaları için, Doconut'un döşeli işleme özelliğini etkinleştirmek, görüntüyü parçalar halinde işleyerek OutOfMemory (Bellek Dışı) hatalarını önleyebilir.
Ölçeklendirme
Binlerce eşzamanlı kullanıcıya hizmet veren uygulamalar için Doconut durumsuz‑hazırdır. Depolamayı (S3/Azure Blob) ve önbelleği (Redis) soyutlayarak, hesaplama örneklerinizi yatay olarak (Kubernetes/App Service Plan) ölçeklendirip her türlü trafik dalgalanmasını yönetebilirsiniz.
Ayarlanmış bir Doconut implementasyonu ile şimşek-hızında belge görüntüleme sunun.