运维经典案例学习之GitLab官网在线仓库SSH连接故障排查和经验总结( 五 )

一张统计图

在观察和分析BigQuery中的SD日志时 , 很明显在时间维度上有相当多的聚类 , 在每分钟顶部后的前10秒内出现峰值 , 在开始约5-6秒后达到峰值:

连接错误 , 按秒分组

上图是根据几个小时整理的数据创建的 , 因此实际的事实表明在几分钟和几小时内是一致的 , 甚至可能在一天的特定时间更糟 。 更有趣的是 , 平均峰值是基本负载的3倍 , 所以这意味着我们有扩展问题 , 并且简单地为虚拟机配置\"更多资源\"以满足峰值负载可能会非常昂贵 。 也表明GitLab正在达到一些硬性限制 , 这是潜在系统性问题的第一个线索 。

Cron或类似的调度系统通常只能细分到分钟级别 。 所以很多任务都在分钟或小时的开始或其整数运行 。 如果他们在从GitLab进行git获取之前花费几秒钟做准备工作 , 这将解释连接模式在数秒钟到一分钟内增加 , 从而导致这些时间点的错误累积 。

经验二:显然很多人都正确地设置了时间同步(通过NTP或其他方式) 。

如果他们没有 , 这个问题就不会那么清楚了 。 那么是什么可能导致SSH丢弃连接的呢?

推荐阅读