我們有一個寫入日誌檔案的應用程式。在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
打開其中一個,另一端沒有任何東西。
- 命名管道。
- 匿名管道。
- 一個網路插座。
- …
您也可以在本地運行服務。您甚至可以在 docker 中運行它們(或透過容器化或虛擬化)。這是首選,因為您將不知道其他選項有什麼區別。