作者supersax ((/‵Д′)/~ ╧╧)
看板Free_box
标题[讨论] 观察使用DSLite硬碟读写次数的方法
时间Fri Apr 6 20:29:59 2007
以下为转帖@ @"...
我比较好奇的是真的有这麽夸张吗= ="
DSLite已经用好几年了的说...
=========================================================
一、首先, 告诉大家如何观察一个应用程式对硬碟读取写入的次数
1.打开工作管理员,点选「选择栏位」的功能表项目
http://img263.imageshack.us/my.php?image=1273yx7.png
2.把「I/O写入次数」和「I/O读取次数」两个栏位勾起来後按下确定
http://img263.imageshack.us/my.php?image=iogjmg5.png
3.好了,每个程式所对应的硬碟写入读取次数就出现了
http://img263.imageshack.us/my.php?image=xfj0.png
二、接着先观察 DSLite 上传邮件档案对硬碟存取的次数
1.一打开 DSLite, 大约读取硬碟 4 万次(这跟资料笔数有关, 不多全部只有 1000 笔左
右)
http://img266.imageshack.us/my.php?image=o4ucd8.png
2.如何用 DSLite 寄信就不多做说明, 我们选择一个 9 MB 左右的档案, 并按下开始
http://img266.imageshack.us/my.php?image=ulwnp2.png
3.出现这个窗口
http://img266.imageshack.us/my.php?image=suau3.png
4.这时 DSLite 要预先把整封信件编码好, 再开始寄送, 这个过程读取硬碟 16 万次(每
9 MB)
http://img266.imageshack.us/my.php?image=ul20uai2.png
三、再来看 DSLite 下载邮件又是如何存取硬碟的
(如果因为演示图片太大被缩小了请点一下图片, 它就会还原比例)
1.重新打开 DSLite, 读取次数如之前 4 万次, 写入 4 万多次不知为何,
猜测是建立 .bak 档的时候写的
http://img263.imageshack.us/my.php?image=lcp0.png
2.选择下载一个 20 MB 的信件档。下载到 89% 的时候, 写入次数到达了 5 万多次,
也就是每下载 10 多 MB的邮空档, 就要写入约 1 万次
http://img263.imageshack.us/my.php?image=ijdu5.png
3.下载到 99% 的时候,就是大家所知道会停顿很久 CPU 飙高之时,
此时 DSLite 在做什麽呢? 原来它刚刚只是把信件下载到了 Temp 资
料夹, 此时要把信件里的附件档(因为附件一般经过 BASE64 的编码)
解码到目标资料夹。可是同样地它没有做缓冲区, 每不到 100 Byte
解码就直接输出, 此时硬碟写入次数会非常之快地的飙高。下面这张
图解信解到一半时已达到 269 万次:
http://img263.imageshack.us/my.php?image=99fy0.png
4.下面这张图出现 Stream Write Error 的错误, 因为我不敢让它写到
硬碟, 所以存放在 Ramdisk, 而 R 槽只剩下 9 MB 的容量, 所以显示出
这个写不进去了的错误. 也就是说, 解信每解 9 MB就要写入硬碟近 500
万次, 有人会说硬碟本来就是消耗品, 这是合理的开销, 可是, 它可以去
比较其它的下载软体, 是不是会这麽夸张, 就连 BT 也比不上. 明显这是
一个软体设计失当, 对硬碟的伤害无以复加
http://img263.imageshack.us/my.php?image=1905bg1.png
如果喜欢用 DSLite 上传或下载邮空, 请看完之後再好好考虑吧
另外资料笔数可别放太多笔, 每次打开 DSLite 没几笔就要多读个几万次了
建议大家用SMG吧.........
=====================================================================
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.171.178.221
1F:推 WGA:恩,这是smg作者写的 04/06 20:47
2F:→ HDTV:信者恒信,不信者恒不信 04/06 20:53
3F:推 snakeONE:好像在洪爷爷看过一样的东西.... 04/06 21:30
4F:推 CaMper8850:孩子的学习... 04/06 21:58