在mac 使用 docker 的時候,我總感受程序在 docker 下運行速度很慢,接下來我一一分析我遇到的問題,但願你們能進行合理的討論和建議。laravel
第一個問題排查過程當中發現是 DNS Lookup 時間太長致使的,搜索後發現,是由於使用了.local
域名的緣由,chrome 下就會存在解析時間過長,不過 safari 下沒有這個問題。解決方法就是別在本地使用 .local
的虛擬域名。chrome
咱們發現 TTFB 居然只有 21ms,而 docker 下居然有1.8 秒。這差距巨大的,要知道,1 s = 1000ms。docker
在解決了第一個問題後咱們發現了第二個問題,那麼我找到官網說的docker 的緩存 :cached
。我使用後,說實話,貌似毛用都沒有。哈哈。緩存
不過天無絕人之路,我忽然想到,既然這個問題是由於 docker 掛載出的問題,那麼我能不能在本地使用valet來解析網站,而後其餘的 es、kafka 等組件我放到 docker 中。網站
嘗試後看看結果:3d
你們能夠看到我這裏使用的 valet 在本地解析網站後,鏈接的 docker 中的 es。ttfb 一會兒就下來了。而咱們再來看看 docker 下解析:code
其實差距仍是蠻大的。blog
咱們再來對比數字,1780ms/60ms = 30 ,因此咱們已經提速了 30 倍。kafka
你們有沒有好的提速的建議?域名