单机换成tiup集群之后,速度慢了好几倍

好的,请分别登录到 4000 以及 4.0 rc 的 4001 端口执行相同的 sql 看下执行耗时, 从两个执行计划来看,执行耗时相差不大,所以可能不是慢在 tidb 侧:

1) 登录 tidb server

2)使用 mysql --host tidb_server_ip --port port_num -u root

3)执行 sql,并上传两个环境的执行耗时

4)如果要提高执行效率,请评估在 username 列添加索引的可行性 ,并且将 sql 改为下述形式,避免索引被屏蔽:

select * from table where username like ‘Abc%’;

这是4.0RCimage 。下面这是单机image 。我这边是部署在内网,同一网段。不存在网络问题

你好。麻烦提供下下面的信息:

  1. 单机的版本号以及拓扑,4.0 rc 的拓扑
  2. 麻烦提供一下两边的 TiKV 配置。具体可以提供下 {Tikv_deplay_path}/last_tikv.toml

你当前的环境,还是tikv都在一台机器吗? 这样还不如单机呢? 麻烦你按照之前的建议,把tikv,pd,tidb 分开到不同的服务器,先尽量配置利用好,我们再来分析性能问题,不然性能都没法利用。

好的。

我tikv只有一台服务器是SSD盘啊

tikv必须要SSD盘吗

我现在缩容一个tikv,会丢失数据吗

当前只有两个tikv,没法缩容了,可以先扩容一个,再缩容。 tikv还是建议所有的实例使用相同的硬盘,不然你有的实例快,有的慢。 raft协议需要半数以上写入,按照3副本,最少也要两个写入成功。

我把原来的tikv缩容一个,是不是数据就没了

而且也缩容不了

当前没法先缩容,你要先扩容之后,才能缩容。 保证你的tikv大于半数节点。

我可以先部署一个tikv,以后再扩容吗

我现在盘不够

我现在只有3台机器用于集群。其中一台机器,性能相对比较好,是SSD盘。你说tikv不能再一台机器上。但是我看文档有个绑核。能解决这个问题吗。如果不行,我将某个tikv移到和tidb放在同一服务器,但是这个是机械硬盘。能行吗?

  1. 绑核对于 TiDB 来说是有性能提高的,对于 TiKV 来说没有绑核的要求。
  2. 不建议 TiKV 的机器使用不同规格性能的硬盘,这样有可能会导致性能低的机器成为瓶颈。

好的。那如果我以后连接很大,是扩容pd可以解决吗

如果应用访问的连接增加后续可以选择扩容 TiDB 以及在 TiDB 前面加上 LB 以分摊压力。