ガーベッジコレクション中でも WebRelease は通常どおり使用可能です。また、サーバの性能に余裕がある場合や、ストレージサイズが 数 GByte 程度以下の場合には、WebRelease のパフォーマンスには大きな影響はなく、パフォーマンスダウンを感じない場合が多いようです。
11章 システムの運用管理
WebRelease2 は、管理しているコンテンツデータを ~wr2/WebRelease2.storage というディレクトリ以下に保存しています。
WebRelease2 は、コンテンツを保存している WebRelease2.storage というディレクトリ以下のファイルを、時々、圧縮処理します。実際には、圧縮というより、ガーベッジコレクションと呼ぶべき動作を行います。
WebRelease を運用してコンテンツの作成や更新、配信を行ってゆくと、同ディレクトリ以下のデータファイルに未使用領域ができてきます。ガーベッジコレクションは、その未使用領域を解消し、ディスクの占有量を小さくするために行われます。
ガーベッジコレクションは、定期的に行われるのではなく、ファイル中の未使用領域の比率が概ね 50 % に達すると自動的に起動されます。ガーベッジコレクションの処理は、データファイル中の使われている部分のみをかき集めて未使用領域を持たない新たなデータファイルを再構成する処理であるため、大量のファイル I/O が発生し、場合によっては、長い時間がかかることがあります。ストレージサイズが数十 GByte に及ぶ、比較的大規模なサイトを運営している場合には、ガーベッジコレクションの時間は、1 時間以上に及ぶ場合もあります。
ガーベッジコレクションが行われている間は、サーバのリソースがガーベッジコレクション側に奪われるため、WebRelease のレスポンスが劣化する場合があります。
ガーベッジコレクション中でも WebRelease は通常どおり使用可能です。また、サーバの性能に余裕がある場合や、ストレージサイズが 数 GByte 程度以下の場合には、WebRelease のパフォーマンスには大きな影響はなく、パフォーマンスダウンを感じない場合が多いようです。
ガーベッジコレクションの実行中には、一時的に、より多くのディスクスペースが必要になります。
例えば、ストレージのサイズが 10 GByte のサイトにおいて、ガーベッジコレクションが行われたとします。ガーベッジコレクションが、ガベッジ率 50% で起動されたと仮定すると、ガーベッジコレクションの完了には 15 GByte のディスクスペースが必要となります。これは、ガーベッジコレクション開始時点で保有している 10 GByte を手つかずに保存したままの状態で、50% のガーベッジを除去して未使用領域がなくなった、新たな 5 GByte のデータファイルを生成するためです。ガーベッジコレクションが完了したならば、古くなった、未使用領域を含む 10 GByte のデータファイルは削除されるので、完了後のディスクスペースは 5 GByte となりますが、途中、一時的に 15 GByte 程のディスクスペースが必要になります。
ガーベッジコレクションは、ストレージ全体に対して行われるのではなく、サイトごとに行われます。同時にふたつ以上のサイトに対してガーベッジコレクションが行われることはありません。従って、小さなサイトを多数運用しているような場合では、ストレージ全体のサイズが大きくても、1回のガーベッジコレクションにかかる時間は短くて済みます。
「システム管理」画面の「ストレージ」タブでストレージの状態を把握することができます。
WebRelease2.storage が置かれているファイルシステムのサイズ(パーティションサイズ)が表示されています。概算値です。
ファイルシステムサイズのうち、既に使用されている部分のサイズが表示されています。概算値です。括弧内はファイルシステムサイズに対するパーセンテージです。
ファイルシステムの残量です。上記の(ファイルシステムサイズ)-(ファイルシステム使用量)で計算されるサイズです。概算値です。
現在 WebRelease が保有しているコンテンツ量を前提に、WebRelease を安全に運用し続けるために必要となるファイルシステムのサイズが表示されています。この値は、各サイトのストレージが占有しているディスクスペースの総和に、最も大きなサイトのデータサイズに 10% 分ほどの安全量を加えた値です。ファイルシステムが、ここで表示されているだけのサイズを持っているならば、現在保有しているコンテンツに関しては、ガーベッジコレクションに伴う一時的なディスク必要量の増加を見込んでも、安全に WebRelease を運用し続けることができます。
最も大きなサイトがガーベッジコレクションを実行する時に必要になる、ディスクスの必要スペースを表示しています。ファイルシステム残量がここに表示されている値を下回ると、ガーベッジコレクションが実行できない可能性が出てきます。括弧内は、現在のファイルシステム残量に対する、必要ファイルシステム残量のパーセンテージです。WebRelease を運用し続けるには、この値が 100% を超えることがないようにファイルシステム残量を維持し続けることが必要です。
WebRelease を運用し続ける上で、ファイルシステムの残量が十分であるかどうかを知るための最も重要な指標は「必要ファイルシステム残量」です。この値が 100% を超えないようにファイルシステム残量を確保し続けなければなりません。
通知メールアドレス欄に、メールアドレスを記入しておくと、先に説明した「必要ファイルシステム残量」の、実際のファイルシステム残量に対する比率が 75% に達すると、「システム管理」画面の「設定」タブにある「通知メール配送先アドレス」欄に指定されたメールアドレスに向けて、残量が少なくなってきていることを知らせるメールが発送されます。なるべくこのメールアドレスを指定しておいて、ファイルシステム残量の不足を事前に把握してください。
この警告メールは、不足状態が続いている限り 24 時間に1回のペースで繰り返し発送されます。状況が改善すると警告メールの発送は停止します。
メールの文面は、日本語と英語が用意されています。「通知メール言語」欄で言語を指定してください。
画面右上にある「送信テスト」ボタンをクリックすると、警告メールを指定されているアドレスに発送することができます。メールアドレスが正しく設定されているかどうかを確認する際に使用してください。
この通知メールが発送される状況になった場合、例えば、下記の対応を検討してください。
不要なコンテンツがあればそれを削除することを検討してください。しかしながら少々の削除ではたいした効果は得られないでしょう。削除可能なものが相当量ある場合以外には、検討の価値はないかもしれません。
不要コンテンツを削除する場合には、十分に注意深く行ってください。特に、作業前には、かならずバックアップを取得するようにしてください。
今後もコンテンツが増え続けることを考慮すると、早めにファイルシステムを拡張しておく方が良いかもしれません。
先に説明したとおり、ガーベッジコレクションの実行中は WebRelease のパフォーマンスが低下することがあります。昼間の時間帯など、WebRelease をよく使う時間帯にはガーベッジコレクションは起動して欲しくないものです。
「圧縮開始時間帯」の欄で時間帯を指定しておくと、それ以外の時間帯にはガーベッジコレクションは起動しなくなります。この指定は、起動時間帯である点に注意してください。指定された時間帯内に起動したガーベッジコレクションは、時間帯を出てもすぐに停止することはなく最後まで実行されます。
「サイトストレージ情報」欄には、サイト別のストレージの状態が表示されています。操作欄の「圧縮ボタン」をクリックすることで、そのサイトのストレージに対してすぐにガーベッジコレクションを起動することができます。(ただし、圧縮開始までに1分ほどかかる場合があります。また、画面表示は自動更新されませんので、結果を確認するためには画面のリロードが必要です)
この方法で起動すると「圧縮開始時間帯」の指定とは無関係にすぐにガーベッジコレクションを起動することができます。
特にファイルシステム残量に余裕がないなどの事情がない限りは、ガーベッジコレクションの起動はシステムに任せておくことをお勧めします。
ストレージのガーベッジ率を低く抑えてもシステムのパフォーマンスに良い影響を与えることはありませんので、ガーベッジコレクションを頻繁に手動で起動することには意味はありません。
もし、ファイルシステム残量が不足してガーベッジコレクションが実行できなくなってしまった場合には、下記の手順でガーベッジコレクションと同等の効果を得ることができます。
この方法は緊急避難としての対応策です。この方法で対処しても、いずれまた不足が生じることになるのでなるべく早くファイルシステムの拡張を実施して安全に WebRelease を運用してください。