GitHub 活动正在蓬勃发展!机器人是原因吗?

本文深入探讨了 GitHub 事件趋势、GitHub 事件为何激增以及 GitHub 的架构是否能够处理不断增加的负载。


OSS Insight网站实时展示 GitHub 事件的数据变化。GitHub 事件是由 GitHub 上的用户操作触发的活动,例如评论和分叉存储库。在近七周的时间里,GitHub 事件增加了约 1.5 亿,从 47 亿增加到 48.5 亿。GitHub 活动火爆!

这篇文章深入探讨了 GitHub 事件趋势、GitHub 事件为何激增以及 GitHub 的架构是否能够处理不断增加的负载。

历史数据分析

OSS Insight 数据库包含了自 2011 年以来的所有 GitHub 事件。当我们按年份绘制事件数量时,我们可以看到自 2018 年以来,它们一直在迅速增加。

GitHub 事件趋势

下图显示了 GitHub 中每十亿个事件增长需要多长时间。

达到 10 亿个 GitHub 事件的时间

GitHub 生成 10 亿个事件所需的时间越来越少。第一个十亿事件用了 6 年多,最后一个十亿只用了 13 个月!

GitHub 事件指数级增长背后的秘密

GitHub Actions于 2018 年 10 月发布,从 2019 年 8 月开始支持持续集成和持续交付(CI/CD),开源项目免费使用。因此,托管在 GitHub 上的项目可以自动化自己的开发工作流程,大量自动化相关的 bot 应用程序已经出现在 GitHub Marketplace 上。GitHub 事件的数据增长是否与这些有关?

为了找到答案,我们将事件分为来自人类的数据和来自机器人的数据,并使用以下直方图绘制它们。蓝色列代表人类数据,黄色列代表机器人数据。

机器人事件与人类事件

如您所见,GitHub bot 事件的比例每年都在增加。2015 年,它们仅占所有事件的 1.23%。今年7月初,他们达到了13.2%。为了更清楚地显示机器人事件的数据变化,我们制作了以下折线图。

机器人事件趋势

这个数字表明,自 2019 年以来,机器人事件的增长速度比以前更快。正如TiDB社区贡献者 Mini256 在Love, Code, and Robot — 探索代码世界中的机器人中所说:

目前,粗略统计发现,GitHub 上有超过 95,620 个机器人。这个数字似乎没有那么多,但是等等......

这 9.5 万个机器人账户产生了 6.03 亿个事件。这些事件占 GitHub 上所有公共事件的 12.82%,这些 GitHub 机器人已经服务了超过 1800 万个开源存储库。

机器人在 GitHub 上扮演着越来越重要的角色。许多项目正在将自动化工作交给机器人。我们预计 GitHub 事件在未来会增长得更快。

GitHub 什么时候会达到 100 亿个事件?

到 2022 年底,会有多少 GitHub 活动?我们将预测拟合到 GitHub 历史数据。

人类事件拟合(左)与机器人事件拟合(右)

预计到2022年底,GitHub事件将达到53.6亿。

GitHub事件预测

根据这一预测,2025 年 2 月 GitHub 事件将超过 100 亿次。

2025年GitHub事件将超过100亿

MySQL Sharding 能否支持如此庞大的数据量?

GitHub 使用 MySQL 作为所有非 git 仓库数据的主存储。数据量的快速增长对 GitHub 的高可用提出了很大的挑战。2022 年 3 月,GitHub 发生 3 次服务中断,每次持续 2-5 小时。官方调查报告显示 MySQL 数据库导致中断。在负载高峰期,GitHub mysql1 数据库(GitHub 中的主数据库集群)负载增加。因此,数据库访问达到了最大连接数。这影响了许多 GitHub 服务和功能的性能。

事实上,在过去的几年里,GitHub 已经优化了它的数据库。例如,它添加了集群以支持平台增长,并对主数据库进行分区。但这些改进并没有从根本上解决问题。在不久的将来,GitHub 事件将超过 50 亿,甚至 100 亿。MySQL sharding 能否支持这样的数据激增?

数据源

本文所有分析数据均来自OSS Insight,这是一款基于TiDB的 GitHub 事件数据分析和洞察工具。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章