WF的性能特征(二)
Cottle译自MSDN的"Performance Characteristics of Windows Workflow Foundation”,转载请注明出处。








| 调用方法 | 每个会话里调用方法的次数 |
| CreateUserBasket | 1 |
| AddListItemToBasket | 2 |
| RemoveListItemFromBasket | 1 |
| ReviewOrder | 1 |
| CheckoutOrder | 1 |
| 实现 | 持久点 | 装载点 | 卸载点 |
| 实现 1 和 2 | 6* | 0 | 0 |
| 实现 3 | 6* | 5 | 5 |
| 实现 4 | 6* | 0 | 0 |
| 实 现 | 每秒Web服务请求数 | 工作流服务器CPU使用率 | SQL服务CPU使用率 |
| 实现 1 | 168.3 | 92.9 | 10.8 |
| 实现 2 | 113.4 | 93.9 | 9.2 |
| 实现 3 | 92.7 | 92.8 | 9.0 |
| 实现 4 | 114.8 | 94.3 | 8.1 |
| 实 现 | 工作流状态持久化最大值 |
| 实现 1 | 9.59 KB |
| 实现 2 | 10.47 KB |
| 实现 3 | 8.63 KB |
| 实现 4 | 12.63 KB |


| 测试名称 | 每秒消息数 | 每秒工作流执行次数 | 每秒装载/卸载点数 | 工作流CPU 占用 | SQL的CPU占用 |
| 文档评审 (3个参与者) | 76.2 | 19.05 | 57.13 | 93.9 | 7.05 |
| 文档评审 (3 个参与者)+缺省SQL跟踪设置 | 61.2 | 15.3 | 45.9 | 92 | 32.5 |
| 文档评审 (3 个参与者)+非批处理模式SQL跟踪设置 | 55.2 | 13.8 | 41.31 | 87.8 | 41.25 |
| 规则 | 条 件 |
| R01 | IF Experience == "low" THEN Position="Intern" |
| R02 | IF Experience == "fair" THEN Position="Junior" |
| R03 | IF Experience == "good" THEN Position="Senior" |
| R04 | IF Education == "incomplete" THEN Experience="low" |
| R05 | IF Education == "good" AND YearsWorked > 5 THEN Experience="good" |
| R06 | IF Education == "good" AND YearsWorked <= 5 THEN Experience="fair" |
| R07 | IF Education == "high" AND YearsWorked > 2 THEN Experience="good" |
| R08 | IF Education == "high" AND YearsWorked <= 2 THEN Experience="fair" |
| R09 | IF Degree == "PhD" THEN Education="high" |
| R10 | IF Degree == "Bachelors" OR Degree == "Masters" THEN Education="good" |
| R11 | IF Degree == "None" THEN Education="incomplete" |
| 优先级 | 规则 | 条件 |
| 2 | R09 R10 R11 | IF Degree == "PhD" THEN Education="high" IF Degree == "Bachelors" OR Degree == "Masters" THEN Education="good" IF Degree == "None" THEN Education="incomplete" |
| 1 | R04 R05 R06 R07 R08 | IF Education == "incomplete" THEN Experience="low" IF Education == "good" AND YearsWorked > 5 THEN Experience="good" IF Education == "good" AND YearsWorked <= 5 THEN Experience="fair" IF Education == "high" AND YearsWorked > 2 THEN Experience="good" IF Education == "high" AND YearsWorked <= 2 THEN Experience="fair" |
| 0 | R01 R02 R03 | IF Experience == "low" THEN Position="Intern" IF Experience == "fair" THEN Position="Junior" IF Experience == "good" THEN Position="Senior" |
| 基于顺序(1) | 基于优先级(2) | 平均执行时间(ms) |
| Yes | No | 235.5 |
| Yes | Yes | 192.7 |
| No | Yes | 111.1 |