淘宝 商品库MySQL优化实践 QCon 2011 Beijing

Slides:



Advertisements
Similar presentations
《微型计算机技术 及应用》 ( 第 4 版) —— 戴梅萼 史嘉权. 目标 深刻理解 牢固掌握 灵活应用.
Advertisements

高级服务器设计和实现 1 —— 基础与进阶 余锋
核心系统数据库组 褚霸 MySQL和IO(下) 核心系统数据库组 褚霸
Information Resource Management
Microsoft Exchange 针对 EMC 存储的最佳做法和设计指导方针
厦门大学数据库实验室 刘颖杰 2014年11月15日 实习总结报告 厦门大学数据库实验室 刘颖杰 2014年11月15日.
MySQL数据库服务介绍 2013 年 6 月.
双十一数据库核心技术 淘宝网 李圣陶(刘昆).
2013华东数据库技术大会 人人网的SNS数据库架构与设计艺术 周彦伟
Please delete this page before you present to customer
第 6 章 安裝問題解疑.
2013华东数据库技术大会 MySQL5.6版InnoDB引擎深入剖析 演讲嘉宾:何登成
前言 1.课程安排: 第一章 操作系统引论(7学时) 第二章 进程管理(14学时) 第三章 处理机调度与死锁(10学时)
淘宝 商品库MySQL优化实践 QCon 2011 Beijing
淘宝核心系统资深专家 我为什么要选择RabbitMQ 淘宝核心系统资深专家
SA120/SAS112/NAS产品介绍 2013 LENOVO INTERNAL. All rights reserved.
Canal开源产品介绍 taobao.
第8章 机床操作 主讲:臧红彬 博士.
第四章 存储体系.

企业级云计算 A Enterprise Cloud Serivce
2012/11/12 Virtual Machine.
J2EE与中间件技术 ——Lab.
网 站 设 计 与 建 设 Website design and developments
Hardware Chen Ching-Jung
Linux的認識與使用 2013/01/05.
Alibaba 数据库高可用架构 Alibaba
溪洲資訊業務分享 預算、管理、技術.
淘宝核心系统数据库组 褚霸 /06/25 大话SSD 淘宝核心系统数据库组 褚霸 /06/25.
NEC Express5800 Fault Tolerant Server Introduction
TPC-C标准及实验平台.
Hadoop I/O By ShiChaojie.
ThinkServer RD540/RD640 新品品鉴
淘宝核心系统数据库组 余锋 利用新硬件提升数据库性能 淘宝核心系统数据库组 余锋
基于压缩算法的tile64多核处理器性能研究
核心系统数据库组 余锋 了解内存 核心系统数据库组 余锋
褚霸 核心系统数据库组 /11/15 Oprofile 系统层面的性能微调工具 褚霸 核心系统数据库组 /11/15.
Pure Storage設備 雲端桌面系統 評估測試與經驗分享
从现在做起 彻底改变你自己 Sanjay Mirchandani EMC公司高级副总裁、首席信息官.
浅谈MySql索引及锁的应用 厦门大学数据库实验室 刘颖杰 2014年3月8日.
存储系统.
华为—E8372h- 155 外观设计 产品类型:数据卡 建议零售价格:299元 上市时间:2017年6月7日 目标人群:大众
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
LSI 引领服务器进入SAS时代 陆 峰 LSI存储元器件客户经理.
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
An Introduction to Cloud RDBMS
KINGSUN-E2产品介绍 产品类型:儿童手表 建议零售价格:599元 上市时间: 2018年 7月13日 目标人群:适龄儿童
数据挖掘工具性能比较.
PaPaPa项目架构 By:Listen 我在这.
CPU结构和功能.
深圳万家星通信息科技有效公司—HLW-K521
从zval看PHP变量
厂商—型号 荣耀-HiRouter-H1 外观设计 产品类型:无线路由器 建议零售价格:149元 上市时间:2017 年 5月
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
微机系统的组成.
HUAWEI—S7-301c 外观设计 建议零售价格:2899元 上市时间:2012年5 月15日
顺序表的删除.
计算机系统结构(2012年春) ----存储层次: Cache基本概念
海信HS-E912 建议零售价格:699元 上市时间:2013年 3 月
微机原理与接口技术 ——第三章 80x86微处理器 西安邮电大学 计算机学院 范琳.
产品介绍 TOPOLF-T198 产品类型:4G MIFI 建议零售价格:699元 上市时间: 2015年1月 目标人群:差旅人士
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
解决“最后1公里”问题.
Thomson-252G 外观设计 上市时间:2011年1月 目标人群:普通消者,行业用户费 标准配置:一电一充\耳机\数据线\DC充电器
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
Presentation transcript:

淘宝 商品库MySQL优化实践 QCon 2011 Beijing  核心系统数据库组  余锋(褚霸) http://yufeng.info 2011/04/08

Agenda 商品库项目背景介绍以及约束 技术要求和方案 性能保证 安全性保证 运维保证 优化成果 交流时间  

商品库(单机,测试)情况 无复杂查询,离散度高 记录数:1亿条键值对 记录大小:100字节 数据文件:170G 记录大小:100字节  数据文件:170G 访问热点情况:20%的键占用55%的访问量 键读写比例: 10:1  

硬件选择 主机: Dell; PowerEdge C2100; 处理器: physical = 2, cores = 12, virtual = 24  内存: 96 G  RAID卡:LSI MegaSAS 9260/512MB Memory PCI-E Flash卡: Fusion-io ioDrive 320GB/MLC  硬盘: SEAGATE ST3300657SS  300G x 12 

软件选择 发行版: Red Hat Enterprise Linux Server release 5.4 内核: Kernel | 2.6.18-164.el5  文件系统:Ext3  Flashcache: FB内部版本  MySQL 版本:  5.1.48-log Source 

Agenda 商品库项目背景介绍以及约束 技术要求和方案 性能保证 安全性保证 运维保证 优化成果 交流时间

商品库技术要求 高可用,安全第一  高性能,性能平稳,性价比高  控制运维风险  

技术方案 MySQL数据库集群,数据水平切割,主从备份 采用高性价比PC服务器,大内存,强劲CPU,可靠性高 采用高性能PCI-E Flash卡作为cache,  提高系统的IO性能  充分利用系统各部件的cache, 大胆采用新技术  充分考虑容灾,在各个层面考虑数据的安全性  

系统资源规划 内存分配: MySQL InnoDB buffer pool OS pagecache 驱动程序 IO能力分配:   IO能力分配: 读能力,零散读,提高IOPS 写能力,集中写,提高吞吐量 Cache分配: MySQL内部cache 匿名页面/文件页面 Flashcache 混合存储 Raid卡内部cache

调优指导思想 杜绝拍脑袋,理论(源码)指导+精确测量+效果验证 内存为王 数据访问规律导向,随机数据和顺序数据尽量分离 尽量提高IO的利用率,减少无谓的IO能力浪费 在安全性的前提下,尽可能的利用好系统各个层次cache  

调优工具 源码+emacs+大脑 必备工具 systemtap oprofile latencytop blktrace/btt/seekwatcher aspersa tcprstat sar gdb  自制工具 bash脚本 gnuplot脚本      

Agenda 商品库项目背景介绍以及约束 技术要求和方案 性能保证 安全性保证 运维保证 优化成果 交流时间

MySQL数据库 考虑因素: 主从备份带来的性能影响 复杂数据查询操作是否需要预留内存以及上限  考虑因素: 主从备份带来的性能影响 复杂数据查询操作是否需要预留内存以及上限 数据备份dump对系统的影响,避免系统swap 开启binlog带来的性能开销  限制最大链接数   ############################# max_binlog_cache_size=2G max_binlog_size = 500M max_connections = 1020 max_user_connections=1000 query_cache_size = 30M

InnoDB引擎 考虑因素: 尽可能大的BP(buffer pool) 日志和数据分设备存储 离散数据走direct-IO,顺序日志走buffered-IO 减少脏页的同步,提高命中率 减少锁对多核CPU性能的影响  提高底层存储默认的IO能力   #############################  innodb_buffer_pool_size = 72G innodb_flush_method = O_DIRECT innodb_sync_spin_loops=0 innodb_log_group_home_dir = /u02/ innodb_io_capacity=2000 innodb_thread_concurrency = 64

高速页缓存 考虑因素: page资源倾斜给数据库, 尽量不浪费,兼顾临时内存申请 避免NUMA架构带来的zone内存分配不均而导致的swap现象 cache大部分由InnoDB日志产生,适时清除,限制page数量   ############################# # numactl --interleave=all mysqld # sysctl vm.drop_caches = 1 vm.swappiness = 0 vm.dirty_ratio = ? vm.dirty_background_ratio =? vm.pagecache = ?

文件系统 考虑因素(选择): Ext3/4 Xfs 考虑因素(配置): 减少元数据变化产生的IO 对混合存储系统友好 关闭barrier   考虑因素(配置): 减少元数据变化产生的IO 对混合存储系统友好 关闭barrier #############################  /dev/mapper/cachedev  (rw,noatime,nodiratime,barrier=0) /u01  /dev/sda12                     (rw,barrier=0)                               /u02

IO调度 考虑因素: 调度算法对减少磁头移动的效果 关闭预读 设备队列长度 #############################   ############################# sda | [deadline]  128 sdb | [deadline]  128

混合存储(Flashcache) 考虑因素 结合磁盘的大容量,PCI-E Flash卡的高随机读写性能优点 减少同步次数,保留磁盘的IO能力 适时同步数据,减少安全风险   ############################# dev.flashcache.dirty_thresh_pct = 90 dev.flashcache.cache_all = 0 dev.flashcache.fast_remove = 1 dev.flashcache.reclaim_policy = 1

Raid卡 考虑因素: 逻辑分卷 Cache使用写优先,读少分配(数据无相关性效果不好) 数据安全和raid level 少预读   #############################  Controller |  LSI Logic / Symbios Logic LSI MegaSAS 9260 (rev 03)          Model | LSI MegaRAID SAS 9260-8i, PCIE interface, 8 ports        Cache | 512MB Memory, BBU Present          BBU | 95% Charged, Temperature 28C, isSOHGood=     VirtualDev Size      RAID Level Disks SpnDpth Stripe Status  Cache   0(no name) 278.875 GB 1 (1-0-0)      2     1-1     64 Optimal WB, RA   1(no name) 1.361 TB  1 (1-0-0)      2     5-5     64 Optimal WB, RA

存储设备驱动 考虑因素: 减少IO的抖动,提高IOPS 提高寿命 关闭或减少预读 #############################   ############################# PCI-E Flash卡驱动: $cat /etc/modprobe.d/iomemory-vsl.conf   options iomemory-vsl use_workqueue=0 options iomemory-vsl disable-msi=0 options iomemory-vsl use_large_pcie_rx_buffer=1

性能保证小结 解决IO瓶颈: 高速PCI-E Flash卡做Cache,读写速度可达800/500M 10 x SAS 300G 存放离散度高数据文件 2 x SAS 300G 存放顺序binlog和trx日志 控制数据库脏页面的刷新频率和强度 优化操作系统的pagecache,资源倾斜, 杜绝swap发生 优化文件系统减少meta数据的产生,以及写入延迟 优化IO调度器和预读 开启raid卡的读写cache 优化设备驱动,适应高强度的读写请求,减少jitter   解决CPU瓶颈: 业务上优化掉复杂查询 优化自旋锁     

Agenda 商品库项目背景介绍以及约束 技术要求和方案 性能保证 安全性保证 运维保证 优化成果 交流时间

安全性保证概要 Raid卡带Flash,掉电保护,raid level10防止磁盘损害 PCI-E卡自身有日志系统,恢复时间最差10分钟 Ext3文件系统带日志保护 Flashcache上的cache数据最多24小时都会同步到SAS盘 数据库Innodb引擎本身有redo日志,数据安全校验,高级别日志同步 MySQL主从备份 商品库应用方有事务日志

Agenda 商品库项目背景介绍以及约束 技术要求和方案 性能保证 安全性保证 运维保证 优化成果 交流时间

运维保证概要 数据预热: 支持热点数据每秒150M从磁盘直接加载到混合存储 数据库重新启动,无需重新预热 数据库DDL 操作:   数据库DDL 操作: 控制数据表的大小,让DDL时间可接受 减少DDL对性能的冲击 混合存储cache: 通过设置白名单,减少诸如备份操作对cache的干扰 混合存储cache可管理                    

Agenda 商品库项目背景介绍以及约束 技术要求和方案 性能保证 安全性保证 运维保证 优化成果 交流时间

优化成果 充足的容量规划,可对抗突增业务,满足未来几年业务增长 系统总体运行平稳,系统负载CPU util <50%,磁盘 util <10%,PCI-E Flash卡 util < 20%  QPS/36000,其中读/32800,写/3200  请求平均延时时间:260微秒(包括网络时间) 掉电和操作系统失效的情况下,数据无丢失 第一次预热时间半个小时以内,之后只需几分钟

Agenda 商品库项目背景介绍以及约束 技术要求和方案 性能保证 安全性保证 运维保证 优化成果 交流时间

谢谢!   Talents wanted! 联络:chuba@taobao.com