硬盘性能 & 文件碎片的一些思考

昨天将一台机器上的数据转移(备份)到另一台机器上,花了差不多一个晚上,传输了100G左右的数据。

感觉数据源机器的硬盘越来越不行了,读写性能下降的很历害。

这些年来写软件的时候很少去考虑硬盘的读写性能优化,今天网上搜索了一些资料,看了一下,有一些收获。

如何在磁盘上给文件快速预留一大片空间?

往磁盘写文件,如何保证文件在物理磁盘上连续 就是没有磁盘碎片

监控类系统的磁盘读写优化

防止磁盘碎片 提升存储性能

如何在读写文件时尽量避免磁盘碎片

之前写的一个软件,主要负责图片存储和展示,用户上传图片保存时会生成一个4KB左右的小图片,也就是缩略图。

之前我把原图和缩略图都保存在同一个硬盘分区下,并且图片上传的图片经常会删除一部分。

用户上传的原图一般大小在 1K - 2M,缩略图一般小于 4K,如果把原图和缩略图放在一起,经过一段时间后(写入、删除),会产生大量的碎片。

应该把大图存放在一个分区,比如:D盘,缩略图由于大小基本差不多,存放到E盘。

这样效果应该会好一些。

至于在多个线程下,每个线程都在写入文件,如何避免产生大量的文件碎片,谁能告诉我?

2014-03-06

时间: 2024-10-24 07:53:50

硬盘性能 & 文件碎片的一些思考的相关文章

精品软件 推荐 硬盘性能提升工具 Primo Ramdisk 内存虚拟成硬盘软件

硬盘性能提升工具  Primo Ramdisk Primo Ramdisk 是 VSuite Ramdisk 的第二代产品.相比 VSuite Ramdisk,它实现了更多的功能,更好的性能,以及更友好的用户界面.和 VSuite Ramdisk 同样,Primo Ramdisk 提供了对传统硬盘性能瓶颈问题的有效解决方案.它采用独特的软件算法,高效率地将物理内存虚拟成物理硬盘,使得对硬盘文件的数据读写转化为对内存的数据访问.由于物理内存的访问速度远远超过传统硬盘,因此可以极大的提高数据读写速度

Linux硬盘性能检测

对于现在的计算机来讲,整个计算机的性能主要受磁盘IO速度的影响,内存.CPU包括主板总线的速度已经很快了. 基础检测方法 1.dd命令 dd命令功能很简单,就是从一个源读取数据以bit级的形式写到一个目标地址,通过这种方式我们就可以检测我们实际磁盘在linux系统中的读写性能,不需要经过任何检测软件而就是去读取数据,一般来讲用dd来检测磁盘的性能也被认为是最接近真实情况. 用法:dd if[数据从哪里读取,一般来讲从dev下的zero设备,这个设备不断返回0作为数据源]  of[把读取的文件写入

机械硬盘与SSD固态硬盘性能的深度

从7200转硬盘升级到10000转的迅猛龙,那叫量变.从10000转的迅猛龙升级到SSD,这个叫质变.2者的差距是有些地方相当大,而有些却很接近,主要是难比较. 经常听到有人说:我买2个黑盘组RAID 0,传输率也有接近250MB/s了,这个速度和Intel X25-M不相上下了,写入还高,容量又大,性价比明显好.一开始还试着会去纠正下他这个错误的观念,后来麻木了.有时候并不是他不懂,可能他是个商家,或者是刚买了黑盘的用户,又或者只是想"炒作"下,世界之大,啥人都会有么. 废话不多说了

JS——普通添加li元素和文件碎片添加li元素

创建10000个li元素案例,把普通方法和碎片化方法进行比较 (1)普通添加li元素案例,代码如下图: 运行结果见链接: https://ytraister.github.io/js-text/js%E4%BB%A3%E7%A0%81%E6%BC%94%E7%A4%BA/JS%E2%80%94%E2%80%94%E6%99%AE%E9%80%9A%E6%B7%BB%E5%8A%A0li%E5%85%83%E7%B4%A0%E5%92%8C%E6%96%87%E4%BB%B6%E7%A2%8E%E

文章生成器,Split方法截取字符串。从硬盘读取文件,和向硬盘存储文件参考代码

string x, y; private void button2_Click(object sender, EventArgs e) { textBox2.Clear(); if (button4.Enabled == false) { string[] shuzu = y.Split(new char[]{'.'}); //用split方法截取字符串 string news = ""; // 将截取字符串后的语句打乱顺序 for (int i = 0; i < shuzu.L

linux cifs自动挂载远程windows硬盘或文件夹

第一步: 在要挂载的windows系统中找到需要挂载的硬盘或者文件夹,把它设置为共享 第二步: 在linux系统/mnt目录下创建一个文件夹 第三步: 测试挂载 #mkdir /mnt/share #mount -t cifs -o username=administrator,password=123456 192.168.1.12:Download /mnt/share 第四步: 设置自动挂载 vi /etc/fstab //192.168.1.12:Download  /mnt/share

hdparm测试硬盘性能

<1>Centos安装hdparm测试硬盘性能 一.安装hdparm yum install hdparm -y Linux学习,http:// linux.it.net.cn 二.评估读取 SSD 硬盘,请使用hdparm命令进行读取测试. hdparm -t /dev/sda1 Linux学习,http:// linux.it.net.cn SSH执行以上命令,可使用hdparm评估SSD的读取速率. 注意,“/dev/sda1”指的是对应磁盘的驱动号,请执行“fdisk -l”查看.

【JavaScript】利用文件碎片DocumentFragment改进兼容IE6可调可控的图片滑块

上次在<[JavaScript]兼容IE6可调可控的图片滑块>(点击打开链接)的算法写得很不好,如果你要做N个图片的图片滑块,每次显示X张图片,则要一次性地多加载X-1张图片,还要用一种显示框移动的方法去实现.更可怕的是,还要理所当然地认为就是这样的.虽然这个违背常人思维方式在网上广泛流传,而且好像还是公式一样,就只有一种实现方法,其实不是的,明显可以利用文件碎片DocumentFragment去实现图片滑块,如果你要N个图片的图片滑块,就加载N个图片,这才是正常的.关键利用文件碎片,实现20

【JavaScript】利用sort()函数与文件碎片实现表格的前端排序,兼容IE6原生态

表格排序在网页的应用也很多,尤其是一些信息系统输出一个密密麻麻的表格给人看,客户肯定会提出表格排序的要求.很多人定式思维地认为表格的排序一定要通过数据库后端进行交互,使用带order by asc/desc的语句去实现,然后再利用ajax似乎很完美似得.其实根本就不用与数据库打交道.在前端给出任意一个表格,都能够利用sort()函数与文件碎片实现表格的前端排序.在jquery里面是有一个advanceTable的插件做这件事,但是这个插件相当不好的是什么呢?与平常的插件一样,代码写得天花龙凤,没