早先已经做过一次OLTP性能对比测试:SAS vs SSD各种模式下MySQL TPCC OLTP对比测试结果,这次做OLAP对比测试。
对比测试结果见下:
SSD设备相应的性能提升比例:
测试环境:
早先已经做过一次OLTP性能对比测试:SAS vs SSD各种模式下MySQL TPCC OLTP对比测试结果,这次做OLAP对比测试。
对比测试结果见下:
SSD设备相应的性能提升比例:
测试环境:
之前在群里说要整理基准测试分享文档,近期花了几天时间终于整理完毕,上传到slideshare上:服务器基准测试-叶金荣@CYOU-20121130.pdf,本意是让圈内人士在做服务器基准测试时的标准、参数、方法能尽可能统一,相互沟通时也能有共同语言,有更多可比性。非专业人士整理,欢迎拍砖,O(∩_∩)O哈哈~
更新:微盘下载地址:http://t.cn/zjpQMcH
tpch是TPC(Transaction Processing Performance
Council)组织提供的工具包。用于进行OLAP测试,以评估商业分析中决策支持系统(DSS)的性能。它包含了一整套面向商业的ad-hoc查询和并发数据修改,强调测试的是数据库、平台和I/O性能,关注查询能力。
官网:http://www.tpc.org/tpch
下载地址:http://www.tpc.org/tpch/spec/tpch_2_14_3.tgz
或
http://www.tpc.org/tpch/spec/tpch_2_14_3.zip
1、编译安装
下载源码包,解压缩,然后:
cp makefile.suite makefile
修改makefile文件中的CC、DATABASE、MACHINE、WORKLOAD等定义:
################ ## CHANGE NAME OF ANSI COMPILER HERE ################ CC = …[获取更多]
pig是个啥东东?
官网:http://zlib.net/pigz
一句话简介:
A parallel implementation of gzip for modernmulti-processor, multi-core machines。
简单的说,就是支持并行的gzip。废话不多说,开始测试。
pig默认用当前逻辑cpu个数来并发压缩,无法检测个数的话,则并发8个线程。
一、测试压缩包文件1 压缩前 -rw-r--r-- 1 root root 2474772480 Dec 3 19:54 dbs.tar 1、gzip测试 压缩耗时,CPU最高:101.6% real 2m18.042s user 2m10.204s sys 0m6.876s 解压缩耗时,CPU最高:101.6% real 0m26.756s user 0m20.175s sys 0m6.580s 压缩后 -rw-r--r-- 1 root root 2349563863 Dec 3 19:54 dbs.tar.gz 2、pigz测试 并发8线程(默认): 压缩耗时,CPU最高:832% real 0m21.710s user 2m31.229s sys 0m9.101s 解压缩耗时,CPU最高:199% real 0m13.239s user …[获取更多]
MySQL 5.6测试之Replication
一、简述
MySQL 5.6版本相比以前新增了很多令人激动的特性,简要介绍见:转:MySQL 5.6新特性。性能方面已经做过测试了,详细请见:MySQL 5.6 vs MariaDB 5.5 vs Percona(5.5 & 5.6)
之TPCC性能测试。接下来继续测试其Replication(主从复制)功能,看看是否依旧能让人激动。
二、测试环境
2.1 测试环境和之前一样,详细见下图:
2.2 自动化测试脚本 MySQL 5.6 vs MariaDB 5.5 vs Percona(5.5 & 5.6) 之TPCC性能测试 文中已提及,下载地址: …
[获取更多]
一、简述
是由原来 MySQL 的作者 Michael Widenius
创办的公司所开发的免费开源的数据库服务器。MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的
XtraDB,InnoDB的变体。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX
存储引擎。(摘自:http://baike.baidu.com/view/2521908.htm)
简单的说:MariaDB是MySQL的一个变种,可以作为官方MySQL版本的一个替代品,并且在一些特性上做了增强。
MariaDB的官网见:http://mariadb.org
二、测试环境
2.1 详细测试环境见下图:
2.2 自动化测试脚本例子见下:
#!/bin/sh #export LD_LIBRARY_PATH=/usr/local/mysql/lib/ . ~/.bash_profile >/dev/null 2>&1 BASEDIR="/home/tpcc-mysql" cd $BASEDIR mkdir -p $BASEDIR/logs exec 3>&1 4>&2 1>> tpcc.log …[获取更多]
一、准备工作
自从2009年测试MySQL Cluster
7.0之后,就没怎么关注过它,发展实在太慢了,还有很多不靠谱的地方。前阵子退出7.2.7版本后,看了看新特性介绍,号称性能比以往版本高了很多,于是再关注并进行测试。
部署过程不多说,下载PRM包后直接安装即可。共10个节点,其中1个管理节点,其他9个节点同时作为数据和SQL节点,所有节点服务器配置图:
MySQL Cluster管理节点关键配置见下:
# #ndb config.ini # [TCP DEFAULT] SendBufferMemory=32M ReceiveBufferMemory=32M [NDB_MGMD DEFAULT] PortNumber=1186 Datadir=/home/cluster/mgm [NDB_MGMD] NodeId=1 Hostname=x.x.x.x LogDestination=FILE:filename=ndb_1_cluster.log,maxsize=10000000,maxfiles=6 ArbitrationRank=1 [NDBD DEFAULT] NoOfReplicas=3 …[获取更多]
前言:MySQL发展到今天,InnoDB引擎已经作为绝对的主力,除了像大数据量分析等比较特殊领域需求外,它适用于众多场景。然而,仍有不少开发者还在“执迷不悟”的使用MyISAM引擎,觉得对InnoDB无法把握好,还是MyISAM简单省事,还能支持快速COUNT(*)。本文是由于最近几天帮忙处理discuz论坛有感而发,希望能对广大开发者有帮助。
1. 快速认识InnoDB
InnoDB是MySQL下使用最广泛的引擎,它是基于MySQL的高可扩展性和高性能存储引擎,从5.5版本开始,它已经成为了默认引擎。
InnODB引擎支持众多特性:
a) 支持ACID,简单地说就是支持事务完整性、一致性; b) 支持行锁,以及类似ORACLE的一致性读,多用户并发; c) 独有的聚集索引主键设计方式,可大幅提升并发读写性能; d) 支持外键; e) 支持崩溃数据自修复;
…
[获取更多]
在各种测试组合方案中,组合10(组合10:SSD * 2, RAID 0,
XFS,WB,nobarrier,noop)的综合性能最高,因此以它为基准,其他方案与其对比,下表是各组合和组合10的对比:
相应的对比线形图:
测试环境:
结语
1. 在xfs文件系统模式下,SSD设备的性能是SAS设备性能的6 ~
13倍,平均:9倍,在并发16线程时最高(和MySQL的内部机制有关);
2.
SSD设备使用noop模式的IO调度器效率最高(关于Linux内核IO调度器详见:http://www.redhat.com/magazine/008jun05/features/schedulers/);
3.
xfs设置为nobarrier相比启用barrier效率高(关于barrier介绍详见:http://xfs.org/index.php/XFS_FAQ#Write_barrier_support);
4. 建议仍旧启用阵列卡的WB策略以提高整体阵列随机IO性能;
5. …
情景:
在DELL 5/i或6/i阵列卡中,有2块146G盘(插槽号0 ~ 1),4块300G盘(插槽号2~5),共6块。
现在想要创建raid 10阵列,那么最后阵列总容量是多大呢?
解析:
按照常规理解,这种模式下,应该是以最小硬盘的容量为准,既146*3 = 438G的容量。
但实际上,却并非如此,而是:146+300*2 = 746的容量,这是为什么呢?
其实产生这个结果是个凑巧,因为此时的阵列是这样做的:
0 ó(镜像) 1 => 条带1 2 ó(镜像) 3 => 条带2 4 ó(镜像) 5 => 条带3
磁盘0和1做镜像后在成为条带1,再和后面的其他条带共同组成raid 10阵列。
在这种情况下,如果操作系统的磁盘空间利用率超过146G后,剩下的文件在阵列卡中条带的结果只会分配到后面2个条带中,
…