10bet网址
MySQL集群NDB 8.0
相关的文档10bet官方网站 下载这个摘录
PDF (Ltr)- 4.6 mb
PDF (A4)- 4.6 mb


MySQL集群NDB 8.0// 报告在集群日志事件缓冲区

6.2.3事件缓冲区报告集群中的日志

NDB使用一个或多个内存缓冲区的数据节点接收到的事件。有一个这样的缓冲Ndb对象订阅表事件,这意味着通常有两个缓冲区mysqld执行二进制日志(一个缓冲模式事件,一个事件)的数据。每个缓冲区包含时代的事件。这些事件包括操作类型(插入、更新、删除)和行数据(之前和之后的图片+元数据)。

NDB产生集群中的消息日志来描述这些缓冲区的状态。虽然这些报告出现在集群日志,他们指的是缓冲区API节点上(与大多数其他集群日志消息,所生成的数据节点)。

集群中的事件缓冲区日志报告日志使用这里所示的格式:

节点node_id:事件缓冲区状态(object_id):使用=bytes_used(percent_used% alloc) alloc =bytes_allocated(percent_alloc%的max) max =bytes_availablelatest_consumed_epoch =latest_consumed_epochlatest_buffered_epoch =latest_buffered_epochreport_reason =report_reason

字段组成这个报告列出,与描述:

  • node_id:节点的ID报告源自哪里。

  • object_id:身份证Ndb对象报告源自哪里。

  • bytes_used:所使用的缓冲区的字节数。

  • percent_used:比例的分配使用的字节。

  • bytes_allocated:分配给这个缓冲区的字节数。

  • percent_alloc:可用字节数的使用比例;不打印ndb_eventbuffer_max_alloc= 0(无限)。

  • bytes_available:可用的字节数;这是0,如果ndb_eventbuffer_max_alloc是0(无限)。

  • latest_consumed_epoch:最近消费时代完成。(在NDB API的应用程序中,这是通过调用来完成的nextEvent ()。)

  • latest_buffered_epoch:时代最近缓冲缓冲区(完全)事件。

  • report_reason:使报告的原因。可能的原因在本节所示。

可能原因报告中描述下面的列表:

  • ENOUGH_FREE_EVENTBUFFER:事件缓冲区有足够的空间。

    LOW_FREE_EVENTBUFFER:事件缓冲区不足在自由空间。

    自由比例阈值水平触发这些报告可以通过设置调整ndb_report_thresh_binlog_mem_usage服务器变量。

  • BUFFERED_EPOCHS_OVER_THRESHOLD:是否缓冲时期的数量已经超过了阈值配置。这个数字的区别是最新的时代,已经全部收到,最近被消耗的时代(在NDB API的应用程序中,这是通过调用来完成的nextEvent ()nextEvent2 ())。报告生成的每一秒,直到缓冲时期的数量低于阈值,可以通过设置调整ndb_report_thresh_binlog_epoch_slip服务器变量。您还可以调整阈值在NDB API应用程序中通过调用setEventBufferQueueEmptyEpoch ()

  • PARTIALLY_DISCARDING:事件缓冲区内存是精疲力竭,是100%的ndb_eventbuffer_max_alloc已经被使用。任何部分缓冲时代缓冲完成甚至是使用超过100%,但任何新时代收到被丢弃。这意味着差距发生的事件流。

  • COMPLETELY_DISCARDING:没有缓冲的时代。

  • PARTIALLY_BUFFERING:缓冲免费比例差距已经达到阈值后,可以设置的mysql客户端使用ndb_eventbuffer_free_percent服务器系统变量或在NDB API应用程序通过调用set_eventbuffer_free_percent ()。新时代缓冲。时代不能完成将被丢弃的差距。

  • COMPLETELY_BUFFERING:所有时代收到正在缓冲,这意味着有足够的事件缓冲区内存。事件流的差距已经关闭。