- このブログは Nintendo Wii 上でホスティングされており、NetBSD で稼働している
- Wii は PowerPC 750 ベースのシングルコア CPU を採用しており、宇宙探査のような高性能用途でも使われるチップセットである
- NetBSD は Wii で最新バージョンがサポートされており、これによって実際の本番ワークロードを実行できる
- Wii に NetBSD をインストールするために Wilbrand エクスプロイトを使って Homebrew Channel を導入し、NetBSD イメージを SD カードに読み込む
- lighttpd Web サーバーを使ってブログをホスティングし、Caddy によって TLS 終端を処理して性能を最適化している
Wiiでブログをホスティング
- このブログは Nintendo Wii 上でホスティングされており、NetBSD で稼働している
- Wii は PowerPC 750 ベースのシングルコア CPU を採用しており、宇宙探査のような高性能用途でも使われるチップセットである
- Wii に NetBSD をインストールするために Wilbrand エクスプロイトを使って Homebrew Channel を導入し、NetBSD イメージを SD カードに読み込む
- lighttpd Web サーバーを使ってブログをホスティングし、Caddy によって TLS 終端を処理して性能を最適化している
Wiiの性能
- Wii の CPU は IBM の PowerPC 750 ラインアップの一部で、1998年の iMac に使われたアーキテクチャである
- Wii の CPU はシングルコアで、最大 TDP は 9.8W であり、Wii に使われたバージョンより約 33% 高いクロック速度を持つ
- この CPU は宇宙探査のような高性能用途にも使われており、RAD750 という耐放射線版も存在する
NetBSDのインストール手順
- Wii に NetBSD をインストールするために Wilbrand エクスプロイトを使って Homebrew Channel を導入する
- Wii の MAC アドレスを把握し、SD カードにいくつかのファイルを作成して読み込むことでインストールできる
- NetBSD イメージを SD カードに読み込み、Homebrew Channel 経由で起動する
パッケージ管理とWebサーバー設定
- pkgin パッケージマネージャーをインストールして、さまざまな便利なパッケージを導入する
- lighttpd Web サーバーをインストールし、デフォルト設定をコピーして有効化し、起動する
- ブログは Hugo でビルドされた静的ページ群で、rsync でファイルを転送してサイトをホスティングしている
性能最適化とモニタリング
- 複数のサービスを無効化してリソースを確保し、Caddy によって TLS 終端を処理して性能を最適化している
- Caddy の Prometheus エクスポーターを使ってサイトの読み込みを監視し、Wii のシステム状態を簡単なシェルスクリプトで監視している
最終的な所感
- Wii でのブログホスティングは予想以上にうまく動作し、消費電力も比較的少ない
- Wii は約 18W の電力を消費し、これは月あたり約 13.2 kWh に相当する
- この実験は、人為的な制約を課すことで学びを促進する楽しい実験だった
3件のコメント
使っていないAndroidスマホにDebianを入れてWebサーバーを動かしていた頃を思い出しますね
なぜCaddyとlighttpdを同時に使うのかと不思議に思いましたが、静的ファイルだけをWiiで処理し、残りは別のマシンのCaddyで処理する形のようですね。
Hacker News のコメント