suiranfes / shop.suiranfes.blue

shop.suiranfes.blue | Suiran Shop System - Application for accounting of the Suiran Festival.
https://shop.suiranfes.blue/
MIT License
2 stars 1 forks source link

Compression (gzip or brotli) #33

Closed mint73 closed 5 months ago

mint73 commented 5 months ago

https://lightningblog.net/blazor/basic-gzip-compression

mint73 commented 5 months ago
元: - 転送 リソース
実際 100kB 前後 800kB 前後
デバッグ^1 300kB 前後 800kB 前後
mint73 commented 5 months ago

https://qiita.com/shyamagu/items/17a9d8cef6a8dfb79b98

mint73 commented 5 months ago

変更後もほとんど変化しなかったため、 Revert (圧縮や最適化を行うと、なんかしらの問題が発生する可能性があるので、 (ほとんど効果がなかったので) 戻すことにした。)

mint73 commented 5 months ago

というか、もしかしたら、最新 (.NET8) の Blazor では最初から圧縮されているのかもしれない。

mint73 commented 5 months ago

https://qiita.com/jsakamoto/items/91c86a0f34de6e6d77b9

...
<PropertyGroup>
  ...
  <IsTrimmable>true</IsTrimmable>
  ...
</PropertyGroup>
...
mint73 commented 5 months ago

これ publish 時に trimm される可能性があるなぁ

mint73 commented 5 months ago

調査

dotnet publish -c Release -o publish 時の wwwroot 内の容量を測定し、比較する。 (当然、 publish ディレクトリは検証ごとに削除する)

状態 容量
通常 15.2MB
IsTrimmabletrue 14.8MB
WasmEnableSIDMfalse 15.3MB
#33 + IsTrimmabletrue (全部乗せ) 10.0MB
#33 の .csproj 内の変更のみ
(brotli, gzip はしない)
8.67MB
#33 (brotli, gzip を除く) + IsTrimmabletrue 8.25MB

結果

brotli, gzip は逆に容量が増える?という現象が発生する (謎) 今回は .csproj のみの変更にするのがよいと判断する。

(IsTrimmable, PublishTrimmed, TrimUnusedComponents, BlazorWebAssemblyEnableLinking は問題が発生次第削除する。 InvariantGlobalization, BlazorEnableTimeZoneSupport はおそらく問題は生じない)

mint73 commented 5 months ago

なんかエラーになるので、一部消します。