先日作成した、HDD起動版の録画環境ですが。本体の緑色のLEDがほぼ点灯した状態です。
緑色のLEDは、microSDカードは使っていませんので、おそらく外付けのUSBストレージのアクセスランプとして機能しているようです。
MirakurunとEPGStation、そしてmariadbを動かしていますので、EPG(電子番組表)のデータ受信の負荷が大きいのかな?と想像できます。
では、録画環境のストレージへの負荷は具体的にどれくらいなのでしょうか?調べてみました。
目次
iotopによるストレージ負荷の確認
iotopのインストール
負荷の測定は、iotopを使用してみました。
Ubuntu 20.04.1 LTSの場合、aptコマンドでインストール可能のようです。
sudo apt install -y iotop
mariadb, Mirakurun, EPGStation稼働状態の負荷
メインのサービスとして動かしているアプリケーションは、MirakurunとEPGStationになります。EPGStationはMariadbを使用しています。
前述の通り、録画も視聴もしていない状態でも、EPGデータの受信が行われているようです。
この状態で、ストレージの負荷はどのくらいでしょうか?
録画・視聴していない状態のストレージ負荷
iotopコマンドを実行します。
sudo iotop
負荷は、右上の「DISK WRITE」の値が問題になります。
じっと観察していると、0.00の場合と、200K/sの場合が大半のようです。稀に300K/sや6K/s等が表示されます。
EPGデータの受信の他、カーネルや様々なサービスのログ出力等のストレージアクセスがありますので、やはり緑色のLEDが点灯状態になる程度、ストレージの負荷がある感じです。
microSDカードは寿命があり、書き込める総量が決まっているようです。その総量に達すると、書き込めなくなる=壊れてしまいます。
デジカメでmicroSDカードを使用する場合は、撮影した時に書き込みが発生しますが、撮影しなければ書き込む量は0です。
一方録画サーバは、ただ起動している間、ずーっと書き込んでいる状態です。これは確かにmicroSDカードがいつか壊れますね。←実際に経験済み
個人的な見解ですが、このような測定値からも、サーバとして長期間Raspberry Piを使用したいなら、絶対的にUSBストレージ起動が必要だと思います。
視聴中のストレージ負荷
次に、地デジの番組の視聴中の負荷を調べたいと思います。視聴中の負荷は、無負荷の状態とそれほど変わりません。
相変わらず、200K/s弱の書き込みがありますが、稀に600K/sや2M/s等の大きな書き込みがあるようです。
プロセスのリストにffpmegが表示されていますので、実際に視聴中にffmpegが動作していることが確認できます。
値を見ると、視聴に関しては、ストレージへの負荷は変わらない感じです。
録画中のストレージ負荷
録画中の負荷は、なかなか大きいようです。エンコード無しで録画した場合、録画中は2M/s程度の負荷が継続的に続くようです。
nodeプロセスが4つ、それぞれ500K/sのストレージ書き込みを行っています。4x500K/s=2M/sということで、1番組のメインのTS映像ストリームの書き込み速度がそのくらいであると推測できます。
計算すると、1時間におよそ7GBになりますので、TSファイルのサイズと合致します。128GBの容量のmicroSDカードの場合、20時間弱で1巡する計算ですが、実際はパーティションを区切って書き込んでいますので、寿命は想定よりもずっと短くなると思います。
いや。繰り返しになりますが、これは録画すれば録画するほど、microSDカードが壊れるまでの時間が短くなりますね。
サービスを止めた場合の負荷
MirakurunとEPSGtationを停止した場合の負荷も見てみました。
ストレージへの書き込みは、ほぼ0B/sです。数十秒おきに、systemd-journaldが、125K/s程度の書き込みを行うことを確認できます。
まあ、何もしていない場合の負荷はこれくらい、ということでしょう。
これで、電子番組表の負荷が定常的に発生していることが確認できました。
Raspberry Pi 4で64ビット版のEPGStationをインストールした場合の、ストレージ負荷を測定してみました。
以上を簡単にまとめますと。
- 何もサービスを動かしていない場合、ストレージへの負荷はほぼ0。数十秒おきに125K/s程度のsystemdの書き込みがある程度。
- EPGStation稼働中の負荷は、定常的に100~200K/s程度。
- 番組視聴中の負荷は、EPGStation稼働中とほぼ同じ。
- 1番組の録画中の負荷は、2M/s程度。
いやあ。具体的な数値として、2M/sという書き込み速度を見ると、microSDカード起動ではなく、書き込み寿命が無いHDDのUSBストレージ起動に変えてよかったと思います。
もしもエンコードを使用する場合は、更にストレージへの負荷が加算されると思います。つまり、エンコードを併用すると、microSDカードのような書き込み可能な容量に制限があるストレージの寿命はさらに短くなる計算になります。
わたしが実際に体験した、半年でmicroSDカードが寿命を迎えた理由を、はっきりと測定することができました。
ちなみにSSDも書き込み寿命はあると思います。傾向として、容量が大きいほど寿命が長くなりますが、地デジ録画という容量の大きいストリームを取り扱う性質上、他のストリームを扱わないサービスと比較して、寿命は短くなる傾向かと思います。
地デジ録画=2MB/s=1時間に7GBものストリームを扱うストレージの使い方は、少し特殊と思ったほうが良いと思います。USBメモリーも寿命がありませんでしたか?そのあたりはシビアに考えて機器を選択したほうが良いと思いました。
もしも地デジ録画サーバをご利用になる場合は、以上の数値を宜しければご参考にして下さい。