首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StreamInsight和长期运行的查询

StreamInsight和长期运行的查询
EN

Stack Overflow用户
提问于 2015-06-02 23:19:03
回答 2查看 74关注 0票数 0

我有一个构建在StreamInsight 1.2之上的应用程序,它有几个常备查询,在用户定义的操作符中运行一些计算。偶尔,其中一个计算将花费相对较长的时间来完成(几秒钟),而且我看到它阻止了其他查询的执行。我不太熟悉StreamInsight的工作原理,因此我推测所有查询都是在一个线程上运行的。有什么方法可以使查询并行运行吗?

除了以某种方式将查询放在单独的线程上之外,我还可以做其他的事情来防止一个偶尔长时间运行的查询阻塞其他查询吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-04 15:01:10

如果计算有时需要几秒钟,这就是它的本质,并且您正在运行Standard,那么最好的方法就是在计算过程中不要阻塞线程。StreamInsight没有任何内置的东西.这是你分内的工作。从StreamInsight的角度来看,您的UDO需要一些时间。它不知道这是为什么。如果线程被阻塞,在您的UDO返回之前,它无法运行其他任何东西。因此,我将( a)验证您正在运行的是标准版本,如果是,则更改UDO,使其是非阻塞/异步。

票数 1
EN

Stack Overflow用户

发布于 2015-06-03 11:27:19

您使用的是哪个版本的StreamInsight?标准版在一个核心上运行调度程序,而Premium则使用所有可用的核心。至于延迟,如果您的所有查询都依赖于挂起的时间线(通过连接、联合等),那么这就是导致其挂起的原因。事件不会从长期运行的UDO中“释放”给其他流。如果是这样的话,除非您能够以某种方式重构查询,否则您就什么也做不了。我也会开始研究为什么“偶尔”的UDO会花几秒钟。这让我认为UDO有问题,但我不知道它正在做什么的细节,我不能肯定。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30608185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档