2016-07-05 66 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替换。

我没有看到更多的话要说,还有更多要问吗?

相关问题