Eget testprogram för hårddiskar [behöver testare]

Permalänk

Eget testprogram för hårddiskar [behöver testare]

Goddag gott folk

De senaste månaderna har jag roat mig med att skriva ett eget program för att testa hårddiskar. Nu har jag kommit så långt att programmet fungerar hyfsat bra. Eller rättare sagt, jag antar att det fungerar bra Det är därför jag skapar denna tråd. Jag behöver fler testare och många åsikter.

Programmet är skrivit i c++ och använder gamla hederliga winapi:et. Programmet behöver inga extra filer och fungerar att köra utan installation.

Programmet behöver förmodligen köras som administratör på vista. Tyvärr är det odefinierat vad som händer då man inte gör det. Jag har helt enkelt inte testat det än. Förmodligen är det enda som händer att man inte kommer åt att läsa från diskarna.

Gränssnitt:
Gränssnittet är på inga vis färdigställt.

Högerklick - Stäng fönster / Stäng diagram.
Vänsterklick - Flytta fönster.
Dubbel vänsterklick - Maximera / minimera diagram.
CTRL & Run-knappen - Testa samtliga valda diskar.

Komma igång:
Välj vilken disk du vill testa uppe i höger hörn.
Drag och släpp den valda disken på en diagramyta.
Välj de inställningar som du vill använda.
Tryck på Run-knappen som är placerad i nedre högra hörnet på diagrammet.

Inställningar:
File Size - Storleken på testfilen. Varning: Överskrid inte 4GB. Välj multipel av sektorstorleken. Se till så att du har tillräckligt med ledigt minne innan du väljer högre siffror.

Points - Antalet testpunkter. Välj ett värde som är <= 500.

preRead - Minimera beroende av accesstiden. Välj helst en sektor. Samma krav som för File Size. Välj inte en siffra som högre än File Size.

Filter - Jämnar ut kurvan Välj ett lågt värde. Ett värde högre än Points gör ingen nytta.

Sequence - Antalet gånger i följd som testfilen ska testas. När File Size är lågt kan man få lite snyggare resultat om man ökar denna inställning. Välj ett värde som är < 100.

Systemkrav:
Vista
XP

Nedladdning
64-bitars OS. [300 kB] [v0.07]
32-bitars OS. [256 kB] [v0.07]

TODO:
Accesstidsmätning.
Alternativt GUI.
Spara inställningar.
Trimning av inställningar.
Felkontroll av inställningar.
Spara bilder.
Fler testlägen.
Ändra Device till Physical.
Ändra Disc till Drive.

Bilder: Om bilderna är små och förvrängda. Förstora fönstret eller högerklicka på bilden och välj visa bild.

Uppstart.

Test av c:\

Permalänk
Medlem

Ser snyggt ut men hur, rent tekniskt, fungerar det (blir jäkligt nyfiken)?

Permalänk

Det fungerar ungefär som när man läser från en vanlig fil. Man sätter en pekare mot början av disken och läser data därifrån. Sen flyttar man pekaren till nästa mätpunkt och läser data som är lagrat där.

Innan man läser från hårddisken så kontrollerar man vad klockan är. När man har läst klart så kontrollerar man klockan igen. Tidsskillnaden blir då hur lång tid det tog för att läsa det angivna intervallet.

Klockan som används är en högprecisionsklocka som finns inbakat i operativsystemet.

Det är faktiskt inte så invecklat. Det svåra är att leta fram rätt funktioner.

Det som tagit längs tid att utveckla är den grafiska biten.

Permalänk
Legendarisk

*Titel ändrad på begäran.*

Visa signatur

Abstractions all the way down.

Permalänk
Citat:

Ursprungligen inskrivet av Biber
*Titel ändrad på begäran.*

Tackar så mycket

Permalänk
Medlem

Varför valde du att göra ditt fönster borderless? Känns mest jobbigt för en applikation som denna =/

Sedan så slänger den en exception när jag trycker på comboboxen ovanför "Device".

Permalänk

Att programmet är borderless beror på att detta projekt har ärvt fönstersystem fån ett äldre projekt. I det gamla projektet försökte jag göra ett eget fönstersystem baserat på open GL. I en senare version kommer jag lägga in så att ett vanligt fönster öppnas. Man ska trots allt inte tvinga på användaren ens egna preferenser

Felmeddelandet ser inte bra ut. Ska se efter om jag hittar något uppenbart fel. Jag har ganska många felkontroller på just den biten så programmet borde klarat av att hantera det mesta.

Vilket operativsystem använder du? Har du administratörsrättigheter till hårddisken? Får du samma fel om du väljer Disc istället? Device måste gå djupare för att få ut enheterna.

Edit: Tack för att du tog dig tid för att testa, det uppskattas

Permalänk
Medlem

Sitter på en dator med Vista (vet inte om just detta kan förstöra om du utvecklat under xp?) och jag får inget sådant problem om jag går igenom "Disc".

Permalänk
Citat:

Ursprungligen inskrivet av msl
Sitter på en dator med Vista (vet inte om just detta kan förstöra om du utvecklat under xp?) och jag får inget sådant problem om jag går igenom "Disc".

Utvecklar på Vista men jag kör med administratörsrättigheter. Kan vara det som spökar. Ska testa att skapa ett nytt konto att testa mot.

Jag la till en version 0.02 av programmet. Flyttade en felkontroll och modifierade en annan. Förhoppningsvis förhindrar detta att det blir fel.

När du väljer "Disc". Vad händer då? Får du upp en lista med enheter? Går det att välja en av dessa och få upp relevant information i rutan under?

Exempelvis:
Rad 1: c:\
Rad 2: 150 GB

Edit: Nu har jag testat med ett konto som inte är administratör, dock med UAC avstängt. Hos mig fungerar det att klicka på comboboxen. Dock blir det fel när jag väljer att dra & släppa en enhet under "Disc". Enda valbara enheten var ett minneskort. Då får jag fram samma fel som du fick med 0xc00000A3.

Permalänk
Medlem

Jag får fortfarande samma problem "Device" men endast första gången jag försöker få fram den. Försöker jag sedan en andra gång så får jag fram en lista som ser ut som följande:

0 [Fixed]
0 [Fixed]
1 [Fixed]

Antar att 0 är min första fysiska disk som är partitionerad och 1 är min andra.

Under "Disc" får jag alltid:
A:\ [Removable]
C:\ [Fixed]
D:\ [Fixed]
E:\ [CDROM]
F.\ [Fixed]
G:\ [CDROM]

Att välja någon av dessa går utmärkt.

Permalänk

Uppdaterade mitt tidigare inlägg.

Att du får 0 två gånger beror på att den är partitionerad. För att hitta de fysiska adresserna så går jag igenom samtliga partitioner. Eftersom jag inte tar bort dubbletter än så kan de komma med flera gånger.

Ska se om jag hittar något mer att ändra på.

Fungerar det att testa en disk också?

Edit: Uppdaterade till version 0.03. La till ytterligare en felkontroll. Tog bort dubbletter i "Device".

Edit 2: Nu hittade jag nog något. Det är möjligt att felet hänger ihop med din diskettenhet. I version 0.04 ändrade jag så att "Device" endast letar fram diskar markerade med [FIXED]. Testa gärna igen

Edit 3: Version 0.05: Ny icon för att matcha min nya avatar

Permalänk
Medlem

Testade det precis på min HP NC4200(laptop) med win XP 32bit.

När startar programmet är det helt tomt. Det är bara en tom ruta med blå ram och inget mer.

Visa signatur

Bloggar om Hemautomation på HomeAutomateIt.com

Permalänk
Medlem

Provade nu igen med senaste versionen men får fortfarande samma fel.

Permalänk
Medlem

Får samma problem som pekz0r

Kör WinXP SP3 x86, svenska

Permalänk
Citat:

Ursprungligen inskrivet av pekz0r
Testade det precis på min HP NC4200(laptop) med win XP 32bit.

När startar programmet är det helt tomt. Det är bara en tom ruta med blå ram och inget mer.

Så borde det inte gå till Hos mig fungerar det i XP. Ska undersöka saken.

Citat:

Ursprungligen inskrivet av msl
Provade nu igen med senaste versionen men får fortfarande samma fel.

Typisk. Jag som trodde jag hade hittat felet Suck, tillbaks till ritbordet.

Edit 3: Trodde att jag hade rättat felet tidigare men det visade sig att jag hade lämnat ett anrop utanför if-satsen. Hoppas det fungerar nu. v0.07.

Citat:

Ursprungligen inskrivet av harre
Får samma problem som pekz0r

Kör WinXP SP3 x86, svenska

Kanske har med sp3 att göra. Ska ta och installera det på min vituella maskin och testa.

Edit 1+2: Sp3 påverkade. Återkommer när jag hittar felet. Förhoppningsvis fixat i v0.06.

Permalänk
Medlem

Provat senaste versionen, nu får jag inget exception men istället så finns endast "0 [Fixed]" i listan och inget annat.

Permalänk
Citat:

Ursprungligen inskrivet av msl
Provat senaste versionen, nu får jag inget exception men istället så finns endast "0 [Fixed]" i listan och inget annat.

Ett fel åtgärdat

"1 [Fixed]" skulle dock också varit med Jag tittade lite hastigt på koden och kunde inte direkt se något fel. En möjlighet är att den disken har varit i strömsparläge när du testade. Jag är inte säker att just det skulle påverka men man vet aldrig.

Om du har tid över så testa med att först väcka liv i disken innan du kör mitt program.

Permalänk
Medlem

@Korkskruv

Citat:

Kanske har med sp3 att göra. Ska ta och installera det på min vituella maskin och testa.

Edit 1+2: Sp3 påverkade. Återkommer när jag hittar felet. Förhoppningsvis fixat i v0.06.

Körde version 0.07 och i den verkar det funka finfint att köra i SP3...

Hittade även ett stavfel, Iteration istället för Itteration

Men annars verkar det funka som de skall..

Permalänk
Citat:

Ursprungligen inskrivet av harre
@Korkskruv

Körde version 0.07 och i den verkar det funka finfint att köra i SP3...

Hittade även ett stavfel, Iteration istället för Itteration

Men annars verkar det funka som de skall..

Bra att det fungerar. Kommer att rätta stavfelet tills nästa version. Tack för att du påpekade det

Permalänk
Medlem

Korkskruv,

Jag gjorde en översättning på ditt första inlägg och kopierade nästan hela inlägget till ett notebook-forum, var någon som vart nyfiken över vad för program jag hade testat med så jag la upp det där.

Du får säga till om du vill att jag ska ta bort det eller om det är lugnt för dig!

http://forum.notebookreview.com/showthread.php?p=3989307#post...

Programmet funkar f.ö helt utan anmärkning för mig, dock skulle jag vilja ha de feautures som du velat lägga till i ditt program:)

Visa signatur

W10 - Fractal Design Define S - Asus ROG x570f
3700x @ 4.25GHz - 2x16GB Corsair Dominator @ 3733c16 - Asus VG279QM
Asus RTX 2070 Super Dual EVO - RM750x - G305 - G533 - DuckyOne2Mini

Permalänk

Det är lugnt. Härligt att programmet fungerar.

Just nu håller jag på att undersöka vilka möjligheter som finns tillgängliga för att skapa ett sådant program för Ubuntu. Tog också en paus för att fundera ut hur man på ett bra sätt kan få fram accesstiden. Eller åtminstone kunna mäta någon form av minihastighet.

När jag fått till lite mer feautures från listan så kommer jag förmodligen gå över till att ge ut det som öppen källkod

Permalänk
Medlem

Hittade det via din signatur!

Det fungerar bra

Med samma inställningar som på andra bilden får jag max 109, min 49 och mean 87 Det är en Western Digital AALS 6401 Black 32MB Cache (640GB) kopplad till ett moderkort med Sata 1 mappad via PATA kanalen med 865 chipset Kan hårddisken vara begränsad då?

Fungerar även på min EEE PC 701 med en 4GB SSD. Med samma inställningar får den Max: 31MB/s, Min: 23MB/s och Mean: 30MB/s!

Visa signatur

Arch Linux - i5 12500@4.75GHz - Asrock B760M PG Riptide - 32GB DDR5 6000MHz - RTX 2070 Super - 1TB SN770 - 1TB SN550 - U32PWQU 4K
Dell Latitude 7400 2 in 1 - Arch Linux - i5 8265u

Permalänk

Jag blir lika förvånad var gång denna tråd kommer upp Kul att det fungerar.

Jag tror inte att din disk är begränsad. Om det nu skulle vara så att den blir lite begränsad så är det så pass lite att det aldrig kommer att märkas Tänk på att den mätta siffran är tagen under väldigt gynnsamma förhållanden. I praktiken, vid normal användning, så når man sällan upp till dessa värden.

Du kan testa att bocka av rutan som heter preRead. Då kommer du att få fram värden som är mer likt vad du har under normala förutsättningar. Dina vanliga disk borde då få ett värde som är mycket lägre medan din EEE PC borde ha ett oförändrat värde

Permalänk
Medlem

För din och harres information, det heter fortfarande iteration. Har alltid gjort det.

Permalänk

Jovisst gör det det. Det är bara inte rättat ännu. Eller snarare, det är rättat men jag har inte lagt ut en ny version. Om du stör dig mycket på det kan jag start upp vista imorgon och kompilera nya filer

Fast om man tittar i koden så finns det fortfarande gott om stavfel.

p = position(p.width+10, p.y, 80, 20); editItt = Edit(L"Iteration", 1, ID, hWnd, p);

Permalänk
Medlem

Fy helvete vad dåligt resultat jag fick, bra program dock!
Max: 56 Mb/s
Min 8.15Mb/s
Mean: 35Mb/s

Dags att köpa ny hdd?

edit: Såg att det inte fungerar för många, jag kör Xp Sp3 Pro så du vet.

Permalänk
Medlem

Riktigt nice program och för mig fungerar det finemang, Vista x64.
Jag undrade mest om du kommer att ge ut koden som open source, och isåfall när?
Jag är väldigt nyfiken på den, säkert en del andra också.
MVH HermitoZ

Visa signatur

PhII 955BE TRUE | Gigabyte 790FXT-UD5P | GTX 960 4GB | 16GB 1333MHz | Intel 330 120GB | 20TB | Corsair HX520 | Antec P182 | 27" BenQ VA | 2x 22" BenQ | 46" TV

Permalänk

Hittade den här tråden i din signatur

Testade att köra programmet och får read mismatch på en av diskarna. Övriga tre ger resultat däremot. Har haft problem med CRC-fel tidigare så antar att det är disken som spökar.

Har du något förslag på hur man kan utforska det här djupare?

Disken är en gammal WDC 200GB S-ata.

Permalänk
Medlem

Kör programmet under Win7 x64 och det fungerar nästan fel fritt.
Det stängde av sig en gång men det var bara att starta upp det igen så fungera det fel fritt.
Dum som jag var så glömde jag spara eventuellt felmeddelande
UAC satt på det lägsta/avstängd, inget AV/FW program.

Max 34 MB/s
Mini: 25 MB/s
Mean: 27 MB/s

Ganska nöjd eftersom det är en laptop, 7200RPM Sata disk i för sig ^^
Dessutom kördes testet på batteridrift men i högprestanda läge.

Visa signatur

7700k | ASUS Z270 ROG MAXIMUS IX HERO | 32GB 3000mhz Corsair Vengeance LED | 2x Samsung 960 EVO 500GB |
ASUS 3070 Ti TUF | Define R5 | 3x ASUS MG278Q 144hz | Logitech G903 | Corsair K70 RGB MK.2| Sennheiser Game Zero

Server | 3770k @ 4.5 GHZ | ASUS Sabertooth Z77 | 32GB 1600mhz Corsair DOMINATOR PLATINUM | Samsung 840 Pro 256GB | Samsung 840 EVO 250GB | Fractal Design Define R2 |

Permalänk
Citat:

Ursprungligen inskrivet av Korkskruv
Jovisst gör det det. Det är bara inte rättat ännu. Eller snarare, det är rättat men jag har inte lagt ut en ny version. Om du stör dig mycket på det kan jag start upp vista imorgon och kompilera nya filer

Fast om man tittar i koden så finns det fortfarande gott om stavfel.

p = position(p.width+10, p.y, 80, 20); editItt = Edit(L"Iteration", 1, ID, hWnd, p);

Tror han menar att iteration är den korrekta stavningen, vilket det är!

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase