如何设置大型Alfresco CIFS服务器?

如何设置大型Alfresco CIFS服务器?,alfresco,Alfresco,Alfresco提供了一个CIFS连接器,因此它可以充当intranet中的普通文件服务器 与基于“普通”(windows/samba)的文件服务器相比,某些操作确实会损害系统,例如,使用windows资源管理器列出包含数千个文件的文件夹。不太确定,但我认为权限检查是造成这种情况的主要原因。不管怎样,现在假设您已经公开了一个大的文件系统层次结构,并且许多用户使用CIFS,给系统带来压力,从而有效地“击倒了它” 扩展/提高性能的建议方法是什么?根据我的经验,Windows资源管理器是CIFS性能问

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

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


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

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


我们从来没有时间彻底调查这个问题,但是我们看到,由于预取了当前打开文件夹的子文件夹的信息,Explorer产生了大量的流量。

我们重新讨论了这个问题,我想我现在能给出的最佳答案是:调整缓存

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

第一次执行大约花了两分钟时间,用大约200000个查询轰炸(闪电般的)mysql数据库

第二次执行“仅”花费了大约40秒,但查询量没有显著变化

增加CIFS fileinfo缓存,我的第二次时间缩短到30秒,但我仍然看到160k DB查询触发。我相当肯定这个共享与权限/ACL有关,应该可以大大改善这种情况

注:Windows资源管理器的行为确实有点出乎意料,但我无法确认它是否会对用户体验产生重大影响

缴费灵:

购买力平价:我会在找到时间后进一步研究这个问题——应该是今年


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

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

我读过(并经历过)在一些场景中,有大量儿童(1000+以上)的露天空间可能会非常缓慢。您注意到自己的一个部分:完成10-20万个查询需要一段时间。但是在alfresco中连接一些东西来观察它在做什么,您将看到大量的时间用于序列化/反序列化(例如,用于共享的WebScript)和节点遍历(因此,在无人登录的情况下,数千次查询和平均400-500次qps)。 因此,您的缓存优化方法是正确的

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


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

这与我所观察到的基本一致。使用windows资源管理器的客户端严重损害了系统。当我尝试samba客户端时,问题就小得多了。尽管如此,我认为到目前为止最重要的是在公司场景中支持Windows资源管理器的使用。我猜你不能告诉客户使用其他客户。:)回忆又回来了。。。一些客户对系统的伤害比其他客户更大。但是IIRC,仅仅是用ootb JSF web客户端浏览一个空间就和用Windows资源管理器浏览一样有害。我想知道与普通文件服务器有什么根本性的区别,它们能更好地处理这种情况。我记得在应用程序上启用了最详细的日志记录,并在访问文件共享时查看日志,以了解不同客户端的情况(我还直接跳到wireshark)。在那里,我认为预取是客户端之间最大的区别。事实上,无论客户端如何,更好的总体性能都是一项重要且缺失的功能。Westernacher的员工似乎通过使用专有的基于REST的协议替换CIFS来解决性能问题:。不过,我不认为这是个好主意。如果客户在每个终端用户工作站上安装外壳扩展是可行的,我想这是一个可行的选择。NFS和CIFS一样慢吗?如果它真的更快,那可能是另一种选择。与此同时,我可能走的是正确的道路,但猜猜看:我不再认为它与权限有任何关系。:)