首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从多个线程发布到KDB

从多个线程发布到KDB
EN

Stack Overflow用户
提问于 2015-01-29 12:43:29
回答 1查看 545关注 0票数 0

我们有一个具有多个线程的应用程序,它重用了一个KDB连接。从性能的角度来看,打开多线程KDB实例的多个连接来加快进程是不是很好?同样有趣的是,如果我们从多个线程发布到单个连接,会有任何潜在的负面影响:我们有java应用程序并使用exxeleron java库。

EN

回答 1

Stack Overflow用户

发布于 2015-01-29 23:23:39

除了到KDB的单套接字连接本身不是很耗费资源这一事实之外,我认为最终您会发现磁盘寻道和内存分配是目前为止最大的瓶颈,而不是您有多少到数据库的连接。也就是说,既然你问了..。

让我们继续简单的假设:

  1. KDB数据库是一个历史数据库。这一端的多线程选项是负端口号和-s,它们不能设置为只有一个进程,让我们称其为A,该进程访问

使用负端口号,您将获得多线程输入队列。因此,如果A能够执行多个查询,则可以同时分派这些查询,并且KDB+不会阻塞每个调用。但是,A需要能够以某种方式将传入的结果流标识为对特定查询的响应。我想您可以像查询(<queryId>;<actualQuery>)一样查询它,并解析第一个元素以进行标识。然而,在这个用例中,听起来您应该有多个A

使用-s,您可以获得多线程查询,因此您必须编写这样的Q查询(有时,您可以免费获得它,比如跨分区查询)。您将阻塞每个调用,因此拥有多个A并没有真正的优势。

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

https://stackoverflow.com/questions/28207145

复制
相关文章

相似问题

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