Google bigquery Google Bigquery流媒体插入的随机超时/连接错误

Google bigquery Google Bigquery流媒体插入的随机超时/连接错误,google-bigquery,sidekiq,Google Bigquery,Sidekiq,我们已经开始评估Bigquery的流式插入功能,以实现大容量事件日志记录。目前,我们正在生产环境中运行测试工作负载。 使用此解决方案后,我们立即出现以下错误: “执行过程中遇到错误。重试可能会解决此问题。” 在阅读了中的相关内容后,建议使用基于队列的系统。因此,我们移动到一个具有指数回退重试功能的线程。在这里,我们每1秒或当批处理大小达到1MB(1MB)时(以先发生的为准)启动一个新的工作线程 现在,, 我们得到两个错误: 网络时间错误,我们在为每一行指定时间后重试,但文档中说,重复数据消除只

我们已经开始评估Bigquery的流式插入功能,以实现大容量事件日志记录。目前,我们正在生产环境中运行测试工作负载。

使用此解决方案后,我们立即出现以下错误: “执行过程中遇到错误。重试可能会解决此问题。”

在阅读了中的相关内容后,建议使用基于队列的系统。因此,我们移动到一个具有指数回退重试功能的线程。在这里,我们每1秒或当批处理大小达到1MB(1MB)时(以先发生的为准)启动一个新的工作线程

现在,, 我们得到两个错误:

  • 网络时间错误
    ,我们在为每一行指定时间后重试,但文档中说,重复数据消除只持续1分钟,但如果采用指数回退,我们仍然可以在数据库中插入重复记录,这是正常的,但不太理想
  • 无法访问网络-连接“www.googleapis.com”端口443的(2)

  • 在出现这些错误时,我们会以指数退避的方式重试,但我想知道为什么会出现错误&我们如何将它们最小化

    从您随附的图片中可以看出,错误率非常低。您确定您的错误不是您自己的基础结构路由失败造成的吗?由于它的接缝,错误没有达到BQ计数。在这里阅读我的建议:不,没有其他影响。所以看起来不像是网络问题。当处理发生在队列中时,我们在每个线程上打开一个到BQAPI的新连接。这可能是原因吗?可能是更低的原因,你检查过你的Linux限制了吗?也许打开文件?或者大的连接在时间上\u等待?SSL握手可能会因为错误的同步时钟等原因而中断。任何不符合99.95%正常运行时间率的问题都是非常不寻常的,因此它应该在其他人处可见,我们的项目运行平稳,因此可能不会出现永久性问题。尝试设置一个简单脚本,只在某些表中插入一个虚拟简单行,也许你可以用你目前使用的其他语言编写这个脚本,通常这些库在它们自己的连接池/线程管理方面会有一些问题。正如我从你附带的图片中看到的,错误率非常低。您确定您的错误不是您自己的基础结构路由失败造成的吗?由于它的接缝,错误没有达到BQ计数。在这里阅读我的建议:不,没有其他影响。所以看起来不像是网络问题。当处理发生在队列中时,我们在每个线程上打开一个到BQAPI的新连接。这可能是原因吗?可能是更低的原因,你检查过你的Linux限制了吗?也许打开文件?或者大的连接在时间上\u等待?SSL握手可能会因为错误的同步时钟等原因而中断。任何不符合99.95%正常运行时间率的问题都是非常不寻常的,因此它应该在其他人处可见,我们的项目运行平稳,因此可能不会出现永久性问题。尝试设置一个简单脚本,只在某些表中插入一个虚拟简单行,也许可以使用您目前使用的其他语言编写该脚本,但库本身的连接池/线程管理通常存在一些问题。