TPL Dataflow管道设计基础知识

AsV*_*leO 10 .net pipeline task-parallel-library tpl-dataflow

我尝试使用系统资源的最佳使用来创建设计良好的TPL数据流管道.我的项目是一个HTML解析器,它将解析后的值添加到SQL Server DB中.我已经拥有了我未来管道的所有方法,现在我的问题是将它们放在Dataflow块中的最佳方法是什么,以及我应该使用多少块?一些方法是CPU绑定的,其中一些方法 - I/O绑定(从Internet加载,SQL Server数据库查询).现在我认为将每个I/O操作放在单独的块中就像这个方案一样正确: TPL数据流管道

在这种情况下设计管道的基本规则是什么?

Ste*_*ary 6

选择如何划分块的一种方法是确定要独立于其他部分进行缩放的部分.一个好的起点是将CPU绑定部分与I/O绑定部分分开.我考虑组合最后两个块,因为它们都是I/O绑定的(大概是同一个数据库).