数据库IO性能知识整理
今年年初为了做一体机的性能测试以及CRM3.0的存储性能测试,走马观花的对存储相关的知识做了一些了解,并且结合Swingbench和fio,对数据库和存储性能做了一些测试工作。
整个IO栈是一个比较复杂的流程,包含软件和硬性相关的内容,
图片原始地址:http://www.ilinuxkernel.com/files/Linux.IO.stack_v1.0.pdf
受限自身的知识体系,只对基本的技术环境做了大概的了解,
很可惜,找不到这张图的原始出处,从google查询到的,可以帮助我们了解从数据库发起IO请求操作,到最终完成数据操作流经了那些设备。
数据库相关知识内容内容整理成了《X86平台RAC安装最佳实践》,在ORACLE用户组的活动中做过分享。
为了便于理解设备延迟,以Intel Xeon E5 CPU为基准,整理了一份不同设备的请求延迟数据。
系统设备 |
真实延迟 |
缩放延迟 |
一个 CPU 指令 |
0.4 ns |
1 s |
CPU Level 1 缓存 |
0.9 ns |
2 s |
CPU Level 2 缓存 |
2.8 ns |
7 s |
CPU Level 3 缓存 |
28 ns (10 X L2) |
1 min |
DDR 内存 |
100 ns |
4 min |
Intel 傲腾 |
<10 us |
7 hrs |
8GB HBA卡 |
50 us |
1.5 days |
NVMe 固态硬盘 |
~25 us |
17 hrs |
固态硬盘 |
50–150 μs |
1.5–4 days |
机械硬盘 |
1–10 ms |
1–9 months |
从硬件发展的趋势来看,传统的存储性能瓶颈在NVMe设备普及的情况下,越来越淡化,同时硬件性能的提升,也促进了分布式存储和开源数据库的快速发展。
客观的讲,目前大部分的一体机,在技术层面没有多少创新,只是使用了全新的硬件架构,使得数据库性能达到了极大的提升。更多的是看对一体机本身的管理、监控以及相关扩展功能的一些提供,比如备份以及CDP/CDM等辅助功能。
Linux设备发现,多路径管理,fio测试相关的知识,在《数据库系统IO性能测试方法》中进行了整理。
主机HBA卡信息[root@dzqddb1 disk]# lspci | grep -i hbac1:00.0 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02) 服务器HBA端口编号[root@dzqddb1 ~]# cd /sys/class/fc_hosthost3 -> ../../devices/pci0000:c0/0000:c0:03.0/0000:c1:00.0/host3/fc_host/host3 存储前端端口编号[root@dzqddb1 ~]# cd /sys/class/fc_remote_portsrport-3:0-0 -> ../../devices/pci0000:c0/0000:c0:03.0/0000:c1:00.0/host3/rport-3:0-0/fc_remote_ports/rport-3:0-0 磁盘设备映射路径[root@dzqddb1 ~]# udevadm info --query=all --name=/dev/sdakP: /devices/pci0000:c0/0000:c0:03.0/0000:c1:00.0/host3/rport-3:0-1/target3:0:1/3:0:1:12/block/sdak
包括一些磁盘参数的比对情况:
机械硬盘(HDD) |
固态硬盘(SSD) |
NVMe SSD |
|
产品 |
希捷 ST4000DM006 |
INTEL SSD 545S |
Intel SSD DC P4600 |
接口类型 |
SATA 6Gb/s |
6 Gb/s SATA接口 |
PCIe NVMe 3.1 x4 |
容量 |
4TB |
1.00 TB |
4.00 TB |
顺序读 |
220MB/s |
550 MB/s |
3200 MB/s |
随机读 |
76 |
85000 |
617500 |
顺序写 |
500 MB/s |
1900 MB/s |
|
随机写 |
75000 |
225000 |
|
读延迟 |
9 ms |
50 µs |
82 µs |
写延迟 |
9 ms |
50 µs |
30 µs |
价格 |
700¥ |
1500¥ |
19000¥ |
推荐一下阿里云的一套视频,《深入解析数据存储技术原理及发展演进》,非常精彩。https://yq.aliyun.com/promotion/689,不过视频在线直播数据有点慢,想看下载视频的,可以用百度网盘下载离线版本:
链接:https://pan.baidu.com/s/1FEq6mtD4x8e2UDqeqIs8Bg
提取码:kyq2
另外两个整理的文档也在网盘中有分享。
转载于:https://blog.51cto.com/recyclebin/2382695
数据库IO性能知识整理相关推荐
- mysql数据库学习基础知识整理
主要摘自咕咕评测机:https://blog.csdn.net/doublekillyeye 一.mysql数据库引擎: 总结:innoDB和myisam主要区别 1.myisam不支持事务,inno ...
- JAVA(IO流)知识整理
IO (Input Output)流 IO流用来处理设备之间的数据传输: JAVA对数据的操作是通过流的方式: JAVA对于操作流的对象都在IO包中: 流按操作数据分为两种:字节流和字符流: 流按流向 ...
- MYSQL数据库常用知识整理
为什么80%的码农都做不了架构师?>>> MYSQL数据库常用知识整理 什么是MYSQL MYSQL的特性 MYSQL存储引擎的分类以及数据文件的介绍 MYSQL赋权 MYSQ ...
- oracle数据库优化-IO性能分析优化
在部署了ORACLE数据库的服务器上,我们大家或多或少的遇到过下列情况: 1. 业务系统运行缓慢,作为系统管理员需要检查包括IO在内的系统资源,这时系统管理员.存储管理员可能得到DBA(数据库管理员) ...
- mysql io瓶颈,(续)为什么当磁盘IO成瓶颈之后数据库的性能急剧下降—性能更悲剧篇...
我们来梳理一下数据页访问的流程: 1. 先看缓存池中有没有,如果没有,则需要访问磁盘. 2. 访问磁盘之前,是不是需要先提前准备好一个空闲的内存块来接收(存放)磁盘上的数据页的内容? 很显然,这个空闲 ...
- 数据库知识整理 - 关系数据库标准语言SQL(一)- SQL概述与数据定义
主要内容 SQL概述 1. SQL的发展 2. SQL的优点 3. SQL的基本概念 SQL的常用数据类型 数据定义 1. 模式的定义与删除 2. 基本表的定义.删除和修改 3. 索引的建立和删除 S ...
- MySQL磁盘io瓶颈原因_为什么当磁盘IO成瓶颈之后数据库的性能急剧下降
展开全部 为什么当磁盘IO成瓶颈之后, 数据库的性能不是达到饱和e68a84e8a2ad3231313335323631343130323136353331333433643733的平衡状态,而是急剧 ...
- 面向程序员的数据库访问性能优化法则
面向程序员的数据库访问性能优化法则 特别说明: 1. 本文只是面对数据库应用开发的程序员,不适合专业 DBA , DBA 在数据库性能优化方面需要了解更多的知识: 2. 本文许多示例及概念是基 ...
- Redis面试题相关知识整理
Redis面试题相关知识整理 1.Redis的应用场景 2.Redis的特点 3.Redis对各种数据类型的操作 4.Redis的持久化机制 5.Redis的缓存穿透/缓存击穿/缓存雪崩问题 6.Re ...
- centos7创建asm磁盘_Oracle ASM 磁盘组基础知识整理(收藏版)
为什么要写这么一篇基础知识呢?还是有那么一点点原因的,不是胡编乱造还真是有真实存在的事件的,前两周里因一套生产环境数据库磁盘不足无法对其进行表空间扩容,需要向存储岗申请存储资源,当存储岗划好资源加完存 ...
最新文章
- UPS电池异常故障案例
- 中级统计师基础知识中计算机,【2014年中级统计师《统计基础理论及相关知识》预习:计算机操作系统】- 环球网校...
- SSAS系列——【08】多维数据(程序展现Cube)
- Android 带阴影背景图片
- 使用BAT批处理执行sql
- 20145209 《信息安全系统设计基础》第13周学习总结
- 谈目标绩效的一种想象
- 去除winrar广告
- 通过vb代码将多个excel合并成一个
- 启动项目时出现java.io.EOFException异常
- 平稳性的检验 java_[时间序列分析]--平稳性,白噪声的检验
- 谷歌插件--SuperCopy(解决网页中文字不可复制的问题)
- seo模拟点击软件_百度搜索SEO优化算法揭秘
- 使用arduino控制多个PCA968516路舵机控制板从而达到最多可以控制992个伺服舵机
- 简单好听的id_好听的吃鸡id女生两个字
- hive执行出现问题:Ended Job = job_1667594872527_3123 with errors Error during job, obtaining debugging info
- MTK DDR进行ETT之后的压力---测试环境的搭建
- python数字加密资产_GitHub - ezpod/crypto-exchange-engine: 数字加密资产交易引擎的原理性实现代码,汇智网提供...
- 深入目标检测原理学习笔记1
- IC卡密码的破解方法浅谈
热门文章
- 【目标跟踪】基于matlab红外图像弱小目标检测与跟踪【含Matlab源码 374期】
- 四菱天线怎么加强_白话天线(2)---什么是天线?
- python svm向量_支持向量机(SVM)及其Python实现
- lstm预测单词_从零开始理解单词嵌入| LSTM模型|
- 【购买ipad 2021记录:Apple官网线上下单,直营店线下取货】
- python按行拆分表格_Pandas进阶之DataFrame行列拆分
- css3 修改checkbox disabled颜色_HTML5 + CSS3 gt;gt;gt; 009
- PHP网站安全日志系统开发与部署
- [mysql终极优化]之主从复制与读写分离详细设置教程
- 内网使用 IPV6 之 TunnelBroker隧道(6in4)篇