【问题标题】:How do you set up a large scale Alfresco CIFS server?如何设置大型 Alfresco CIFS 服务器?
【发布时间】:2012-02-11 09:16:52
【问题描述】:

Alfresco 提供了一个 CIFS 连接器,因此它可以在您的 Intranet 中充当普通文件服务器。

与基于“普通”(windows/samba)的文件服务器相比,某些操作确实会损害系统,例如使用 Windows 资源管理器列出包含数千个文件的文件夹。不太确定,但我认为权限检查是这种情况的主要原因。无论如何,现在假设您暴露了一个大的文件系统层次结构,并且许多用户使用 CIFS,给系统施加压力,有效地“将其击倒”。

建议的扩展/提高性能的方法是什么?

【问题讨论】:

    标签: alfresco


    【解决方案1】:

    根据我的经验,Windows Explorer CIFS 性能问题的一部分。我没有确切的数字,但我记得在一个大约 500GB 数据的实例上工作,主要由不平衡的文件夹树中的小图像和一些文本组成,为此在资源管理器中列出一个包含一千个孩子的文件夹大约一分钟显示。同样的操作在 Chrome 浏览器上大约需要 3 秒。

    我们从来没有时间彻底调查此问题,但我们发现资源管理器由于预取当前打开文件夹的子文件夹信息而产生了大量流量。

    【讨论】:

    • 这几乎支持我所观察到的。使用 Windows 资源管理器的客户端严重损害了系统。当我尝试使用 samba 客户端时,这不是什么大问题。尽管如此,我认为在企业场景中支持 Windows Explorer 使用是迄今为止最重要的。我猜你不能告诉客户使用另一个客户。 :)
    • 记忆又回来了……有些客户对系统的伤害比其他客户更大。但是 IIRC,仅使用 ootb JSF Web 客户端浏览空间的伤害与使用 Windows 资源管理器浏览一样严重。我想知道与普通文件服务器有什么根本不同,它们可以更好地处理这种情况。
    • 我记得在应用程序上启用了最详细的日志记录,并在访问文件共享时查看日志以了解不同客户端的情况(我也直接跳到了 wireshark)。在那里,我认为预取是客户端之间的最大区别。事实上,不管客户端如何,更好的整体性能是一个重要且缺失的特性。
    • Westernacher 的员工似乎通过将 CIFS 替换为基于 REST 的专有协议来解决性能问题:westernacher.com/en/business/ecm/…。不过,不要认为这是个好主意。
    • 如果客户可以在每个终端用户工作站的每一端安装外壳扩展程序是可行的,我想这是一个可行的选择。 NFS 和 CIFS 一样慢吗?如果它实际上更快,那可能是另一种选择。
    【解决方案2】:

    稍微重新审视了这个问题,我想我现在能给出的最佳答案是:调整缓存。

    我使用了 5k 个子空间、默认缓存值并在运行 alfresco 4.0.d 的 CIFS 挂载上执行“ls -alrt”基准测试。

    第一次执行大约需要两分钟,用大约 20 万个查询轰炸(闪电般快速)mysql 数据库。

    第二次执行“仅”用了大约 40 秒,但查询量没有显着变化。

    增加 CIFS 文件信息缓存,我第二次将时间缩短到 30 秒,但我仍然看到 160k 数据库查询触发。我相当确定这个狮子共享与权限/ACL 有关,应该可以大大改善这种情况。

    PS:Windows 资源管理器的行为确实有点出人意料,但我无法确认它对用户体验有显着影响。

    PPS:https://issues.alfresco.com/jira/browse/ALFCOM-2951

    PPPS:当我找到时间时,我会进一步研究这个问题——应该是今年。 ;)

    更新:大量查询没有权限问题

    【讨论】:

      【解决方案3】:

      权限检查肯定是问题的一部分。我无法链接到任何具体的内容,但在过去几年浏览露天论坛和网络时,我了解到权限会损害性能。

      我已经读过(并经历过)有大量儿童(1000 多名)的露天空间可能会非常缓慢的情况。您自己注意到的一个部分:处理 100-200k 个查询需要一段时间。但是将一些东西连接到 alfresco 以观察它在做什么,您会看到大量时间用于序列化/反序列化(例如用于共享的 webscripts)以及节点遍历(因此,当有数千个查询和 400-500 qps 的平均值时)没有人登录)。 所以你的缓存优化是正确的。

      您有安装专用硬件吗?我在性能方面遇到了很大的问题,但是我已经将 MySQL 服务器移到了一个单独的盒子(服务器级硬件 - 4 核、8GB 内存、用于 myqsl 服务器的 SSD 和用于 tomcat 服务器的 SAS 等),我收获了很多。所以,继续乞求新硬件吧:)

      我认为你在这里是正确的。

      【讨论】:

      • 同时,我可能走在正确的道路上,但你猜怎么着:我不再认为这与权限有任何关系。 :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-21
      • 1970-01-01
      • 1970-01-01
      • 2016-02-08
      • 1970-01-01
      • 1970-01-01
      • 2013-07-07
      相关资源
      最近更新 更多