内存数据库专题之数据库性能瓶颈分析之IO
1. 概述
常言道:有数据,有真相。数据库的性能瓶颈分析也是需要拿出具体的数据来的,否则单纯的说谁比谁性能强弱,都是没有说服力和根据的。关于内存数据库和磁盘数据库的性能对比也是如此。内存数据库通过读取内存中的数据来实现读写加速,磁盘数据库通过硬盘IO实现数据读写。Linux平台提供了专门的工具来时先磁盘IO性能的获取,该工具为hdparm,本文就该工具的使用做一个详细的介绍。
2.命令格式
Usage: hdparm [options] [device] ..
3.示例结果
[root@localhost zhangzl]# hdparm -Tt /dev/sda
/dev/sda:
Timing cached reads: 3820 MB in 2.00 seconds = 1910.72 MB/sec
Timing buffered disk reads: 42 MB in 3.05 seconds = 13.78 MB/sec
在这里我们就能看到差距来了,1910.72/13.78=138.66,一百多倍的读取差距,还是相当可观的。以上数据是我在虚拟机环境下测试的结果,具体的性能指标因机器配置、性能不同,会有不同,需要自行测试。
4.参数详解
Options:
-a get/set fs readahead
-A set drive read-lookahead flag (0/1)
-b get/set bus state (0 == off, 1 == on, 2 == tristate)
-B set Advanced Power Management setting (1-255)
-c get/set IDE 32-bit IO setting
-C check IDE power mode status
-d get/set using_dma flag
--direct use O_DIRECT to bypass page cache for timings
-D enable/disable drive defect management
-E set cd-rom drive speed
-f flush buffer cache for device on exit
-g display drive geometry
-h display terse usage information
-i display drive identification
-I detailed/current information directly from drive
--Istdin read identify data from stdin as ASCII hex
--Istdout write identify data to stdout as ASCII hex
-k get/set keep_settings_over_reset flag (0/1)
-K set drive keep_features_over_reset flag (0/1)
-L set drive doorlock (0/1) (removable harddisks only)
-M get/set acoustic management (0-254, 128: quiet, 254: fast) (EXPERIMENTAL)
-m get/set multiple sector count
-n get/set ignore-write-errors flag (0/1)
-p set PIO mode on IDE interface chipset (0,1,2,3,4,...)
-P set drive prefetch count
-q change next setting quietly
-Q get/set DMA tagged-queuing depth (if supported)
-r get/set device readonly flag (DANGEROUS to set)
-R register an IDE interface (DANGEROUS)
-S set standby (spindown) timeout
-t perform device read timings
-T perform cache read timings
-u get/set unmaskirq flag (0/1)
-U un-register an IDE interface (DANGEROUS)
-v defaults; same as -mcudkrag for IDE drives
-V display program version and exit immediately
-w perform device reset (DANGEROUS)
-W set drive write-caching flag (0/1) (DANGEROUS)
-x tristate device for hotswap (0/1) (DANGEROUS)
-X set IDE xfer mode (DANGEROUS)
-y put IDE drive in standby mode
-Y put IDE drive to sleep
-Z disable Seagate auto-powersaving mode
-z re-read partition table
--security-help display help for ATA security commands
从操作系统层面分析Java IO演进之路 本文从操作系统实际调用角度(以CentOS Linux release 7.5操作系统为示例),力求追根溯源看IO的每一步操作到底发生了什么。
MySQL服务器 IO 100%的案例分析 原文:MySQL服务器 IO 100%的案例分析 有台MySQL 5.6.21的数据库实例以写入为主,IO %util接近100% 写入IOPS很高 【分析过程】 1、通过iotop工具可以看到当前IO消耗最高的mysql线程 2、查看线程49342的堆栈,可以...
在研究Java NIO和IO API时,很快就会想到一个问题: 什么时候应该使用IO,什么时候应该使用NIO? 在本文中,我将尝试阐明Java NIO和IO之间的区别,它们的用例以及它们如何影响代码的设计。
胖子哥 数据仓库模型设计专家,主要从事金融,互联网行业广告行业数据架构和数据营销。QQ:1106110976
相关文章
- 从CCObject看cocos2d-x的内存管理机制
- 从缓冲池命中率角度判断自己的MYSQL数据库是否需要扩容内存
- 内存数据库应用之NBA篮球图文直播室存储设计
- Java程序内存分析:使用mat工具分析内存占用
- Linux系统调优详解(四)——内存状态查看命令
- mySQL内存及虚拟内存优化设置 .
- Linux中进程内存RSS与cgroup内存的RSS统计 - 差异
- 内存数据库
- 内存数据库H2使用
- Atitit eclipse tomcat插件常见问题总结.docx 1.1. tomcat插件调整内存设置在 run >run cfg 配置页。。Debug模式共享相同设置1 1.2. Pub
- 低内存管理驱动
- HiEngine:可媲美本地的云原生内存数据库引擎
- 华为云数据库GaussDB(for Cassandra)揭秘第二期:内存异常增长的排查经历
- stl_内存基本处理工具
- 【Linux 内核 内存管理】分区伙伴分配器 ③ ( 备用内存区域列表 | ZONELIST_FALLBACK 枚举 | zoneref 结构体 | 备用内存区域借用物理页规则 )
- Facebook开源时间序列内存数据库Beringei,追求极致压缩率——如果是int根据大多数时间序列中的值与相邻数据点相比并没有显著的变化,只要使用XOR将当前值与先前值进行比较,然后存储发生变化的比特。最终,该算法将整个数据集至少压缩了90%
- python基础===创建大量对象是节省内存方法
- 制造CPU、内存负载
- 操作系统段页结合的实际内存管理--13
- Java 在云原生中的内存问题