サーバのHDDが秒速で壊れる時の原因 特殊ケース

スポンサーリンク
Linux
スポンサーリンク
↑管理人が個人でUnity+Live2Dで作成しているスマホゲームです

Linux+Nginx+MySQL+PHP環境です。

何度HDDを交換しても一ヶ月以内に壊れる!といった現象が起こる事があります。
まず、iostatで確認してみてnginxの異様な書き込み量が確認できて、ファイルディスクリプタを調べてもソケットではなく、dstatで見ても大量のディスクアクセスが発生しているのが分かる場合。
その場合はinotifywaitでfastcgiキャッシュディレクトリを監視してみます。もしかすると、数十MB/s以上の物凄い勢いで読み書きされ続けているかもしれません。
その場合は、fastcgiキャッシュ置き場をtmpfsにしたり、その場所のキャッシュ自体をオフにするように設定を記述するとディスクの読み書きが止まるかもしれません。

この場合、裏で何が起こっているかというと、いろんなケースが考えられますが、PHPなどでストリーミング再生を実現している場合などに、アクセスの度に大量の断片ファイルが全てnginxのキャッシュに送られている場合があります。
設定の問題でfastcgiキャッシュ領域がメモリ上にない場合は、常時ものすごい量のストリーミング断片データがHDDに読み書きされる事になりHDD寿命を圧倒的に縮めてくれる事になります。
デフォルトでfastcgiキャッシュはオンになっているらしいので、記述していない=キャッシュを使っていない事にならないのが落とし穴です。
解決のためにはキャッシュディレクトリをメモリ上に作成するか、fastcgiキャッシュを指定URLでオフにする等する必要があります。
通常はユーザ別のストリーミングの断片ファイルなどキャッシュする必要もないのでオフにした方が良いでしょう。

1 Star2 Stars3 Stars4 Stars5 Stars (まだ投票されていません)
読み込み中...

コメント

広告ブロッカーを無効にしてください。

タイトルとURLをコピーしました