12.4.2.4. 优化吞吐量和延迟
						控制客户端应用调用 KafkaConsumer.poll() 时返回的消息数量。
					
						使用 fetch.max.wait.ms 和 fetch.min.bytes 属性来增加消费者从 Kafka 代理获取的最小数据量。基于时间的批处理使用 fetch.max.wait.ms 配置,而基于大小的批处理则使用 fetch.min.bytes 配置。
					
						如果消费者或代理中的 CPU 使用率较高,则可能是因为消费者的请求太多。您可以调整 fetch.max.wait.ms 和 fetch.min.bytes 属性,以便在较大的批处理中发送请求和消息。通过调整较高的吞吐量,可以降低延迟成本。如果产生的数据量较低,您也可以调整更高的值。
					
						例如,如果您将 fetch.max.wait.ms 设置为 500ms,并且 fetch.min.bytes 设为 16384 字节,则当 Kafka 收到来自消费者的获取请求时,它将在达到任一阈值的第一个阈值时做出响应。
					
						相反,您可以调整 fetch.max.wait.ms 和 fetch.min.bytes 属性来降低端到端延迟。
					
... ...
# ...
fetch.max.wait.ms=500 
fetch.min.bytes=16384 
# ...
通过增大获取请求大小来降低延迟
							使用 fetch.max.bytes 和 max.partition.fetch.bytes 属性来增加消费者从 Kafka 代理获取的最大数据量。
						
						fetch.max.bytes 属性设置一次从代理获取的数据量上限,以字节为单位。
					
						max.partition.fetch.bytes 设置每个分区返回的数据量的最大字节数,必须始终大于 broker 或 max.message.bytes 配置中设置的字节数。
					
客户端可消耗的最大内存量计算如下:
NUMBER-OF-BROKERS * fetch.max.bytes and NUMBER-OF-PARTITIONS * max.partition.fetch.bytes
NUMBER-OF-BROKERS * fetch.max.bytes and NUMBER-OF-PARTITIONS * max.partition.fetch.bytes
如果内存用量可以容纳它,您可以增加这两个属性的值。通过在每个请求中允许更多数据,可以提高延迟,因为获取请求的数量较少。
... ...
# ...
fetch.max.bytes=52428800 
max.partition.fetch.bytes=1048576 
# ...