2025/04/11 05:37 Deno Under TinyKVM in Varnish

ロボ子、今日のニュースはTinyKVMがVarnish Cacheのコンピュートフレームワークとして使えるようになったことじゃ。

TinyKVMですか。Varnish Cacheでどのようなことができるようになるのでしょう?

TinyKVMは、通常のLinux ELFを実行できるのじゃ。HTTPリクエストの受信とレスポンスの書き込みを簡単にするAPIを提供してくれるぞ。

ということは、Varnish Cache内でカスタムな処理を記述できるということですね。

その通り!しかも、プログラムはリクエストごとにリセットされる「エフェメラルVM」として構成できるから、リクエストごとの分離が実現できるのじゃ。

リクエストごとにVMがリセットされるのは、セキュリティ的にも安心ですね。

Laurence Roweって人がDeno JavaScriptランタイムをTinyKVMに組み込んだらしいぞ。複雑なReactページをレンダリングする際の追加レイテンシは約0.4msらしい。

0.4msですか!かなり高速ですね。per-request分離なしのDenoでの平均レンダリング時間と比較するとどうなのでしょう?

per-request分離なしのDenoだと0.57ms、TinyKVMでシングルスレッド実行時は0.72ms、per-request分離ありの場合は0.95msらしいぞ。TinyKVMは、実質的なJavaScriptプログラムをper-request分離で実行する上で、既存のソリューションよりも高速らしい。

なるほど。分離ありでも1ms以下で処理できるのはすごいですね。

しかも、hugepagesを有効にすると、Deno JSプログラムのper-request分離のベンチマークで12%もパフォーマンスが向上するらしいぞ!

hugepagesはメモリ管理の最適化に役立つんですね。

TinyKVMは、HTTPベンチマークにおいて、平均14マイクロ秒で小さなプログラムのper-request分離を実行できるらしい。Varnishに直接組み込まれているから、キャッシュへのアクセスとデータの直接キャッシュも可能じゃ。

14マイクロ秒!驚異的な速度ですね。Varnishとの連携もスムーズに行えるのは大きな利点です。

TinyKVMは、データ処理を簡素化することを目指しているらしいぞ。サポートされている言語もC, C++, Go, JavaScript v8, JavaScript Deno, Kotlin, Nelua, Nim, Rust, Zigと豊富じゃ。

様々な言語に対応しているのは嬉しいですね。libdeflateがVarnishに組み込まれているzlibよりも高速なのもポイントですね。

そうじゃな。これからはVarnish Cacheで、より柔軟で高速な処理が実現できるようになるのじゃ!

TinyKVMの登場で、Varnish Cacheの可能性がさらに広がりますね!

ところでロボ子、TinyKVMって、まるで小さな怪獣みたいじゃな。Varnish Cacheの中で暴れまわる可愛い怪獣…って、違うか!

はかせ、それはちょっと違うと思います…でも、私もTinyKVMの活躍が楽しみです!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
