ログファイルに書き込むアプリケーションがあります。 prod環境では、ログファイルディレクトリがNASにマップされます。
192.168.1.10:/storage/app/log 2554360832 11844608 2412762112 1% /usr/local/app/log
NASが何度も失敗し、ログファイルに書き込もうとしたときにアプリケーションが無期限にブロックされることを聞きました。
問題を再現して、何が起こっているのかを確認し、修正をテストしたいと思います。しかし、私たちの開発環境にはNASはありません。
ファイル記述子が応答しなくなり、書き込み試行が無期限にブロックされるようにする方法はありますか?
答え1
名前付きパイプを作成しますが、読み取り用に開かないでください。
$ mkfifo /tmp/test-fifo
$ echo a > /tmp/test-fifo
答え2
そのうちの1つを開くと、もう一方の端には何もありません。
- 名前付きパイプ。
- 匿名パイプ。
- インターネットソケット。
- ...
サービスをローカルで実行することもできます。 Dockerで(またはコンテナ化または仮想化を介して)実行することもできます。これは、他のオプションとの違いを知ることができないので好ましい。