我们使用的是Kafka0.10.2.1。该文档规定,即使缓冲区未满,也可以发送缓冲区-
默认情况下,即使缓冲区中有额外的未使用空间,也可以立即发送缓冲区。但是,如果要减少请求的数量,可以设置linger。ms设置为大于0的值。
然而,它还表示,即使逗留时间设置为0ms-,生产者也会尝试批量请求。
请注意,及时到达的记录通常会批处理在一起,即使存在延迟。ms=0,因此在重负荷下,无论采用何种玲珑配置,都会进行配料;但是,如果将其设置为大于0的值,则在不处于最大负载的情况下,以较小的延迟为代价,会导致更少、更高效的请求。
直观地看,任何类型的批处理似乎都需要一些延迟时间,而实现0的延迟时间的唯一方法是使代理调用同步。显然,将延迟时间保持在0似乎不会像阻止发送呼叫那样损害性能,但似乎会对性能产生一些影响。有人能澄清一下上面的文件是怎么说的吗?
如果linger.ms=0
,记录将尽快发送,并且请求很多,这可能会影响性能。通过在中等/高负载下增加linger.ms
来强制等待会优化批处理的使用并提高吞吐量。这也取决于记录大小,批处理中容纳的记录越大越少(batch.size
默认为16Kb)。
基本上,它是请求数量和吞吐量之间的折衷,这实际上取决于您的场景,但是立即发送并不能充分利用批处理和压缩(如果启用),我建议使用不同的linger值运行一些度量。ms
例如0/5/10/50/200
一般来说,我会建议设置linger。太太
参考资料:
KIP-91
- cloudurable的精彩教程
- 官方文件v0。10.2
文档说,即使你将逗留时间设置为0,你可能最终会有一点点的批处理负载,因为记录被添加到发送速度比发送线程可以调度它们的速度要快。这个设置是为了最小的延迟而优化的。如果你真正关心的性能指标是吞吐量,你应该增加一点逗留时间来批处理更多的记录,这就是文档想要的。在这种情况下,与其说是同步发送。更深入的信息
我试图在akka流中的组合下创建以下示例: akka流网站上说: 生成的蓝图是一个,这意味着它接受字符串作为其输入,当具体化时,它将创建类型的辅助信息(当在Source或Flow上链接操作时,辅助信息的类型-称为“具体化值”-由最左侧的起点给出;因为我们想保留接收器必须提供的东西,所以我们需要说)。 但是,当我想把保留在左边时,我试过: 但它根本不编译。 我也不明白: 由最左边的起点给出 最左边的
我只需要在Python中舍入浮点数的最后2个正数 EX: 0.000000302329303- 这是否可能以类似圆形的简单方式实现?
公共类LogIntoapp{ 在我的登录方法中,我有:System.SetProperty(“webdriver.chrome.driver”,“c:/drivers/chromedriver.exe”);WebDriver驱动程序=新ChromeDriver(); 以便在调用AddAccountData时,需要持久化该驱动程序以继续导航。我不想在我的第二种方法中创建一个新的web驱动器。希望我不
问题内容: 引用docs.python.org: “传递给Python脚本的命令行参数列表。是脚本名称(是否依赖于操作系统,这是否是完整路径名)。如果命令是使用解释器的命令行选项执行的,则设置为字符串,如果没有脚本名传递给Python解释器,为空字符串“。 我是否缺少某些内容,或者总是返回脚本名称,并且必须使用? 我正在GNU / Linux上使用Python 3.2进行测试。 问题答案: 不,如
让事件持续发生一段时间 用法 “保持”节点可以: 保持输入的值,直到另一个“no”没有值出现 在一段时间内保持输入的值不变 让输入逐渐的变化 Your browser does not support the video tag. 案例:小台灯 功能:按下按钮后松开手,灯亮起5s后才会灭 工作原理 你可以从配置项的3种模式中任选1个: 保持直到改变:输入将会被保持,直到有另一个输入进来(例如一张伤
问题内容: 我在Oracle过程中使用诸如“ where 0 =0”之类的语句时有些困惑?有人可以澄清一下吗?即使我们进行动态选择,即使在查询中附加了实际条件,为什么还要添加此语句呢?条件会否影响结果集?..我经历了如何选择列包含字符串中任何单词的所有行?但我完全理解使用“ where 0= 0”的原因。有人可以给我使用这种条件的正确理由吗? 提前致谢..;) 问题答案: 使用动态sql时,可能需