`
m635674608
  • 浏览: 5031160 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

磁盘IO单线程顺序写时最快的,如果多线程写,磁盘的磁头要不断重新寻址,所以写入速度反而会慢

 
阅读更多

 磁盘IO单线程顺序写时最快的,如果多线程写,磁盘的磁头要不断重新寻址,所以写入速度反而会慢

(1) 读写最好还是不要多线程,硬盘读写的速度有限,单线程时已经满负荷了,多线程又会增加线程之间的切换,会增加时间。

           如果想增加读写速度,应该增加硬盘,做raid

(2)首先是硬盘的写入是串行的,CPU的计算才是并行的,如果你偏重计算那么多线程能提高,要不怎么叫做并行计算呢;

          如果侧重存储,除非数据量达到足以体现优势的程度,否则加上线程之间切换的损耗当然会效率更加地下。

(3)这个是按照算法来说的,目前来说大多数的算法都是很快的,瓶颈都在磁盘的IO上,我们针对大多数的算法都进行过测试,基本一半以上的时间都耗费在磁盘的IO上。

          比如我处理一个影像,处理数据用了1分钟,写入图像用了2分钟,那你把你的算法优化的很牛逼,10秒中搞定,你的效率提高了多少,但是如果我多线程写入的话,

         我效率提高一倍,也就是写入图像用了1分钟,那这个效率明显比你优化你的算法来的实惠。这个东西还是要针对算法来说的。

(4)磁盘IO单线程顺序写时最快的,如果多线程写,磁盘的磁头要不断重新寻址,所以写入速度反而会慢。

参考:http://blog.csdn.net/chenyujing1234/article/details/7694201


由于每个磁盘一个时间点只能有一个磁头进行读写,因此其实不是并行读写。如果要利用多线程实现真正的并行读写,需要在硬件存储时使用RAID(独立磁盘阵列)。对于普通磁盘,单线程写文件比多线程写快。

 

http://www.cnblogs.com/findumars/p/4847402.html

分享到:
评论

相关推荐

    多线程全面遍历磁盘文件

    在遍历磁盘文件时,如果使用多线程,我们可以将磁盘的不同区域分配给不同的线程,这样就能并行地读取和处理文件,从而显著提高遍历速度。 实现多线程遍历磁盘文件,我们需要以下几个关键步骤: 1. **创建线程池**...

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

    "Oracle数据库优化之数据库磁盘IO" Oracle数据库优化之数据库磁盘IO是指数据库管理员和开发者对Oracle数据库进行优化,以提高数据库的性能和稳定性。数据库磁盘IO是影响数据库性能的重要因素之一,因此优化数据库...

    多线程把log写入磁盘文件源码

    在传统的单线程模式下,当程序需要将日志写入磁盘时,会阻塞当前执行流程,直到写入操作完成,这可能会影响其他重要任务的执行。而多线程则可以创建独立的执行流,一个线程负责日志记录,另一个线程则继续处理用户...

    磁盘IO原理讲解以及开销

    ### 磁盘IO原理与开销详解 #### 一、磁盘物理结构解析 磁盘作为计算机系统中重要的持久化存储设备,在了解其工作原理之前,首先要掌握磁盘的基本物理结构。 - **磁盘面**:现代硬盘通常由多层磁盘面组成,每个磁...

    windows下如何查看磁盘IO性能

    查看磁盘IO性能

    工作经验:windows服务器下磁盘IO性能监控和分析报告

    同样,"PhysicalDisk\Average Disk sec/Read"和"PhysicalDisk\Average Disk sec/Write"分别代表读取和写入操作的平均时间,其数值也显示出读取和写入速度较慢,存在瓶颈。 另一个关键指标是"PhysicalDisk:Avg. ...

    linux查看磁盘IO情况.docx

    在查看磁盘 IO 情况时,vmstat 命令可以显示磁盘的读写速度和队列长度等信息。 top、iostat 和 vmstat 命令都是查看 Linux 系统磁盘 IO 情况的重要工具。通过这些命令,我们可以了解系统的磁盘使用情况,诊断性能...

    磁盘IO检查工具CrystalDiskMark

    **磁盘IO检查工具CrystalDiskMark详解** 在IT领域,磁盘I/O(输入/输出)性能是评估计算机系统性能的重要指标之一。特别是在数据库管理、服务器优化和存储系统设计中,磁盘I/O的快慢直接影响到系统的整体响应速度。...

    iostat 监视磁盘操作,磁盘IO

    本篇文章将详细介绍`iostat`命令及其相关的磁盘IO指标。 `iostat`是System Activity Reporter (SAR)工具集的一部分,通过收集和分析系统统计信息来报告CPU和I/O设备的使用情况。在`iostat`的输出中,有多个关键指标...

    多线程磁盘文件扫描

    特别是在处理大量数据或者进行密集型操作如磁盘文件扫描时,多线程能够有效地利用系统资源,提高工作效率。本文将深入探讨如何在C#中实现多线程磁盘文件扫描。 一、线程与多线程基础 线程是操作系统分配CPU时间的...

    linux系统磁盘的物理结构及磁盘IO过程详解.docx

    Linux系统中的磁盘物理结构和磁盘I/O过程是理解操作系统如何与硬件交互的重要部分。本文将详细探讨这两种硬盘类型——机械硬盘(HDD)和固态硬盘(SSD),以及Linux系统中磁盘的物理结构,同时阐述磁盘I/O操作的流程...

    显示进程的磁盘IO操作

    例如,`readlink /proc/tid`会显示tid所对应的进程的真正pid,从而让我们能够用`lsof`或`/proc/pid/io`来分析该线程的磁盘IO行为。 通过这些工具和技巧,我们可以深入洞察到系统中各个进程的磁盘IO活动,这对于系统...

    windows磁盘io测试工具

    找到这个资源,是因为在windows服务器上,发现同样的程序,在机器1上写日志极快,另一台上极慢(导致请求响应超时)。后来用该工具测试,发现io差距好几倍

    行业分类-设备装置-一种基于磁盘IO队列的磁盘阵列写方式选择方法.zip

    本文将深入探讨“一种基于磁盘IO队列的磁盘阵列写方式选择方法”,旨在优化磁盘阵列的写入操作,从而提高整体系统效率。 磁盘IO队列是操作系统管理磁盘I/O的一种机制,用于缓冲即将发送到磁盘的I/O请求。通过这种...

    C# 高效线程安全,解决多线程写txt日志类.zip

    "C# 高效线程安全,解决多线程写txt日志类.zip" 提供了一个专门用于多线程环境下写入txt日志文件的解决方案,确保了在并发写入时的数据一致性与程序稳定性。 首先,我们要理解什么是线程安全。线程安全是指当多个...

    磁盘IO占用测试工具

    磁盘IO占用测试工具是用于监控和评估服务器磁盘性能的重要软件,特别是在处理大量数据读写操作时,了解磁盘的输入/输出(I/O)性能至关重要。在服务器环境中,如WINDOWS SERVER 2003和WINDOWS SERVER 2008,磁盘I/O...

    SQLIO磁盘压力分析

    4. **性能指标**:SQLIO输出的结果包括每秒I/O次数(IOPS)、吞吐量(MB/s)以及延迟(ms),这些指标有助于分析磁盘性能瓶颈,比如磁盘响应速度慢、I/O吞吐量低等。 5. **解读结果**:理解SQLIO的输出报告是关键,...

    zabbix监控磁盘IO性能

    该模版是zabbix用于磁盘IO性能监控,包括各项指标以及相应的图形

Global site tag (gtag.js) - Google Analytics