被问到 MySql 的问题,人家问我不考虑索引等情况,MySql insert 每秒能达到多少,我回答说应该几百到几千吧写硬盘应该不会太快,对方说不对,能达到 10 万,我对此有点疑惑,看有的网友说高性能 MySql 中写测试读的 QPS 最大 8000 ,搜到的信息也确定不了什么情况下能有这个吞吐量,不知有没有大佬能给小弟解答一下,真能达到 10 万么?还是需要特殊条件?谢谢~
被问到 MySql 的问题,人家问我不考虑索引等情况,MySql insert 每秒能达到多少,我回答说应该几百到几千吧写硬盘应该不会太快,对方说不对,能达到 10 万,我对此有点疑惑,看有的网友说高性能 MySql 中写测试读的 QPS 最大 8000 ,搜到的信息也确定不了什么情况下能有这个吞吐量,不知有没有大佬能给小弟解答一下,真能达到 10 万么?还是需要特殊条件?谢谢~
|
F281M6Dh8DXpD1g2Aug 8, 2023
1
我有一个阿里云的 mysql rds 峰值写入过 2w qps,我看还有 50%的剩余内存,应该不是上限
你自己去阿里云上买个大内存的 mysql 试试呗,基本上 buffer 用完了就是上限了 偷偷告诉你国产数据库厂家测 qps 都用的 256g 大内存的节点,内存比数据集还大是现在的基本操作 |
|
w8123Aug 8, 2023
2
batch insert 应该是可以支持 10w 这个量级的。另外如果表非常简单,没有多余索引,支持的 tps 肯定会高一些
|
|
hefishAug 8, 2023
3
1 亿亿次
|
|
4
@liprais 谢谢
|
|
5
@w8123 谢谢
|
|
6
@hefish 这是要起飞的速度啊。。。
|
|
lschoAug 8, 2023
7
不太懂,如果不加硬件限制,这个问题有意义吗
|
|
idealhsAug 8, 2023
8
不谈硬件就问 MySQL?
|
|
dodeAug 8, 2023
9
批量插入很快,每秒 10w 小意思
|
|
hefishAug 8, 2023
10
|
|
hongfsAug 8, 2023
11
问完这个,不问问主键用完了怎么办吗。。。
|
|
12
@hongfs 没有问。。。
|
|
13
@dode 谢谢
|
|
difAug 9, 2023
15
用 SSD 会更快,但一般都会以数据安全(没钱)为由不给你配 ssd 。
|
|
windsoundAug 9, 2023
16
各种影响因素很多,mysql 版本,机器配置。
|
|
qingbuAug 9, 2023
17
insert values 每次插入 500 行,在不考虑冲突的情况下,并发情况下的写入很快的。单线程大概能跑 2-3w ,多线程 10w+没问题。但是插入速度会被很多因素影响,比如数据类型和数据的复杂程度。还比如一般 MySQL 都是主从,主库扛得住写,但是从库大概率会有主从延迟
|
|
18
@qingbu 谢谢
|
|
git00llAug 9, 2023
19
不能达到 10w 吧,我用 aws rds 测试,批量插入也就在 5000 左右,不过表中有 6 个索引
|
|
SuperheroesAug 9, 2023
20
表除了主键,不带索引,将语句限制( max_allowed_packet )改大点,batch insert 轻松到 10W (硬件性能要好),不要小看 mysql
|
|
SuperheroesAug 9, 2023
21
@Superheroes 还需要用 myisam 引擎
|
|
22
@Superheroes 请问用 innodb 就不行了么?
|
|
SuperheroesAug 11, 2023
23
@zhangkunkyle innodb 不行,innodb 机制限制了写入速度
|
|
24
@Superheroes 那也就是说用 innodb 的话就一般来说达不到 10W 量级了?
|
|
zjpAug 13, 2023
25
可以挂载到 ramdisk 吗
|
|
SuperheroesAug 15, 2023
26
@zhangkunkyle 堆硬件应该可以,没试过
|