Archive

Posts Tagged ‘mysql’

低成本和高性能MySQL云数据的架构探索

October 25th, 2012 9 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: 低成本和高性能MySQL云数据的架构探索

原文地址:http://www.alibabatech.org/article/detail/3405/0?ticket=d69f07f8-b60b-43f8-9572-7d795bb8429d
作者:鸣嵩
PPT这里下载:

该文已在《程序员》2012年10期上发表。

MySQL作为一个低成本、高性能、可靠性好而且开源的数据库产品,在互联网企业应用非常广泛,例如淘宝网有数千台MySQL服务器的规模。虽然近两年来NoSQL的发展很快,新产品层出不穷,但在业务中应用NoSQL对开发者来说要求比较高,而MySQL拥有成熟的中间件、运维工具,已经形成一个良性的生态圈等,因此从现阶段来看,MySQL占主导性,NoSQL为辅。
在过去一年时间里,我们(阿里集团核心系统数据库团队)在MySQL托管平台方向做了大量工作,设计和实现了一套UMP(Unified MySQL Platform)系统,提供低成本和高性能的MySQL云数据服务。开发者从平台上申请MySQL实例资源,通过平台提供的单一入口来访问数据,UMP系统内部维护和管理资源池,以对用户透明的形式提供主从热备、数据备份、迁移、容灾、读写分离、分库分表等一系列服务。平台通过在一台物理机上运行多个MySQL实例的方式来降低成本,并且实现了资源隔离,按需分配和限制CPU、内存和IO资源,同时支持不影响提供数据服务的前提下根据用户业务的发展动态的扩容和缩容。

架构的演变
UMP系统第一版基于mysql-proxy 0.8版修复若干bug,并对proxy插件中管理用户连接和数据库连接的状态机流程进行一些修改,同时编写Lua脚本实现去中心数据库获取用户认证信息和后台数据库地址,对用户进行验证,建立到后台数据库的连接和转发数据包等逻辑。

图1 UMP系统的第一版采用MySQL Proxy

在开发和部署第一版的过程中,我们逐渐认识到几个问题:
Read more…

Post Footer automatically generated by wp-posturl plugin for wordpress.

mysql.taobao.org对外开放

July 26th, 2012 9 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: mysql.taobao.org对外开放

我们的mysql官方网站在这里:http://mysql.taobao.org, 正式对外开放了.
目前介绍了下我们目前在做的工作, 研究方向,以及部分资料可以下载, 后续我们会提供经过生产系统验证的mysql binary下载, 敬请期待!
截屏如下:

玩得开心!

Post Footer automatically generated by wp-posturl plugin for wordpress.

Categories: 杂七杂八 Tags: ,

MySQL和IO(下)

May 12th, 2012 No comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: MySQL和IO(下)

MySQL和IO(上)在这里可以看到。

Post Footer automatically generated by wp-posturl plugin for wordpress.

Categories: 体系结构, 数据库, 调优 Tags: ,

Fio模拟Mysql服务器IO压力脚本

September 7th, 2011 7 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: Fio模拟Mysql服务器IO压力脚本

fio是个非常好用的io压力模拟工具,功能非常齐全, 有兴趣的同学参看 这里
这里我用fio模拟我们线上mysql服务器的压力来为厂家送来的pci-ssd卡做压力测试,底下是脚本(已经测试正确),也许有的同学有用。
Read more…

Post Footer automatically generated by wp-posturl plugin for wordpress.

Categories: Linux, 工具介绍 Tags: , ,

sysbench oltp测试MySQL问题

July 1st, 2011 3 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: sysbench oltp测试MySQL问题

昨天有同学在使用sysbench时候遇到了点小麻烦:

$ sysbench --test=oltp --oltp-table-size=100000000 --oltp-read-only=off --init-rng=on --num-threads=16 --max-requests=0 --oltp-dist-type=uniform --max-time=1800 --mysql-user=root   --db-driver=mysql --mysql-table-engine=innodb --oltp-test-mode=simple prepare
sysbench 0.4.12:  multi-threaded system evaluation benchmark

FATAL: unable to connect to MySQL server, aborting...
FATAL: error 1049: Unknown database 'sbtest'
FATAL: failed to connect to database server!
...

错误提示说:mysql连接不上, sbtest库没找到。

首先确认mysql是正常的…

$ mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 91
Server version: 5.1.48-debug-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use sbtest;
ERROR 1049 (42000): Unknown database 'sbtest'

但是库 sbtest确实不存在。

通过查看sysbench-0.4.12/sysbench/drivers/mysql/drv_mysql.c:400行

  DEBUG("mysql_real_connect(%p, \"%s\", \"%s\", \"%s\", \"%s\", %u, \"%s\", %s)",
        con,
        host,
        args.user,
        args.password,
        args.db,
        args.port,
        args.socket,
        (MYSQL_VERSION_ID >= 50000) ? "CLIENT_MULTI_STATEMENTS" : "0"
        );
  if (!mysql_real_connect(con,
                         host,
                         args.user,
                         args.password,
                         args.db,
                         args.port,
                         args.socket,
#if MYSQL_VERSION_ID >= 50000
                          CLIENT_MULTI_STATEMENTS)
#else
                          0)
#endif

我们可以看到sysbench在连接的时候需要先连接到sbtest库,但是库不存在,所以出现问题。

解决问题的方法很简单:
在mysql的shell下运行:

create database sbtest;

搞定。

小结:开源软件总是有点小问题,自己动手丰衣足食!

玩得开心!

Post Footer automatically generated by wp-posturl plugin for wordpress.

Categories: 工具介绍, 杂七杂八 Tags: ,

商品库MySQL优化实践

April 11th, 2011 11 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: 商品库MySQL优化实践

在刚刚结束的Qcon 2011北京会议上我做了以下的分享:

淘宝商品库是淘宝网最核心的数据库之一,采用MySQL主备集群的架构,特点是数据量大且增长速度快,读多写少,对安全性要求高,并发请求高。

演讲内容包括淘宝商品库硬件的选型决策, 安全性和性能的平衡,特别是创新引入PCI-E Flash卡和Flashcache作为Cache提高IO性能,在保证安全性的前提下就包括MySQL、InnoDB引擎、文件系统、系统Page Cache、 IO调度算法、DM层(Flashcache)、Raid卡、设备驱动在内的整条IO路径的Cache进行优化,进一步挖掘了系统IO的潜能,重点介绍优化过程中的一些经验教训、测量手段和工具。

玩得开心!

Post Footer automatically generated by wp-posturl plugin for wordpress.

Categories: Linux, 调优 Tags: ,

Tsung用于压测MySQL服务器的脚本

November 18th, 2010 16 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: Tsung用于压测MySQL服务器的脚本

这个MySQL服务器压测的需求是 :

环境: Linux RHEL 5U4 X86-64, 24G内存, 16核.
MySQL服务器在xx.232.36.1上。

压力由最多32个客户端发起,每个客户端分别做update, insert, delete操作,概率分别是50%, 30%, 20%, 每种操作循环999999 × 100次,每100次操作后休息1-3秒。
这样的压力最多持续2个小时。

我们用的是著名的tsung压力测试工具, 之前我有篇blog介绍过, 见这里

以下是用到的脚本, 用到了比较先进的随机动态参数替换等技术,对于编写此类脚本有很大的借鉴意义。
Read more…

Post Footer automatically generated by wp-posturl plugin for wordpress.