Technopat Sosyal

Mustafa.Kaan
Mustafa.Kaan
Anlamaya kapasitem yetmedi ama seni övmeye de cümleler yetmez yahu.
Bayram Reis
Bayram Reis
@TheAny @bitwise, size de sormak isterim. Bir proje var ve çok kısa sürede piyasaya sürmem gerektiğinden ASPX (4.8) kullanıyorum. Sitede maksimum network ve CPU kazancı için bu yaptığım sistem mantıklı mı? İçimde bir rahatlık var ilk açılış çok ciddi oranda arttı ama yine de gereksizmiş hissiyatı var ve SPA yapmak varken diye ama yine de bilemedim.

Mesela şu an yaptığım belki küçük olan veya görmezden gelinen bazı şeyler =>
body class eklememek, data eklememek.
Light ve dark mode'u her compenent, her sayfa ve global olmak üzere ayırdım. Aynı zamanda hover dark light diye de ayırdım ve sayfa ilk yüklenişte hangi temaysa CS ile onu algılayıp, ona göre \light\ veya dark klasorunden alıyor dosyaları. Dinamik değiştirme sonrasında da cache alıyor.
CSS, JS constları -> CS compiler gibi statik veriyle değiştirmek. (Byte azalıyor) Açıklama satırlarını silmek, boşlukları silmek ve minify + 3 kelimelik obfuscating.
Bir de sayfada kritik rol almayan hiçbir şey yüklenmiyor. Ama burada bir fark var, lazy load değil; direkt yüklenmiyor ne html ne css ne de js. Eğer o modal tetiklenirse cachede varsa cacheden inject ediliyor yoksa da cs yardımıyla çekiyor.
En önemli kritik nokta da (benim için):

Hover efektlerinin hepsi ayrı dosyalarda. Sayfa ilk girişte eğer hover destekleniyorsa, CSS dosyası yükleniyor.

Bütün css tanımları %100 mobil için ve ekstradan blabla-tablet.css ve blabla-desktop.css dosyaları var ve eğer tablet veya desktop olduğu algılanırsa o cssler de sonradan ekleniyor. Bu da, mobilin indirmesi gereken dosya sayısını azaltıyor birkaç şart ile.

Buraya kadar her şey iyi hoş görünüyor ama Web tarafı nasıl çalışıyor, mantıklı mı yapıyorum yoksa CPU, RAM kullanımını arttırıyor muyum? Hiç bilmiyorum.
Bayram Reis
Bayram Reis
Bu arada ASP kullanmamın sebebi, diğer dilleri çok bilmemem ve ileride Blazor SPA Webassembly'e geçirmek istediğimden kaynaklı.

Bir de proje şakaya alınacak bir şey olmadığından da runtimeda elimde kalmasından korkuyorum. 15 dakikalık bir aksaklık bile benim için büyük sıkıntı. Güvenlik açıklarına dikkat ettim, reqmanag ile req sınırladım. Cache ve sw.js de kullanıyorum.

Sunucu 4vCPU, 8 RAM ve diğer özellikler sınırsız, Windows Host. (trafik, disk vs.)
TheAny
TheAny
"Bir de sayfada kritik rol almayan hiçbir şey yüklenmiyor. Ama burada bir fark var, lazy load değil; direkt yüklenmiyor ne html ne css ne de js. Eğer o modal tetiklenirse cachede varsa cacheden inject ediliyor yoksa da cs yardımıyla çekiyor."

Lazy load'in tanimi o zaten. Ihtiyac olmadikca datayi/component'i yuklememek.

Yaptigin kisimlar icin de, ne kadarlik bi component'i SSR'la renderliyorsun bilmiyorum. Yani neyle replace ediyorsun, formatin ne, onu da bilmiyorum. CPU kullanimin garanti artacak ama bu ne kadar olur bi sey diyemiyorum. Yeterince verimli bi formatta, belki %1-5 oynatir. Ama kotu bi formatta bu cok daha yuksek olabilir.

Kendin stress test yapip sonucu gorebilirsin. Production'a gecmeden once, production sunucusunun benzerini kendin kirala veya direkt ayni sunucuyu farkli domainle kirala, farketmez, ama uygulamayi basitce yayina al. Sonrasinda bi API'leri, bi de frontend'i ayri ayri stress'e sok. Degerlerin de bi ucma durumu yoksa, sorun yoktur.

Stres test her zaman dogru sonucu gostermez ama temel bi datan olur elinde.

Bi de eger hedef kitlen asiri kotu cihazlara sahip insanlar degilse, rich client dusuncesiyle yukun bi kismini kullaniciya yikmak aman aman kotu bi sey degil ya. Her noktayi da SSR yapmamaya calis. SSR icin kullandigin framework'u de ayrica test et. Templating engineleri yeterince iyi degilse o yarardan cok zarar bile getirebilir duruma gore.

Bi de ASPX 4.8 eski degil mi ya?
Geri
Yukarı