`

数据库I/O读写速度

 
阅读更多

工作中遇到的一个实际问题。

问题如下:
长时间,大量插入数据的速度慢的问题。
7*24小时的不间断想数据库中插入数据,单表的插入数据量平均目前平均35条/秒。有

40多个单表表都需要插入。插入数据的同时还要对40多个单表进行更新和查询操作。
如此频繁的对数据库进行操作的情况下,数据库的速度已经不能满足我们的需求了。

经过了一系列的SQL文,内存设置,缓存设置之后还是无法满足。
最后经过在linux下top进行分析,发现原来是orcale的I/O读写速度问题。并且硬盘处

理速度不及时还导致CPU %WA等待。
经过统计情况如下:
插入量:40*35=1400条/秒
查询量:40*100=4000条/秒
更新量:40*10=400条/秒
删除量:1400*66%=900条/秒
每秒处理共约:6700条数据。
这样一个int占4个字节,一个double占8个字节,一个varchar(200)占200个字节.....
一条数据有 800~1400个字节 按照平均一条数据1024个字节来算,就是1条数据占用

1Kb的空间。
那么硬盘最少要有6700*1Kb =6.7M 的读写速度。本来我们用的硬盘是7200的,极限的

读写速度是30M-40M/秒左右,为什么6.7M左右就承受不住了呢?
经过分析认为,硬盘的测试速度只是单一的读写。但是在频繁的读写删除面前远远达不到那个速度(磁头不停的切换,扇区不停的反转)
注意:这里请不要长生误区:6.7M是每秒的读写速度,由于我做了优化每秒还会删除插入数据的66%,这样最后保存到磁盘的每秒只有400K左右。
一天40G的数据 平均每秒400多K。

 

解决方案:表分区 + 磁盘阵列 + RAID0. 理论上能提高几十倍甚至几百倍的速度。
               具体实现细节。。。略。。。。。。。

如果有人有兴趣知道可以留言探讨。

 

分享到:
评论

相关推荐

    android读写数据,文件i/o操作

    以上内容涵盖了Android平台上的基本文件I/O操作,包括内部存储、外部存储、数据库、键值存储、内容提供者以及安全性和版本适应性策略。理解并熟练掌握这些技术,能够帮助开发者有效地管理和处理应用中的各种数据。

    ESXI上虚拟机直连I/O设置配置文档

    6. **高I/O需求场景**:DirectPath I/O特别适用于那些对I/O性能有极高要求的应用场景,如数据库服务器直接读写连接存储的HBA(Host Bus Adapter)以获得更优性能。 7. **BIOS配置**:需要在BIOS中开启Intel VT-d或...

    Database I/O Systems

    ### 数据库I/O系统知识点详解 #### 一、存储设备与磁盘存储技术 数据库I/O系统的性能在很大程度上取决于其存储设备的选择和技术的应用。在本章节中,我们将重点介绍几种常见的存储设备及其特点。 **1.1 存储层次*...

    Linux直接I/O机制介绍

    - **read()** 和 **write()** 函数:这些函数用于读写文件,当使用O_DIRECT标志打开的文件时,它们会执行直接I/O操作。 为了确保直接I/O的高效执行,需要注意以下几点: 1. **数据对齐**:为了减少数据传输过程中...

    查询优化解决'车站系统'数据库I_O冲突.pdf

    《查询优化解决“车站系统”数据库I/O冲突》 在铁路信息系统中,车站系统的数据库管理是关键环节,尤其是在处理大量货物运输业务时,高效的数据库查询优化至关重要。文章以实际案例——长沙北站和郑州东站的内勤...

    linux direct io 技术应用

    例如,Oracle数据库、MongoDB等都可能利用Direct I/O来提升读写速度。 总结来说,Linux Direct I/O技术是一种提高系统I/O性能的有效手段,但需要谨慎使用,因为它涉及到更复杂的编程模型,并且可能会对系统其他方面...

    Calibrate_IO.zip_indeed6gn_oracle_oracle dba

    《Oracle数据库I/O调优:理解与实践》 在Oracle数据库管理中,I/O性能是决定系统整体效率的关键因素之一。"Calibrate_IO.zip_indeed6gn_oracle_oracle dba" 提供了一个关于Oracle存储I/O调优的专业资料,主要针对...

    mysql数据库插入速度和读取速度的调整

    将不同表的数据文件分开存放,可以有效地分散I/O负载,从而提高读写性能。 **2. 调整checkpoint** InnoDB会定期执行checkpoint操作以确保数据的一致性和持久性。合理调整checkpoint的时间间隔,可以平衡数据的安全...

    Oracle应用系统中I_O的设计与分析.pdf

    Oracle数据库系统中输入输出(I/O)的设计和分析是确保数据库性能和响应速度的关键。本文将从I/O需求、数据文件I/O性能、I/O优化策略以及如何调整数据文件I/O等方面进行深入探讨。 首先,我们需要了解I/O设计在...

    Solr全文检索.pdf

    Solr 是一款基于 Lucene 的全文检索引擎,主要应用于站内搜索,解决 MySQL 数据库 I/O 读写瓶颈问题,提高搜索效率。下面是 Solr 相关知识点: 1. Solr 的应用场景:Solr 主要应用于站内搜索,解决 MySQL 数据库 I/...

    关于rrd文件大量并发写的I/O问题调研(一)

    2. **磁盘I/O性能**:大量的并发写入会增加磁盘I/O负载,可能导致磁盘响应速度下降,进而影响整体性能。解决这个问题可能需要优化磁盘子系统,例如使用SSD代替HDD,或者采用RAID配置提高读写速度。 3. **缓存策略**...

    Oracle数据库优化之数据库磁盘IO

    在优化数据库磁盘IO时,需要监控数据库的性能,检查系统的I/O问题,使用V$FILESTAT确定oracle文件I/O的进程,分布I/O减少磁盘竞争,避免动态空间管理,确定动态扩展,分配分区,避免回滚段的动态空间管理,减少迁移...

    SQL Server 2008内存及IO性能监控

    1. **磁盘I/O监控**:使用`sys.dm_io_virtual_file_stats` DMV可获取每个文件的读写操作数和等待时间,从而了解IO性能。同时,结合操作系统工具(如 PerfMon)监控物理读写速度和队列深度。 2. **索引性能**:索引...

    Oracle_IO_性能调优手册

    首先,手册会讲解Oracle数据库I/O基础,包括磁盘I/O体系结构、RAID技术、存储子系统以及Oracle的数据块和表空间管理。理解这些基础知识对于识别性能瓶颈和制定调优策略至关重要。 其次,书中将详细介绍Oracle的I/O...

    行业-33 MySQL数据库的日志顺序读写以及数据文件随机读写的原理.rar

    MySQL数据库在处理数据时,涉及两种关键的读写方式:日志顺序读写(日志I/O)和数据文件随机读写(数据I/O)。这两种读写方式对于数据库的性能和稳定性至关重要,尤其是在高并发、大数据量的场景下。下面我们将深入...

    Oracle数据库性能优化实务 数据文件IO.pptx

    数据文件I/O是数据库操作的基础,它直接影响到数据库的响应速度和整体性能。本讲主要关注Oracle数据库在处理数据文件I/O时涉及的关键因素和参数。 首先,存储系统是影响数据文件I/O性能的基石。磁盘的速度、数量、...

    文件同步与异步读写

    在大型系统中,如网络服务器和数据库管理系统,异步I/O往往能带来显著的性能提升。 总结来说,文件同步与异步读写是操作系统中处理I/O操作的两种策略,各有优劣。理解并掌握这两种方法,对于优化程序性能和提高系统...

    5.1_4_IO软件层次结构1

    软件层次结构中的 I/O 软件层次结构 在计算机系统中,I/O 软件...在实际应用中,I/O 软件层次结构可以应用于各种场景,例如文件系统、网络通信、数据库管理等。了解 I/O 软件层次结构对开发高效的 I/O 操作非常重要。

    Oracle数据库参数设置

    Oracle 数据库参数主要包括磁盘 I/O、回滚段、redo 日志、SGA 参数等。 磁盘 I/O 是 Oracle 数据库的性能瓶颈之一。为了优化磁盘 I/O,可以采取以下策略: 1. 使用分布 I/O 减少磁盘竞争,避免多个进程同时读写同...

Global site tag (gtag.js) - Google Analytics