home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 June / PCWorld_1999-06_cd.bin / Hardware / Drivers / h2bench / LEESMIJ.TXT < prev    next >
Text File  |  1999-01-20  |  16KB  |  318 lines

  1. H2bench -- by Harald Boegeholz / c't magazin voor computertechniek
  2. Copyright (C) 1999 Verlag Heinz Heise GmbH
  3. ==================================================================
  4.  
  5.  
  6.  
  7. H2bench werkt onder DOS en benadert de harde schijf direct via de
  8. BIOS. Om onze metingen te kunnen verifiëren moet je DOS zonder
  9. eventuele schijf-cache programma's en alleen met de hoogst
  10. noodzakelijke drivers booten. Als je een SCSI-Adapter van NCR of
  11. Symbios Logic gebruikt en de SDMS-BIOS versie 3 hebt, is de
  12. Doscam-driver nodig; zonder deze werkt de harde schijf alleen maar in
  13. de langzamere a-synchrone SCSI-busmode. 
  14.  
  15. Bij EIDE-schijven hangt het van het BIOS van de EIDE-adapter af, of er
  16. een driver nodig is. Het BIOS van ons inmiddels enigszins verouderd
  17. testsysteem (Asus P/I-P55TP4XE) haalt ook zonder driverhulp de
  18. volledige performance. Bij de meeste Pentium-Pro- en
  19. Pentium-II-systemen is dat echter anders, omdat het veel gebruikte
  20. Award-BIOS de EIDE-interface niet met volledige snelheid kan
  21. aanspreken (zie ook onder bij FAQ). Als de fabrikant van zo'n board
  22. een DOS-driver voor de EIDE-interface bijlevert die geschikt is voor
  23. de busmaster, kun je deze het best installeren.
  24.  
  25. In een DOS-box van Windows, Windows 95/98/NT of OS/2 zijn de
  26. meetresultaten van H2bench niet betrouwbaar. Ook drivers zoals Emm386,
  27. die de processor omschakelen in de virtuele 8086-modus, zorgen voor
  28. foutieve meetresultaten en moeten dus niet worden geladen.
  29.  
  30. H2bench verwacht het nummer van de te testen schijf als parameter op
  31. de commandoregel samen met schakelopties die aangeven welke tests er
  32. moet worden uitgevoerd. Wanneer er geen parameter is opgegeven
  33. presenteert het programma een korte helptekst. Alle opties moeten in
  34. onderkast ('kleine' letters) worden opgegeven; de volgorde is
  35. willekeurig. De belangrijkste parameter is het nummer van de te testen
  36. schijf. De eerste fysieke schijf is nummer 0, de volgende 1
  37. enzovoorts. Indien alleen het schijfnummer wordt opgegeven, zonder
  38. opties, dan geeft H2bench de schijfparameters (cilinders, koppen,
  39. sectoren) en de totale capaciteit van de schijf weer. Indien er
  40. verscheidene schijven in het systeem aanwezig zijn, is het verstandig
  41. om H2bench in eerste instantie op deze manier aan te roepen zodat u
  42. zich kunt vergewissen dat de juiste schijf wordt getest.
  43.  
  44. Omdat H2bench de partitioneringsgegevens negeert en direct de schijf
  45. benadert zouden bij schrijven naar de schijf alle gegevens verloren
  46. gaan. Daarom wordt tijdens de benchmark normaliter alleen gelezen. Met
  47. de optie '-!' worden ook de schrijfmetingen geactiveerd. Deze
  48. functioneren -- uit veiligheidsoverwegingen -- echter alleen indien er
  49. geen partities op de schijf zijn gedefinieerd.
  50.  
  51. H2bench bestaat uit vier delen: De meting van de
  52. interface-transferrate (overdrachtssnelheid van de interface),
  53. zonemeting, Hdbench-meting en de meting van de gemiddelde toegangstijd
  54. (seek). De optie '-c <n>' (-c betekent, om historische redenen,
  55. 'Coretest') zorgt ervoor dat de meting van de interface-transferrate
  56. gebeurt bij <n> % van de schijfcapaciteit. Normaal gesproken wordt
  57. hier 0 ingevuld, omdat de meeste schijven daar het snelste zijn.
  58.  
  59. De optie '-z' activeert de zonemeting, '-s' de seek-meting
  60. (toegangstijd), De Hdbench-meting combineert lees- en schrijfacties
  61. met verschillende blokgroottes binnen een gebied op de schijf ter
  62. grote van 6 MByte. Met de optie '-h <n>' wordt deze meting uitgevoerd
  63. ter hoogte van <n> % van de schijfcapaciteit (de spatie tussen '-h' en
  64. '<n>' is belangrijk). Wij voeren de Hdbench-meting altijd in de
  65. snelste zone uit, die bij verreweg de meeste schijven helemaal
  66. buitenaan ligt; dus ter hoogte van 0% schijfcapaciteit.
  67.  
  68. Met de optie '-ha' zoekt H2bench zelf de snelste zone op. Hiertoe
  69. voert het programma eerst een zonemeting uit en bepaalt dan de
  70. Hdbench-zone aan hand van de gemeten leessnelheden. Omdat bij het
  71. bepalen van de snelste zone geen rekening wordt gehouden met de
  72. schrijfsnelheid kan het, in uitzonderlijke gevallen, voorkomen dat de
  73. verkeerde zone wordt gekozen. Bijvoorbeeld bij bepaalde EIDE-schijven
  74. van Western Digital, zoals de AC21600, stort de schrijf-performance in
  75. het buitenste deel van de schijf behoorlijk in elkaar. Het gewogen
  76. gemiddelde bedraagt daar slechts 2,95 MB/s. Wordt daarentegen gemeten
  77. op 20% van de schijfcapaciteit (waar de schrijfsnelheid nog in orde
  78. is), haalt de schijf een respectabele 3,39 MB/s. De optie '-a' tot
  79. slot, zorgt ervoor dat alle vier de metingen worden uitgevoerd; dit
  80. komt overeen met de combinatie van '-c', '-z', '-ha' en '-s'.
  81.  
  82. Doormiddel van de optie '-w <bestandsnaam>' wordt een <bestandsnaam>
  83. opgegeven voor het opslaan van de resultaten. De opgegeven naam mag
  84. niet van een extensie zijn voorzien, aangezien het programma deze zelf
  85. toevoegt. H2bench maakt twee resultaatbestanden aan met de extensies
  86. '.txt' en '.ps'. Het .txt-bestand is een ASCII-bestand dat begint met
  87. een samenvatting van de meetresultaten waarna de gedetailleerde meet-
  88. gegevens van de Hdbench- en zonemetingen volgen. Let op: de zonemeting
  89. heeft voor zowel lezen als schrijven tot 1000 meetpunten. De
  90. resultaten hiervan staan steeds op een aparte regel, om het inlezen
  91. met andere programma's te vereenvoudigen. Mocht u op het idee komen om
  92. het .txt-bestand af te drukken, denk er dan aan om het onderste deel
  93. van het bestand met een editor te verwijderen, anders komen er dertig
  94. pagina's 'getalletjes' uit de printer rollen.
  95.  
  96. Voor het maken van afdrukken is het .ps-bestand bedoeld. Hierin zijn
  97. -- in PostScript-formaat -- alle meetresulaten samengevat op één
  98. kantje A4. Wie een PostScript-printer heeft kan het bestand direct
  99. naar de printer sturen, bijvoorbeeld met de DOS-opdracht
  100.  
  101. copy /b bestandsnaam.ps prn
  102.  
  103. Wie over een minder edele printer beschikt, of de resultaten op het
  104. beeldscherm weer wil geven, kan de freeware-interpreter Ghostscript
  105. respectievelijk het programma Ghostview gebruiken. Deze programma's,
  106. die voor vrijwel alle besturingssystemen beschikbaar zijn kunt u
  107. gratis via het internet downloaden.
  108.  
  109. Ter documentatie kunnen de volgende opties gebruikt worden: '-tt' met
  110. daarachter de beschrijving van de harddisk (tussen aanhalingstekens),
  111. voor de 'titel' van de test. Op analoge wijze dienen '-tb' voor de
  112. BIOS, '-tc' voor de CPU, '-tm' voor het moederbord, '-ta' voor de
  113. (SCSI- of EIDE-) adapter. Aangezien deze componenten over het algemeen
  114. gelijk blijven, kunnen hun omschrijvingen ook, met het SET-commando in
  115. autoexec.bat, in omgevingsvariabelen (environment) worden opgeslagen.
  116. De variabelen heten respectivelijk H2btitle, H2bbios, H2bcpu, H2bboard
  117. en H2badapter en worden gebruikt indien de overeenkomstige opties niet
  118. op de commandoregel zijn gespecificeerd.
  119.  
  120.  
  121. Meestal hoef je dan tijdens het starten van de test dan alleen nog
  122. maar de omschrijving van de harddisk op te geven, bijvoorbeeld zo:
  123.  
  124. h2bench 0 -a -! -tt "Harddisk 42" -w 42
  125.  
  126. Deze opdracht zorgt ervoor dat op de eerste fysieke harddisk alle
  127. tests worden doorlopen en dat de resultaten worden opgeslagen in de
  128. bestanden '42.txt' en '42.ps'.
  129.  
  130.  
  131. Schijven groter dan 8 GByte
  132. ===========================
  133.  
  134. Vanaf versie 2.3 kan H2bench ook de nieuwe BIOS-functies (INT 13h,
  135. functies AH=41h tot 49h) gebruiken om schijven groter dan 8 Gbyte aan
  136. te sturen. De optie '-e' zorgt ervoor dat H2bench deze BIOS-extensies,
  137. indien beschikbaar, gebruikt. Indien de functies niet worden
  138. ondersteund, of niet correct werken, krijgt u een foutmelding. De
  139. waarschuwing "!!! Waarschuwing: blokgrootte is in conflict met de
  140. Phoenix EDD specificatie 1.1", die bij geactiveerde BIOS-Extensies
  141. optreed, kunt u gerust negeren mits er geen verdere foutmeldingen
  142. optreden (zie onder in het FAQ-gedeelte).
  143.  
  144.  
  145. Schijven groter dan 32 GByte
  146. ============================
  147.  
  148. De H2bench versie voor 2.26 had en fout: bij hardeschijven groter dan
  149. 32 GB leide dit tot vastlopers of tot mogelijk onjuiste meetgegevens
  150. van de schrijf-datatransfersnelheid. Gebruikt u s.v.p.de oude versie
  151. niet meer: gooi hem gewoon weg. Als u ergens een verouderde H2bench
  152. versie ziet, informeer dan s.v.p. de gebruiker over het bestaan van
  153. deze fout.
  154.  
  155.  
  156. Taalopties
  157. ==========
  158.  
  159. H2bench ondersteund op dit moment drie talen: Nederlands, Engels en
  160. Duits. De commandoregel optie "-nederlands" kiest de Nederlandse taal,
  161. "-english" de Engelse taal en "-deutsch" de Duitse. Via de
  162. environment-variabele H2BLANGUAGE kan de taal van tevoren ingesteld
  163. worden. Daardoor is het niet meer nodig om de taal met de hand in te
  164. stellen. Dit gebeurt via het set-commando in het autoexec.bat
  165.  
  166. SET H2BLANGUAGE=nederlands   voor Nederlands
  167.  
  168. SET H2BLANGUAGE=english      voor English
  169.  
  170. SET H2BLANGUAGE=deutsch      voor Duits
  171.  
  172.  
  173. Vragen
  174. ======
  175.  
  176. Vragen met betrekking tot H2bench kunt u per e-mail richten aan
  177. bo@ct.heise.de (in het Duits of het Engels).
  178.  
  179.  
  180. FAQ:
  181. ====
  182.  
  183. ?  De benchmark H2bench stopt steeds voortijdig met een schrijffout.
  184.  
  185. :  Indien de schijf fysiek beschadigd is kan de huidige versie van
  186.    H2bench de duur-transferrate (langdurig haalbare
  187.    overdrachtssnelheid) niet meten. Met de optie '-h <n>' (zie
  188.    handleiding) kan in elk geval de Hdbench-meting op een onbeschadigd
  189.    deel van de schijf worden uitgevoerd.
  190.  
  191. ?  Bij het starten van H2bench krijg ik steeds de foutmelding dat de
  192.    timer niet 'monotoon' loopt, en het programma stopt.
  193.  
  194. :  H2bench leest rechtstreeks de waarde van de timer om tot op de
  195.    microseconde nauwkeurig te kunnen meten. Bij sommige chipsets is de
  196.    systeemtimer echter een beetje 'buggy'; de laatste bits 'hobbelen'
  197.    en tellen niet altijd monotoon door. Dit is bijvoorbeeld het geval
  198.    bij de I/O-chip 82378/B van de Mercury/Neptune-chipsets.
  199.  
  200.    Dat heeft natuurlijk foutieve meetresultaten tot gevolg en daarom
  201.    test H2bench eerst de timer. Met de opie '-Tnocheck' kunt u het
  202.    testen van de timer uitschakelen, niet de bug. H2bench meet dan
  203.    welliswaar in grote lijnen correcte waarden, maar u moet niet
  204.    verbaasd zijn als er tussen de meetwaarden af en toe negatieve
  205.    getallen opduiken.
  206.  
  207. ?  Bij het gebruik van de optie '-e' krijg ik de melding "!!!
  208.    Waarschuwing: blokgrootte is in conflict met de Phoenix EDD
  209.    specificatie 1.1\n!!!"
  210.  
  211.  
  212. :  De BIOS-extensies die H2bench gebruikt zijn door Phoenix
  213.    gespecificeerd. In de specificatie staat dat je met één aanroep
  214.    maximaal 127 sectoren tegelijk mag overdragen. H2bench werkt echter
  215.    bij de zonemeting met een blokgrootte van 128 sectoren, hetgeen bij
  216.    de tot nu toe gebruikte SCSI-adapters van Symbios Logic en Adaptec
  217.    en met de Promise Ultra33 probleemloos ging. Met de waarschuwing
  218.    wil H2bench u hierop wijzen. Er zijn adapters (zoals de Promise
  219.    FastTrack) die exact de specificatie volgen en dus een overdracht
  220.    van 128 sectoren weigeren. Op zulke adapters werkt de zonemeting en
  221.    de meting van de interface-transferrate niet.
  222.  
  223.  
  224. ?  Ik kan uw metingen niet bevestigen: met mijn SCSI-schijf meet ik
  225.    belangrijk lagere waarden voor de schrijfsnelheid dan u.
  226.  
  227. :  Wij schakelen voor onze metingen bij SCSI-schijven principieel de
  228.    schrijfcache in (op de diskdrive). Zonder deze cache halen de
  229.    schijven bij het schrijven slechts de halve overdrachtssnelheid ten
  230.    opzichte van het lezen. Er is hiervoor een klein programma'tje van
  231.    Seagate dat ook op schijven van andere makkelijk werkt mits u een
  232.    ASPI-driver gebruikt. Het staat op de c't website onder de naam
  233.    Aspiid15.zip (ftp.fnl.nl/pub). SCSI-schijven onthouden deze
  234.    instelling voor de schrijfcache langdurig zodat het programma maar
  235.    één keer gebruikt hoeft te worden.
  236.  
  237.  
  238. ?  Ik heb versie 2.15 en 2.3 van H2bech. Welke is de nieuwste?
  239.  
  240. :  Het nummer na de punt geeft geen tiendes, maar een oplopend versie
  241.    nummer weer. Na 2.9 komt dus 2.10, daarna 2.11 enzovoorts. De
  242.    Huidige versie van 20.01.1999 heeft nummer 2.26.
  243.  
  244.  
  245. ?  Mijn harddisk haalt op de onboard-EIDE-interface van mijn
  246.    Pentium-II-board een maximale transferrate van ongeveer 7 MB/s,
  247.    hoewel hij volgens het c't-testbericht heel wat sneller zou moeten
  248.    zijn. Op een ouder Pentium-systeem haalt hij echter de volledige
  249.    performance.
  250.  
  251. :  De remmende factor is de IDE-interface van uw board, om
  252.    nauwkeuriger te zijn het BIOS. Naast de klassieke PIO-mode
  253.    (Programmed I/O, de CPU haalt ieder gegevenswoord apart bij de
  254.    interface af en schrijft het naar het geheugen) kunnen de
  255.    onboard-IDE-interfaces van gangbare boards ook als PCI-busmaster
  256.    werken en direct het hoofdgeheugen benaderen. Deze bedrijfsmodus is
  257.    vooral zinvol voor besturingssystemen die tot multitasking in staat
  258.    zijn, omdat het de CPU ontlast: terwijl de IDE-interface gegevens
  259.    verstuurt, kan de processor zich met andere zaken bezighouden.
  260.  
  261.    De IDE-interface is in de PIO-modus bij alle tot nu toe beschikbare
  262.    Pentium-Pro- en Pentium-II-chipsets duidelijk langzamer dan met
  263.    busmastering. Helaas hebben de programmeurs van het veel gebruikte
  264.    Award-BIOS niet de moeite genomen om busmastering te implementeren.
  265.    Zelfs IDE-schijven die Ultra-DMA kunnen gebruiken worden door het
  266.    Award-BIOS in de PIO-modus aangestuurd, hoewel het tijdens het
  267.    booten 'UDMA' meldt. Alleen bij een paar boards, waarvan de BIOS
  268.    van een andere fabrikant afkomstig is, behaalt de IDE-interface
  269.    zonder driver de volledige performance.
  270.  
  271.    Dit manco van de Award-BIOS heeft alleen effect op DOS
  272.    respectievelijk op DOS gebaseerde benchmarks zoals H2bench. Andere
  273.    besturingssystemen omzeilen het BIOS en benaderen de harddisk via
  274.    hun eigen drivers. Als deze drivers van busmastering gebruik maken
  275.    hoef je niet bang te zijn dat de snelheid erop achteruit gaat.
  276.    Informatie over busmastering en drivers vindt u op
  277.    http://www.bmdrivers.com. 
  278.  
  279.    De firma Triones verkoopt een voor busmastering geschikte
  280.    DOS-driver voor de LX- of BX-chipset. Sommige boardfabrikanten
  281.    (b.v. Gigabyte) leveren deze driver met hun boards mee. H2bench
  282.    behaalt hiermee de volledige performance. Zonder zo'n driver zijn
  283.    LX- of BX-boards met Award-BIOS voorlopig niet geschikt voor
  284.    performancemetingen met de H2bench
  285.  
  286.  
  287. ?  Mijn harde schijf bereikt op een ASUS P/I-P55TP4XE slechts een
  288.    continue transfersnelheid van ca. 6.3 MByte per seconde ofschoon
  289.    hij volgens een test in de c't behoorlijk wat sneller zou moeten
  290.    zijn. Ondertussen heb ik de harde schijf een paar dagen gebruikt en
  291.    zie daar hij bereikt nu opeens wel de volle snelheid. Hoe kan dat?
  292.  
  293. :  Dat kan aan de BIOS liggen. Menige BIOS-versie, zoals bijvoorbeeld
  294.    de versie 0203 voor het ASUS P/I-P55TP4XE gedragen zich anders op
  295.    een schone of door H2bench gewiste harde schijf, dan op een harde
  296.    schijf die al eens gepartitioneerd is geweest. De oorzaak zit hem
  297.    in het algoritme, dat de BIOS developers geïmplementeerd hebben
  298.    voor die gevallen waar de gebruiker een andere IDE-adapter
  299.    gebruikt.
  300.  
  301.    De BIOS probeert eerst uit te vinden of de IDE-adapter met 32-bit
  302.    benaderingen uit de voeten kan. Daarvoor leest het de eerste sector
  303.    vban de harde schijf, het master boot record, eerst met 16-bit
  304.    benaderingen in. Als deze een geldige partitie tabel bevat (te
  305.    herkennen aan de signatuur 0aa55h in de laatste beide bytes), leest
  306.    de BIOS vervolgens dezelfde sector nog een keer met 32-bit
  307.    benaderingen in, en test of de inhoud gelijk is. Alleen als dat het
  308.    geval is, werkt de BIOS in het vervolg met 32-bit benaderingen.
  309.    Bevat de partitietabel daarentegen vanaf het begin ongeldige data,
  310.    blijft de BIOS voorzichtheidshalve de met iedere IDE-adapter
  311.    kompatibele 16-bits benaderingen gebruiken. Dit uit zich in een
  312.    overdrachtssnelheid van niet sneller dan 6 á 7 MByte/s.
  313.  
  314.    Voer daarom voor de meting van H2bench eerst het bevel 'Fdisk /mbr'
  315.    uit, om de voor de BIOS benodigde signatuur in het Master boot
  316.    record te schrijven. Na herstarten zou de IDE-interface dan
  317.    gegarandeerd in de snellere 32-bit mode moeten werken.
  318.