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

问题的原因找到了 , 那么如何解决呢?我们可以调大MaxStartups配置 , 但是这么做的代价是多少呢?这会增加一小部分内存 , 但它会有其他影响?不能光靠推测 , 所以需要实际测试 。 首先是将值MaxStartups提高到50% , 调整为150:30:300 。 该配置带来很大积极作用 , 并且没有明显的负面影响(例如CPU负载 , 负载等):

看上图 , 注意到01:15之后错误数大幅减少 。 明显已经消除了很大一部分错误 , 尽管仍然存在非常微不足道的数量 。 图形显示聚集在一致的高峰的时间 , 每隔30分钟 , 15分钟和10分钟 。 重要的时刻是最高峰 , 这也跟实际使用相吻合 , 很多人会安排他们的任务在每小时0分钟的时间内每小时运行一次 。 这一发现更加证实事实 , 由于预定的工作导致连接峰值 , 连接错误是由于最大连接数的限制 。

没有明显的负面影响 , SSH服务器上的CPU使用率保持不变 , 没有任何明显的负载增加 , 通过简单配置就释放了之前被删除的很多连接 。

限速

但是并不能一味的简单调高MaxStartups配置 , 虽然通过配置增加50%的数值 , 但继续增加这一数字也不行 , 还有其他可以做优化的事情 。

推荐阅读