2016-07-05 69 views
0

我在單個服務器上使用php symfony應用程序,並在不同節點上使用docker水平縮放。所以在這裏,我想使用集羣文件系統緩存和日誌來集中它並安裝到docker容器上。用於應用程序緩存和日誌的分佈式文件系統

我用glusterfs實現了這一點,並且用一個運行良好的用戶進行了測試。但隨着負載增加,應用程序停機並且響應時間增加,有時用戶會看到白屏。我刪除了glusterfs並使用了本地文件系統,這提高了應用程序的性能,並且在重負載下沒有看到任何響應時間的增加。由此,我認爲glusterfs不適合作爲用於存儲緩存和日誌的集羣文件系統。

所以問題是,有沒有其他文件系統降級應用程序的性能?

謝謝。

回答

1

把Symfony緩存和登錄共享FS確實是一個壞主意,正如你發現的。 本地FS是去那裏的路。儘管如果你去多服務器配置,幾個建議:

  • 確保會話存儲在其他地方,memcached或Redis是IMO的路要走。文件會話是PHP
  • 最糟糕的情況,如果你必須堅持使用文件會話,使你的服務器IP平衡(nginx中的「會話粘性」),瓶頸。否則用戶將被斷開連接。
  • 從日誌文件移動到一個集中的記錄儀,通過UDP(非阻塞)最好的東西
  • Symfony的高速緩存的某些部分可以移出的FS,對事件更好的性能:原則可以使用不同類型的緩存(內存緩存再次,APCu ...),Symfony基本的反向代理可以被Varnish替換。

我沒有看到更多的話要說,還有更多要問嗎?

相關問題