【交流贴】什么情况下需要扩容缩容?

社区中经常发现 需要扩容,缩容的问题挺多的?

问题1:
请问什么时候需要扩容?

问题2:
请问什么时候需要缩容?

问题3:
为什么需要先扩容在缩容?

1.扩缩容分为计算和存储资源二方面。根据业务场景,比如有大型活动,比平常的并发会高很多,可以考虑增加tidb server节点,活动结束后进行缩容。

2.存储空间或者IO性能不足,考虑Tikv的扩容。

在技术上实现来说,TiDB的各个组件根据需要都是支持扩缩容的。这里站在TiDB的角度,用不严谨的方式简单讲下,知道意思就好。

1.什么时候需要扩容?
举个不恰当的例子意会一下,现在手里有一把小刀,准备要杀一头牛,得换一把大刀才行,这个换的过程就是扩容。
当业务访问量变大(如双11活动),比如1天的访问量从1万变为100万,数据库可能就处理不过来(假设应用侧没问题),用户可能访问很卡很慢,所以为了提高处理能力就需要增加实例个数(加机器、加内存、加磁盘等),这个增加的过程就叫扩容操作。具体要扩容哪个组件,得管理员提前判断是计算(TiDB)、还是存储(TiKV)、或调度(PD)有瓶颈问题。

2.什么时候要缩容?
杀鸡焉用牛刀。
比如TiDB集群可以处理每天100万的请求,但是现在访问量很低,每天只有1万,就把多余的资源(实例、机器、磁盘、内存)给回收,这个回收的操作可以理解为就是 缩容。

3.为什么要先扩容再缩容?
扩容和缩容是两个独立的操作,扩容之后不一定要缩容,根据访问量或未来接入的业务量而定。
有些场景,比如预感到业务量会长期增加,在扩容后就会一直被使用了,不会缩容。
有些场景,比如是临时应付活动而做的扩容,当活动结束后,临时扩的资源要回收,这时就要缩容。
总之,二者没有必然的先后联系,具体要做哪个操作完全由业务而定。

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。