为什么写入比mysql慢呢

业务上查宽表之前用mysql 千万级的量发现很慢查询速度,所以按操作文档 按快速上手 那里 在单机上模拟部署生产环境集群,安装完毕后切换到TIDB,发现查询速度提升很多效果很明显。但是写入速度 测TPS,发现之前用mysql是400多,换成tidb就200多,请问为什么写入比mysql慢了呢,能解释下原因和改进方法吗

单机上模拟部署生产环境集群一定比mysql慢,需要按官方的分布式部署才能快起来。
另外单机上模拟部署生产环境集群,有3个tikv,实际上一条数据写三分,更加慢了,你部署成一个tikv看看能快点吗

我看最低要求是3个tikv,只部署一个会出问题吗

3个tikv是指部署到3个服务器上,部署单机单硬盘毫无意义,只能测测功能

1 个赞

必须要重新部署吗,可以现在关闭其他两个吗,有这种方法吗

应该需要重新部署,不过这么测意义不大, tidb优势是数据量单表5000万以上,分布式集群跑比mysql有优势,数据量不大或者单机跑没意义的

1.首先单台服务器部署集群,效果不大。服务器性能满足不了要求。建议按照官网配置。2.千万级数据量在单台服务器上集群上测试,查询(读)效果明显,写入效果不如mysql。tidb tikv是算 储分离,pd大脑、不可忽略它们之间网络、传输查询耗时时间,多了些GRPC。3.优化索引, 使用preparedStatement预处理语句、如果写入量较大,可考虑增加tidb缓存有关配置、分批处理。4.如果数据库量不大的话使用分布式数据库的效果优势不明显。。

单机版mysql和tidb做性能测试对比没有意义,单机mysql碾压tidb,tidb解决的是mysql没有的扩展性问题

比单条写入响应时间没有意义,TiDB写放大严重(多副本+rocksdb),加上分布式的存算分离架构。但是TiDB可以通过横向扩展来承受更大并发,承载更多数据,而且还有高可用性

你数据量太少了,高一些几千万上亿的数据测试,几百万,几十万,mysql碾压tidb

几千万上亿的数据测试 读的性能肯定比mysql好吧,写的性能会优于mysql吗

这里的 算 是指的什么呢?存算分离为什么影响写 的性能呢

也是由于mysql,

缓存有关配置一般是改哪里呢,是改配置文件呢还是再navicat这类工具上通过sql语句来修改呢

因为还要从TiDB节点往TiKV节点发吧

比单条写入响应时间没有意义,一般是比什么指标有意义呢

在mysql 客户端 执行语句,热更新。具体看下官方文档吧。了解下基理再根据你的具体情况 再决定是否修改。

你把三个tikv放到三台机器上才会看出来插入性能提升

比单条响应时间对业务来说肯定是有意义的,但是分布式数据库与集中式数据库,那肯定是集中式数据库响应快了,可以比其他的属性啊,比如高并发写入下的延迟情况,整个的吞吐量

要测试对比,必须完全模拟生产环境才有意义,否则数据出来差别太大