geos wrote:
>
> thanks for response Bob.. yes, I thought about a .BAT file but in my
> situation a) it would take me some time to learn how to write batch
> files, and b) I would like to have a tool which tests reading/writing
> to/from random generated sectors throughout the disk. I mean that some
> areas could not be tested using the batch file (I may be wrong about it)
> while using the tool that forces reading/writing to/from some areas
> would be better for me.
>
> I'm still looking on the Internet for such a tool, but "benchmarks,
> benchmarks" everywhere
>
> cheers,
> geos
>
You could also use windows script host and write it in VBScript or
Javascript. Below is a script that I had written to overwrite all
free space on a disk (as a cheap disk erase utility). All it does is
create unlimited 10MB files in a loop. You could use this to fill a
good part of your disk with files. Then, write another script that
randomly chooses one of the files, opens it, reads it into memory, and
closes it, all in a loop. You can run multiple copies of the scripts.
Make the file sizes smaller or larger depending on what you want to
test.
Download the "Microsoft Windows Script 5.6 Documentation" from
<a style='text-decoration: underline;' href="http://msdn.microsoft.com/scripting/" target="_blank">http://msdn.microsoft.com/scripting/</a> for reference. If you know
programming, you can learn windows scripting very fast from the
documentation.
Here is the script:
erasefreespace.vbs
-----------------------------------------
Option Explicit
DIm objFSO, objDrive, objBlankFile
Dim NumberCreated, TotalRunTime
Dim MaxGB, S, E, CurrentGB, CurrentMB
Dim AverageSpeedMBPerSecond, TimeLeftSeconds
Dim str10MBString
Set objFSO = CreateObject("Scripting.FileSystemObject")
NumberCreated = 0
TotalRunTime = 0
str10MBString = String(10000000,"0")
Set objDrive =
objFSO.GetDrive(objFSO.GetDriveName(WScript.ScriptFullName))
MaxGB = Int((objDrive.TotalSize / (2 ^ 30))+1)
For CurrentGB = 0 To MaxGB
If Not objFSO.FolderExists("blanks"&CurrentGB) Then
objFSO.CreateFolder "blanks"&CurrentGB
End If
For CurrentMB = 0 To 100
If Not objFSO.FileExists("blanks"&CurrentGB & "\blank" &
CurrentMB & ".txt") Then
NumberCreated = NumberCreated + 1
S = Timer
Set objBlankFile = objFSO.CreateTextFile("blanks"&CurrentGB
& "\blank" & CurrentMB & ".txt", False, False)
objBlankFile.Write str10MBString
objBlankFile.Close
Set objBlankFile = Nothing
'objFSO.CopyFile "blank.txt", "blanks"&CurrentGB & "\blank"
& CurrentMB & ".txt"
E = Timer
TotalRunTime = TotalRunTime + (E - S)
If TotalRunTime <> 0 Then
AverageSpeedMBPerSecond = NumberCreated * 10 / TotalRunTime
TimeLeftSeconds = (MaxGB * 1000 /AverageSpeedMBPerSecond)
WScript.Echo "Wrote gigabyte " & CurrentGB & "." &
CurrentMB & " of " & MaxGB & ". Running at " &
Round(AverageSpeedMBPerSecond, 2) & " MB/s. Time left = " &
Round(TimeLeftSeconds/60,2) & " minutes."
End If
End If
Next
Next<!-- ~MESSAGE_AFTER~ -->
>> Stay informed about: hdd intensive test utility?