さくらのクラウドでは同一収容ホスト内の他サーバの高トラフィックの影響を受ける?
先週木~金曜日くらいだったと思いますが、うちのサイトのサーバー(@さくらのクラウド)がやたらとパケットロスを出す症状について、あるていど状況が把握できてきたので、同じ症状に遭遇した人のために情報共有しておきます。
話しを分かりやすくするために、まず、症状が発生するときのサーバーの状態を書いておくと、
- ロードアベレージはほぼゼロの状態(0.0~0.2)
- コンテキストスイッチは平常レベル。ディスクIOもほぼ無負荷
- 自サーバのネットワークトラフィックもほぼゼロの状態
という、ほぼ無負荷の状態。なのに、
- WEBサーバーへの接続が、繋がったり繋がらなかったり遅かったり
(複数の外形監視システムが頻繁にUP/DOWNを交互にレポートしてくる状態) - sshのログインが頻繁にタイムアウトしたり、全く繋がらなかったり
- yum update してもタイムアウトしてしまったり
- 外部から対象サーバにpingを打っても全く返ってこない
という謎現象が、時間帯を問わず常時発生している状況でした。まぁ、早い話が「パケットロスが多すぎて話にならない状態」ということですな。
状況をさくらのサポートに説明したところ、同一ホストに収容されている他サーバーのネットワークトラフィックが高い状態になっていて、その影響を受けているのではないか。との見解が得られました。
で、提示された対処方法は、「収容先ホストの変更」らしく。要は、サーバーをシャットダウンしてから起動しなおしてくれ、という話し。(再起動では収容先ホストが変わらないのでダメ)
収容先ホストの変更については、以下の公式ドキュメントにまとまっているので、読んでおくとよいです。
標準ですと、さくらのクラウドのインターネット接続は 100Mbps 共有のベストエフォートですので、わりかし簡単に回線が飽和してしまうのかもしれません。
ただ、ベストエフォートとはいえ、あまりに高負荷のトラフィックを発生させているサーバーについては、少しトラフィックを絞るとか、他サーバーへの影響を少なくする配慮があってもいいんじゃないの?とは思うところも。
なお、同一ディスクが接続されたサーバーのシャットダウン→起動であれば、IPアドレスは変わりません。
(この記事は、将来、追記する可能性があります。)