2017-07-19 273 views
0
  • 我的.dockerignore設置爲忽略繁忙目錄,但更改單個文件似乎對運行性能有巨大影響。適用於Mac的Docker - 極慢的請求時間

  • 如果我更改原始目錄中的單個非相關文件(例如.php.jpg),下一個請求的執行速度非常慢。

  • 後續請求很快,直到我改變原始目錄中的任何文件,然後請求時間返回到〜10s。
  • 無論是:cached:delegated任何區別

反正是有加快這?考慮到只有一個文件已被更改,Docker似乎在後臺做了很多事情?

enter image description here

enter image description here

enter image description here enter image description here

回答

0

.dockerignore文件不會影響卷安裝。它僅在圖像構建期間向Docker守護程序發送上下文時使用。所以這不是一個因素。

在某些情況下性能不佳是Docker for Mac中長期存在的已知問題。他們討論這個主題in the documentation。根據我的經驗,最差的性能發生在fs事件掃描程序中,即您正在觀察某個目錄中的更改並重新加載應用程序服務器作爲響應。我的處理方式是禁用fs事件監視器,並在需要時手動重新啓動應用服務器。 (可能會對您的情況有所影響,也可能不太實際)。

簡而言之,您可以嘗試第三方解決方案,或者您可以接受開發中的糟糕表現,意識到它不會跟隨您進行生產(這是可能不會在Mac平臺上)。

0

我遇到了類似的問題,但在Windows上。我得到的方式是使用流浪漢。 Vagrant非常支持使用Docker進行配置。在您的Vagrantfile設置共享目錄以使用rsync。這將複製VM上的目錄。 Docker可以在虛擬機內存中快速訪問這些目錄。

這是一個偉大的文章,幫助我得出這樣的結論:http://blog.zenika.com/2014/10/07/setting-up-a-development-environment-using-docker-and-vagrant/

使用泊塢窗供應無業遊民的更多信息:https://www.vagrantup.com/docs/synced-folders/rsync.html

我希望這有助於:對流浪漢rsync的https://www.vagrantup.com/docs/provisioning/docker.html

更多信息你和我一樣。