今年年初为了做一体机的性能测试以及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性能知识整理相关推荐

  1. mysql数据库学习基础知识整理

    主要摘自咕咕评测机:https://blog.csdn.net/doublekillyeye 一.mysql数据库引擎: 总结:innoDB和myisam主要区别 1.myisam不支持事务,inno ...

  2. JAVA(IO流)知识整理

    IO (Input Output)流 IO流用来处理设备之间的数据传输: JAVA对数据的操作是通过流的方式: JAVA对于操作流的对象都在IO包中: 流按操作数据分为两种:字节流和字符流: 流按流向 ...

  3. MYSQL数据库常用知识整理

    为什么80%的码农都做不了架构师?>>>    MYSQL数据库常用知识整理 什么是MYSQL MYSQL的特性 MYSQL存储引擎的分类以及数据文件的介绍 MYSQL赋权 MYSQ ...

  4. oracle数据库优化-IO性能分析优化

    在部署了ORACLE数据库的服务器上,我们大家或多或少的遇到过下列情况: 1. 业务系统运行缓慢,作为系统管理员需要检查包括IO在内的系统资源,这时系统管理员.存储管理员可能得到DBA(数据库管理员) ...

  5. mysql io瓶颈,(续)为什么当磁盘IO成瓶颈之后数据库的性能急剧下降—性能更悲剧篇...

    我们来梳理一下数据页访问的流程: 1. 先看缓存池中有没有,如果没有,则需要访问磁盘. 2. 访问磁盘之前,是不是需要先提前准备好一个空闲的内存块来接收(存放)磁盘上的数据页的内容? 很显然,这个空闲 ...

  6. 数据库知识整理 - 关系数据库标准语言SQL(一)- SQL概述与数据定义

    主要内容 SQL概述 1. SQL的发展 2. SQL的优点 3. SQL的基本概念 SQL的常用数据类型 数据定义 1. 模式的定义与删除 2. 基本表的定义.删除和修改 3. 索引的建立和删除 S ...

  7. MySQL磁盘io瓶颈原因_为什么当磁盘IO成瓶颈之后数据库的性能急剧下降

    展开全部 为什么当磁盘IO成瓶颈之后, 数据库的性能不是达到饱和e68a84e8a2ad3231313335323631343130323136353331333433643733的平衡状态,而是急剧 ...

  8. 面向程序员的数据库访问性能优化法则

    面向程序员的数据库访问性能优化法则 特别说明: 1.   本文只是面对数据库应用开发的程序员,不适合专业 DBA , DBA 在数据库性能优化方面需要了解更多的知识: 2.   本文许多示例及概念是基 ...

  9. Redis面试题相关知识整理

    Redis面试题相关知识整理 1.Redis的应用场景 2.Redis的特点 3.Redis对各种数据类型的操作 4.Redis的持久化机制 5.Redis的缓存穿透/缓存击穿/缓存雪崩问题 6.Re ...

  10. centos7创建asm磁盘_Oracle ASM 磁盘组基础知识整理(收藏版)

    为什么要写这么一篇基础知识呢?还是有那么一点点原因的,不是胡编乱造还真是有真实存在的事件的,前两周里因一套生产环境数据库磁盘不足无法对其进行表空间扩容,需要向存储岗申请存储资源,当存储岗划好资源加完存 ...

最新文章

  1. UPS电池异常故障案例
  2. 中级统计师基础知识中计算机,【2014年中级统计师《统计基础理论及相关知识》预习:计算机操作系统】- 环球网校...
  3. SSAS系列——【08】多维数据(程序展现Cube)
  4. Android 带阴影背景图片
  5. 使用BAT批处理执行sql
  6. 20145209 《信息安全系统设计基础》第13周学习总结
  7. 谈目标绩效的一种想象
  8. 去除winrar广告
  9. 通过vb代码将多个excel合并成一个
  10. 启动项目时出现java.io.EOFException异常
  11. 平稳性的检验 java_[时间序列分析]--平稳性,白噪声的检验
  12. 谷歌插件--SuperCopy(解决网页中文字不可复制的问题)
  13. seo模拟点击软件_百度搜索SEO优化算法揭秘
  14. 使用arduino控制多个PCA968516路舵机控制板从而达到最多可以控制992个伺服舵机
  15. 简单好听的id_好听的吃鸡id女生两个字
  16. hive执行出现问题:Ended Job = job_1667594872527_3123 with errors Error during job, obtaining debugging info
  17. MTK DDR进行ETT之后的压力---测试环境的搭建
  18. python数字加密资产_GitHub - ezpod/crypto-exchange-engine: 数字加密资产交易引擎的原理性实现代码,汇智网提供...
  19. 深入目标检测原理学习笔记1
  20. IC卡密码的破解方法浅谈

热门文章

  1. 【目标跟踪】基于matlab红外图像弱小目标检测与跟踪【含Matlab源码 374期】
  2. 四菱天线怎么加强_白话天线(2)---什么是天线?
  3. python svm向量_支持向量机(SVM)及其Python实现
  4. lstm预测单词_从零开始理解单词嵌入| LSTM模型|
  5. 【购买ipad 2021记录:Apple官网线上下单,直营店线下取货】
  6. python按行拆分表格_Pandas进阶之DataFrame行列拆分
  7. css3 修改checkbox disabled颜色_HTML5 + CSS3 gt;gt;gt; 009
  8. PHP网站安全日志系统开发与部署
  9. [mysql终极优化]之主从复制与读写分离详细设置教程
  10. 内网使用 IPV6 之 TunnelBroker隧道(6in4)篇