1

在我们的 QA 环境和 prod 环境中,我们有相同的部署(但不同的服务器环境)。在 PROD 环境中,当我登录页面编辑器时,页面编辑器功能区会持续加载 4 分钟。一旦加载它就可以正常工作。但是,如果我再次导航到不同的页面,功能区会加载 4 分钟。

在 QA 服务器中一切正常,这些部署彼此相同。只是想知道为什么它在 PROD 环境中很慢。

有任何想法吗?

Sitecore 版本 6.6

日志说,

ManagedPoolThread #16 08:51:27 INFO  Job ended: AllClassifieds.Web.Extensions.Agents.WebPublisher (units processed: )
1372 08:51:54 ERROR A potentially dangerous Request.Form value was detected from the client (leftpane_0$hdnFSClientState="<fsclientstate></fsc...").
Exception: System.Web.HttpRequestValidationException
Message: A potentially dangerous Request.Form value was detected from the client (leftpane_0$hdnFSClientState="<fsclientstate></fsc...").
Source: System.Web
   at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection)
   at System.Web.HttpRequest.ValidateHttpValueCollection(HttpValueCollection collection, RequestValidationSource requestCollection)
   at System.Web.HttpRequest.get_Form()
   at Sitecore.Pipelines.PreprocessRequest.SuppressFormValidation.Process(PreprocessRequestArgs args)

此错误会重复几分钟,直到页面编辑器被加载。

4

2 回答 2

8

我认为性能问题与您在问题中包含的验证异常无关。我认为(但这只是猜测)QA 和 PROD 环境速度之间的原因是 PROD 环境中的项目数量。

根据我的经验,我知道有时Page Editor中的My Items功能区按钮会出现问题。它显示锁定给当前用户的项目数量,并且对于每次功能区重新加载,它都会进行另一个查询以获取所有这些项目。

在此处输入图像描述

也许尝试删除此按钮(登录核心数据库并查找/sitecore/content/Applications/WebEdit/Ribbons/WebEdit/Page Editor/Edit/My Items),看看这是否有帮助。

如果没有,我建议使用dotTrace Performance之类的分析工具(您可以下载 10 天免费试用版),看看它是否能找到问题所在。

于 2013-09-19T07:13:01.417 回答
1

是的,两年后仍然有意义。

至少在 Sc8 rev 4 中。

WebEdit.ShowNumberOfLockedItemsOnButton 不再使用。它仍然存在于代码中,但没有使用它。设置时不会影响这个问题。

所以另一种解决方案是将 amountOfLockedItems 设置为 0 并注释掉:

var amountOfLockedItems = context.app.canExecute("ExperienceEditor.MyItems.Count", context.currentContext);

在 MyItems.js 中。或者如前所述,只需隐藏/擦除核心数据库上的按钮。

我猜 Sitecore 不想在索引上运行这个查询,因为它对用户来说太不准确了,但也许他们可以稍微优化一下数据库查询?我们有超过 9000 个,抱歉 200000 个项目,需要一分钟才能为用户找到所有锁定的项目。

于 2015-10-21T08:18:48.463 回答