.NET開発者が25MBのAOTバイナリを使用することで、SignalRアプリケーションの起動時間を180ミリ秒に短縮することに成功しました。この大幅な改善は、完全な.NETランタイムを、SignalR専用にトリミングされたバイナリに置き換えることで達成されました。開発者は、.NET 9のネイティブAOTコンパイルがもはやコンソールアプリケーションに限定されないことを発見しました。以前は、SignalRベースのAzure Functionsは、起動時間が2.3秒と遅く、メモリ使用量が150MB、コンテナイメージサイズが180MBと大きくなっていました。これは、SignalRが.NETランタイム全体を必要とすると誤解されていたため、コンテナが肥大化していました。この遅いパフォーマンスは顧客からの苦情につながっていました。トリミング、ネイティブAOT、および最小APIホスティングを実装することで、単一で自己完結型の25MBバイナリを作成しました。この最適化されたアプローチは、メモリ使用量も45MBに削減しました。その結果、Azure Functionsでのコールドスタートが劇的に改善され、イメージサイズは85%削減されました。開発者は、ネイティブAOTをリアルタイム.NETアプリケーションにとって革新的なテクノロジーとして強調しています。
dev.to
𝗦𝗶𝗴𝗻𝗮𝗹𝗥 𝘀𝘂𝗽𝗽𝗼𝗿𝘁𝘀 𝘁𝗿𝗶𝗺𝗺𝗶𝗻𝗴 𝗮𝗻𝗱 𝗡𝗮𝘁𝗶𝘃𝗲 𝗔𝗢𝗧
