加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_盐城站长网 (https://www.0515zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

MySQL VS MongoDB 你会如何选择?

发布时间:2021-01-12 11:30:24 所属栏目:站长百科 来源:网络整理
导读:副标题#e# 《MySQL VS MongoDB 你会如何选择?》要点: 本文介绍了MySQL VS MongoDB 你会如何选择?,希望对您有用。如果有疑问,可以联系我们。 1. 概述 1.1 背景 数据库几乎是线上业务架构里的核心服务,在海量数据环境下,数据库的读写效率直接影响着一款

4.2 测试环境

  • Dell PowerEdge R410
  • RAM:64G
  • Kernel: 2.6.32
  • MongoDB:3.0.7
  • MySQL:5.5.40
  • Linux OS:CentOS release 6.5 x86_64
  • CPU:Intel(R) Xeon(R) CPU X5650 @2.67GHz / 24 cores

4.3 测试过程

测试的数据量变量名假定为size,分别取值为200w、400w、600w、800w、1000w.

每次使用单进程对单个表压测,每个表均含有4个字段,每次压测时间不超过30分钟.

为了让数据更加符合我们想要的结果,每轮测试完成后,我们都重启mysqld和mongodb实例,并且用下面的方法删除系统cache,释放swap.

#sync — 将脏数据刷新到磁盘
#echo 3 > /proc/sys/vm/drop_caches — 清除OS Cache
#swapoff -a && swapon -a

4.3.1 sysbench

4.3.1.1 准备工作

(1) 创建测试库

mysql> drop database if exists sysbench_test;
mysql> create database if not exists sysbench_test character set utf8 collate utf8_general_ci;

(2) 查看表结构

`id` int(10) unsigned NOT NULL auto_increment,
`k` int(10) unsigned NOT NULL default ‘0’,
`c` char(120) NOT NULL default ”,
`pad` char(60) NOT NULL default ”,
PRIMARY KEY (`id`),
KEY `k` (`k`));

4.3.1.2 只读测试

测试命令:

# ./bin/sysbench –db-driver=mysql –test=oltp.lua –num-threads=1
–oltp_tables_count=1 –oltp-table-size=${size} –report-interval=10
–oltp-dist-type=uniform –rand-init=on –max-requests=0
–oltp-test-mode=nontrx –oltp-nontrx-mode=select
–oltp-read-only=on –oltp-skip-trx=on –mysql-table-engine=innodb
–mysql-socket=/tmp/mysql.sock –mysql-user=root –mysql-host=localhost
–mysql-password=`cat /data/save/mysql_root` –mysql-port=3306
–mysql-db=sysbench_test [ prepare | run | cleanup ]

4.3.1.3 只更新测试

测试命令:

#./bin/sysbench –db-driver=mysql –test=./share/sysbench/update_index.lua
–num-threads=1 –oltp_tables_count=1 –oltp-table-size=${size} –report-interval=10
–oltp-dist-type=uniform –rand-init=on –max-requests=0
–oltp-read-only=off –mysql-table-engine=innodb –mysql-socket=/tmp/mysql.sock
–mysql-user=root –mysql-host=localhost –mysql-password=`cat /data/save/mysql_root`
–mysql-port=3306 –mysql-db=sysbench_test [ prepare | –max-time=1800 run | cleanup ]

4.3.1.4 只插入测试

测试命令:

#./bin/sysbench –db-driver=mysql –test=./share/sysbench/insert.lua –num-threads=1
–oltp_tables_count=1 –oltp-table-size=${size} –report-interval=10
–oltp-dist-type=uniform –rand-init=on –max-requests=0 –oltp-read-only=off
–mysql-table-engine=innodb –mysql-socket=/tmp/mysql.sock –mysql-user=root
–mysql-host=localhost –mysql-password=`cat /data/save/mysql_root` –mysql-port=3306
–mysql-db=sysbench_test [ prepare | –max-time=1800 run | cleanup ]

4.3.1.5 混合模式测试

测试命令:

#./bin/sysbench –test=./share/sysbench/oltp.lua –mysql-host=localhost –mysql-port=3306
–mysql-user=root –mysql-password=`cat /data/save/mysql_root`
–mysql-db=sysbench_test –mysql-table-engine=innodb
–oltp-table-size=${size} –report-interval=10 –rand-init=on –max-requests=0
–oltp-read-only=off –oltp-point-selects=$((size/3)) –oltp-point-inserts=$((size/3))
–oltp-index-updates=$((size/3)) –num-threads=1 –mysql-ignore-errors=all
–oltp-skip-trx=off –oltp_tables_count=1 [ prepare | –max-time=1800 run | cleanup ]

参数含义请参考上面的使用说明章节.

4.3.2 ycsb

4.3.2.1 准备工作

(编辑:网站开发网_盐城站长网 )

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