加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

反驳"MySQL InnoDB (不行)的性能问题",千万级别记录来测试说明

发布时间:2016-01-15 20:42:58 所属栏目:MySql教程 来源:网络整理
导读:在 JavaEye 上看到一篇对 MySQL FUD(Fear, uncertainty and doubt) 的文章 用MySQL InnoDB Benchmark 性能测试来说明 http://www.javaeye.com/topic/34676 文中
在 JavaEye 上看到一篇对 MySQL FUD(Fear, uncertainty and doubt) 的文章

用MySQL InnoDB Benchmark 性能测试来说明

http://www.javaeye.com/topic/34676

文中提到:"InnoDB 的磁盘性能很令人担心,MySQL 缺乏良好的 tablespace 真是天大的缺陷! ……网上有用户反映存在同样的插入性能问题,百万行记录插入之后,插入速度下降到了 1/30,从开始的 1600行/秒衰退到 50行/秒……"

50行/秒这么慢我从来没见过,见也没人反驳,所以自己再专门验证一下。

Tim's 环境:

MySQL 5.0.26 x86_64

Linux x86_64

iddata 文件大小17G,未使用innodb_file_per_table分表选项

表1: 1000万行左右,表大小 2.2G,含主键有6个索引字段

表2: 3000万行左右,表大小 6.3G,含主键有6个索引字段

MySQL还有其他一些数据也在iddata中,但测试时候其他数据未访问。

MySQL Server Hardware 环境

双 XEON 3G

4G 内存, SCSI 硬盘

非专业非名牌,普通组装的服务器。

表结构就是一般的用户表,包含 int, varchar, datetime 字段类型,无 text,blob 类型字段。

单行长度 0.1K 左右

对表1测试2分钟插入操作,在1千万的表中每个调用插入1行,通过Java JDBC在另外一台测试机上调用 。

服务器 CPU 30%

JDBC Result:

INSERT OK /ERR: 73824/0

Java HEAP: 7.12MB of 63.56 MB (11.2%) used

TIME elapse(sec): 129

AVG平均/CUR当前/MAX最大 Inserts/SEC: 572/620/620

再测试一个3000万的表,通过Java JDBC在另外一台测试机上调用。

可能上一个测试2分钟会让人觉得没有说服力,3000万的表二就测试久一点吧。测试了10多分钟,又插 入了100万条新的数据

一个调用只插入1行,8个线程。使用了连接池。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读