Sharepoint 工作流性能问题
Sharepoint workflow performance Issue
我没有 Sharepoint 开发经验,我被要求查看工作流性能。
经过一番追踪,我发现哪个部分执行时间太长:
using (var site = new SPSite(WorkflowWeb.Site.ID, workflowProperties.OriginatorUser.UserToken))
{
using (var web = site.OpenWeb(WorkflowWeb.ServerRelativeUrl))
{
var list = web.Lists[WorkflowItem.ParentList.ID];
var item = list.Items[WorkflowItem.UniqueId];
item[new Guid("{54GH32R2-HG66-654a-KKKK-456FFF864654}")] = SPUtility.GetLocalizedString("$Resources:Assigned_Car", "RealB", WorkflowWeb.Language);
item[new Guid("{54FG6215-9584-123g-KJHG-456FFF864654}")] = DateTime.Now;
item.Update();
}
}
执行这部分大约需要 5 分钟。有什么提高性能的技巧吗?
正如我所提到的,我没有 SP 经验,我也不太了解工作流程在做什么,我只需要快速而肮脏地解决它。
正常情况下,呈现的这段代码不会执行5分钟。在性能方面,执行此代码,即使需要打开以前未缓存的 SPSite
,也是亚秒级的事情。
在默认配置为 owstimer
(异步执行工作流的进程)的 SharePoint 2010 中, 最多需要 5 分钟的时间是工作流引擎调用之间的延迟,这在转执行工作流程。根据您测量工作流 'performance'('run-time duration' 是一个更好的术语)的方式,这个空闲时间可能包含在您的结果中。
旁注:
I have no SP experience, I also don't have much knowledge of what the workflow is doing, I just have to solve it quick and dirty.
那么在基本的学习任务之外再使用 SharePoint 是一个非常糟糕的主意。性能调整和故障排除绝对 不是 适合完全缺乏平台知识和经验的人的任务。 SharePoint 是一个非常复杂的平台,其行为有时远非直截了当。您应该在更简单的事情上学习 SharePoint 并获得经验。
不知何故,现在通过更改速度更快:
var item = list.Items[WorkflowItem.UniqueId];
到
var item = list.GetItemByUniqueId(WorkflowItem.UniqueId);
我没有 Sharepoint 开发经验,我被要求查看工作流性能。 经过一番追踪,我发现哪个部分执行时间太长:
using (var site = new SPSite(WorkflowWeb.Site.ID, workflowProperties.OriginatorUser.UserToken))
{
using (var web = site.OpenWeb(WorkflowWeb.ServerRelativeUrl))
{
var list = web.Lists[WorkflowItem.ParentList.ID];
var item = list.Items[WorkflowItem.UniqueId];
item[new Guid("{54GH32R2-HG66-654a-KKKK-456FFF864654}")] = SPUtility.GetLocalizedString("$Resources:Assigned_Car", "RealB", WorkflowWeb.Language);
item[new Guid("{54FG6215-9584-123g-KJHG-456FFF864654}")] = DateTime.Now;
item.Update();
}
}
执行这部分大约需要 5 分钟。有什么提高性能的技巧吗?
正如我所提到的,我没有 SP 经验,我也不太了解工作流程在做什么,我只需要快速而肮脏地解决它。
正常情况下,呈现的这段代码不会执行5分钟。在性能方面,执行此代码,即使需要打开以前未缓存的 SPSite
,也是亚秒级的事情。
在默认配置为 owstimer
(异步执行工作流的进程)的 SharePoint 2010 中, 最多需要 5 分钟的时间是工作流引擎调用之间的延迟,这在转执行工作流程。根据您测量工作流 'performance'('run-time duration' 是一个更好的术语)的方式,这个空闲时间可能包含在您的结果中。
旁注:
I have no SP experience, I also don't have much knowledge of what the workflow is doing, I just have to solve it quick and dirty.
那么在基本的学习任务之外再使用 SharePoint 是一个非常糟糕的主意。性能调整和故障排除绝对 不是 适合完全缺乏平台知识和经验的人的任务。 SharePoint 是一个非常复杂的平台,其行为有时远非直截了当。您应该在更简单的事情上学习 SharePoint 并获得经验。
不知何故,现在通过更改速度更快:
var item = list.Items[WorkflowItem.UniqueId];
到
var item = list.GetItemByUniqueId(WorkflowItem.UniqueId);