在我们的QA环境和prod环境中,我们有相同的部署(但不同的服务器环境)。 在PROD环境中,当我登录页面编辑器时,页面编辑器功能区会持续加载4分钟。一旦它加载它就可以了。但是,如果我再次导航到另一个页面,则会将色带加载4分钟。
在QA服务器中,一切都很好,这些部署彼此相同。只是想知道为什么它在PROD env中很慢。
有什么想法吗?
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)
此错误会重复几分钟,直到加载页面编辑器。
答案 0 :(得分:8)
我认为性能问题与您在问题中包含的验证异常无关。我认为(但这只是猜测)QA和PROD环境的速度之间的原因是PROD环境中的项目数。
根据我的经验,我知道有时页面编辑器中的我的项目功能区按钮存在问题。它显示锁定到当前用户的项目数,并且对于每个功能区重新加载,它会生成另一个查询以获取所有这些项目。
也许尝试删除此按钮(登录核心数据库并查找 / sitecore / content / Applications / WebEdit / Ribbons / WebEdit / Page Editor / Edit / My Items 强>)并看看这是否有帮助。
如果没有,我建议使用一些分析工具,如dotTrace Performance(您可以下载10天免费试用版),看看它是否能找到有问题的地方。
答案 1 :(得分:1)
是的,两年后仍然相关。
至少在Sc8 rev 4中。
WebEdit.ShowNumberOfLockedItemsOnButton不再使用。它仍然存在于代码中,但没有它的用法。设置时不会影响此问题。
所以另一个解决方案是将amountOfLockedItems设置为0并注释掉:
var amountOfLockedItems = context.app.canExecute("ExperienceEditor.MyItems.Count", context.currentContext);
在MyItems.js中。或者如上所述,只需隐藏/擦除核心数据库上的按钮即可。
我猜Sitecore不希望在索引上运行此查询,因为它对用户来说太不准确了,但也许他们可以稍微优化数据库查询?我们有超过9000,对不起200000项,并且需要一分钟才能找到用户的所有锁定项目。