【问题标题】:How to publish to KDB Ticker Plant from Java effectively如何有效地从 Java 发布到 KDB Ticker Plant
【发布时间】:2015-01-25 11:00:17
【问题描述】:

我们拥有向 KDB Ticker Plant 发布报价的市场数据处理程序。为此,我们使用 exxeleron q java 库。不幸的是,延迟非常高:当我们尝试插入一批记录时需要数百毫秒。您能否建议一些有关 KDB + Java 绑定的延迟提示,因为我们需要快速发布。

【问题讨论】:

    标签: java kdb ticker q-lang exxeleron-q


    【解决方案1】:

    此消息中没有足够的信息来给出完全合格的响应,但是对 Java+KDB 做了同样的事情,它确实归结为消除了可能性。这是常识,真的,没有什么超级技术。

    • 确保您是异步插入
    • 确认是 exxeleron q java 导致了延迟。我不认为那里有 100 毫秒的开销。
    • 验证您的tickerplant 所在的CPU 没有过载。考虑重新调整、核心绑定等
    • 分析您的网络延迟。此外,如果您使用的是 Linux,您可以尝试一些 tcp 调整,例如TCP_QUICKACK
    • 在使用 Java 时,请注意垃圾收集。它是高度可配置的,虽然不能直接控制。
    • 如果您发现 tickerplant 是延迟的来源,您可以将其重新编码以不写入磁盘 - 或获取更快的本地磁盘。

    还有很多建议,但问题有点太含糊了。

    编辑 早在 2007 年,使用旧的(ish)服务器和非常旧的 KDB+ 版本,我们使用 vanilla c.java 管理每秒 90k 行的插入率。那是经过多次上述几点。我相信你现在可以取得更多成就,关键是找到瓶颈所在并一一解决。

    【讨论】:

      【解决方案2】:

      确保发布到票务工厂的数据是批量的,比如等待一点点批量插入说几行数据,但一旦有新记录出现,不要逐行插入

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-23
        • 1970-01-01
        • 2017-05-09
        • 1970-01-01
        • 2017-05-07
        • 1970-01-01
        相关资源
        最近更新 更多