关于7.1版本中storage.engine参数配置为partitioned-raft-kv

v7.1.0版本,数据量10T左右,每个region 192M,有几百个region,配置storage.engine = partitioned-raft-kv,tikv所有节点共计几个个rocksdb实例,rocksdb实例太多,反而性能不好啊

这种情况下,单个region好像默认是10GB了

region大小可以通过参数控制,我配置192M,文档说使用tiflash,不建议region大于256M

在处理 TiDB 集群中的性能问题时,尤其是在大型数据集和多个 TiKV 节点的情况下,有几个因素需要考虑,您可以采取一些措施来提高性能:

硬件配置:确保您的硬件资源(例如 CPU、内存和存储)已得到充分配置以处理工作负载。 考虑磁盘 I/O、网络带宽和延迟等因素。 监控资源利用率以确定任何瓶颈。

TiDB 配置:根据您的工作负载特征,查看和优化 TiDB 配置参数。 tidb_index_lookup_concurrency、tidb_index_serial_scan_concurrency 和 tidb_hash_join_concurrency 等参数会显着影响查询性能。 根据您的特定工作负载要求调整它们。

TiKV 配置:调整 TiKV 配置参数以优化性能。 raftstore.apply-pool-size、raftstore.store-pool-size 和 rocksdb.max-sub-compactions 等参数会对 TiKV 性能产生重大影响。 适当调整这些参数的大小有助于提高性能。

放置规则:考虑检查和调整集群中的放置规则,以确保区域在 TiKV 节点之间的最佳分布和负载平衡。 区域分布不平衡会导致性能问题。 使用 pd-ctl 工具检查区域分布并在必要时进行平衡。

监控和指标:使用 Prometheus 和 Grafana 等工具为 TiDB 集群设置监控和指标收集。 监控关键指标,例如 CPU 使用率、内存使用率、磁盘 I/O、网络流量和 TiKV 线程池利用率。 这将帮助您识别性能瓶颈并解决问题。

慢查询分析:识别和优化执行缓慢的查询。 分析查询计划,识别任何缺失的索引,并优化查询执行路径。 使用 TiDB 的内置 EXPLAIN 语句来了解查询是如何执行的,并确定需要改进的地方。

数据分区:考虑根据数据访问模式和查询要求对大型表进行分区。 分区可以通过减少每个查询需要扫描的数据量来提高查询性能。

TiDB 升级:考虑升级到最新版本的 TiDB。 较新的版本通常包括性能改进和错误修复,可以提高整体集群性能。

数据模型优化:审查您的数据模型和模式设计。 确保适当的索引到位以支持查询性能。 根据访问模式和查询要求规范化或非规范化您的数据结构。

这么大么。我们公司的很小。