VPSを立てるとき、私はずっと何も考えずUbuntuを選んでいた。理由は単純で「いじりやすいから」。ネットに情報が山ほどあるし、困ったときにググれば大抵の答えが出てくる。それで困ったことがなかったので、そもそも他の選択肢を検討したことすらなかった。
先日、ふと「UbuntuとDebianってどっちが軽いんだろう」と調べてみて、自分の前提がかなり雑だったことに気づいた。
そもそもUbuntuはDebianの派生である
これは知識としては知っていたが、実感として捉えていなかった。UbuntuはDebianをベースにしていて、パッケージ管理もaptで同じ、カーネルもほぼ同じものを使っている。つまり「別のOS」ではなく「Debianに手を加えたもの」だ。
そう考えると「どっちが速いか」という問いはあまり意味を持たない。同じ構成にすれば実行速度に体感できるほどの差は出ない。差が出るのは、主に初期状態で何が入っているかという点だ。
差が出るのは初期状態のフットプリント
Debianはデフォルトでインストールされるパッケージが少ない。Ubuntuにあるsnapdも入っていない。最小構成同士で比べると、アイドル時のメモリ使用量で数百MB程度の差が出ることがある。
「たかが数百MB」ではあるが、これがメモリ1GBや2GBの安いVPSだと話が変わってくる。全体の1〜2割を初期状態で食われているのは、けっこう痛い。
逆に言えば、メモリが潤沢なマシンならこの差はほぼ誤差だ。ここを見誤ると「Debianのほうが軽いらしいから」という理由だけで、慣れない環境に移行して時間を溶かすことになる。
それでもUbuntuを選ぶ理由はある
軽さの話をしたあとで矛盾するようだが、Ubuntuには明確な強みがある。
- 情報量が圧倒的に多い。エラーメッセージで検索したときのヒット率が違う
- パッケージが新しい。Debian stableは安定性優先なので、パッケージのバージョンが古いことが多い
- PPAが使える。新しいバージョンのミドルウェアを入れたいときに楽
- クラウドイメージが充実している。どのVPS事業者でも大抵は用意されている
つまり、メモリを数百MB節約するために、トラブルシューティングの効率を犠牲にするという取引になる。この取引が割に合うかどうかは、完全に用途と自分のスキル次第だ。
私なりの結論
こう整理してみると、判断基準はシンプルになった。
メモリが厳しい小規模VPSで、動かすものが決まっているなら、Debianの最小構成が効く。用途が固定されているなら情報量の少なさもそれほど問題にならない。
いろいろ試したい、頻繁に構成を変える、トラブル対応の時間を減らしたいなら、Ubuntuのままでいい。数百MBの差より、詰まったときにすぐ答えが見つかることのほうが価値が高い場面は多い。
気づきとしては「選択肢があった」ということ
正直、記事にするほど劇的な結論が出たわけではない。Ubuntuを使い続けても何も間違っていないし、実際たぶん今後もメインはUbuntuだと思う。
ただ、「Ubuntuしかない」と思い込んでいた状態から、「Ubuntuを選んでいる」という状態になったのは、それなりに意味のある変化だった。同じ結論でも、比較したうえで選んだのか、比較すらしていなかったのかでは、次に条件が変わったときの対応力が違う。
軽量なVPSを新しく立てる機会があれば、そのときはDebianを試してみるつもりでいる。