Cum se calculeaza %busy la HDD-uri in UNIX?, Ce parametri mai intra in ecuatie ?
![]() ![]() ![]() |
Cum se calculeaza %busy la HDD-uri in UNIX?, Ce parametri mai intra in ecuatie ?
i96nds |
![]()
Post
#1
|
||
![]() Stefan Group: Moderatori Posts: 2.708 Joined: 16 May 03 From: Bucuresti ![]() |
|
||
--------------------
Dacia
SLZ Scala 1.4/2003
- B-77-XXX Stefan
|
|||
cosmin_m |
![]()
Post
#2
|
![]() Membru autentic Group: Members Posts: 407 Joined: 27 October 04 From: Bucuresti ![]() |
Ce intrebari pertinente pui si tu
![]() Mi-ai dat tema de documentare... Ori e o functie legata de % utilizat din bus combinat cu numarul de platane/capete de citire folosite (si astea pot fi independente sau nu) si secventialitatea datelor, ori, daca stau bine sa ma gandesc, e legat numai de numarul de capete de citire active si de miscarile pe care le fac respectivele capete... Acuma, arhitectura interna a hdd-urilor difera foarte mult (1 platan si 2 capete pana la 8 platane cu 16 capete din care unele independente unele nu - la modelele SCSI), asa ca nu m-ar mira ca fiecare producator sa ofere informatia asta (%load) ca variabila ce poate fi citita prin interfata (prin /proc ceva). Mai sap diseara de acasa si postez daca descopar ceva interesant. |
--------------------
Lada / Logan
1200 / 1.6 8v ABS
- B-NN-MMM
|
|
DigitalScribe |
![]()
Post
#3
|
![]() Scribul Digital Group: Members Posts: 1.249 Joined: 5 October 04 From: Iasi ![]() |
In ziua de azi HDD-urile nu mai sunt accesate CHS (Cylinter Head Sector) ci LBA de cele mai multe ori (Logical Block Addressing) adica ceri HDD-ului un bloc din cele X cate are si restul e treaba lui (unele HDD-uri mai si remapeaza block-uri prin zone special rezervate atunci cand apare cate un bad pentru a nu arunca la gunoi HDD-ul ca in general badurile apar putine si in locuri incomode pe HDD).
Toata lumea vede la un HDD in primul rand capacitatea si apoi viteza magistralei de date (ATA66, 100, 133, S-ATA 160, S-ATA2 1.5Gb, etc...) si apoi... cu vreun benchmark mai vede si viteza maxima efectiv mecanica (throughput) la accesare secventiala. Un HDD e un dispozitiv mecanic si ca sa poti accesa un anumit bloc daca HDD-ul are capetele pozitionate gresit are de facut o operatie de ajustare care ia timp (masurat in milisecunde deci mult!). Cand apar cereri concurentiale HDD-ul in loc sa primeasca cereri de citire/scriere a unor zone apropiate (un fisier de exemplu care nu e prea fragmentat) caz in care pierde foarte putin timp cu miscatul capetelor primeste cereri pentru zone disparate de pe disc si are de efectuat operatii de ajustare a capetelor (HDD-urile mai vechi caraie cand se intampla asta, astea mai noi tac malc) care mananca timp pretios, timp in care discul nu este citit. Un alt aspect mai ascuns mai tine si de numarul maxim de operatii I/O care-l poti face cu acel dispozitiv. Uneori nu epuizezi viteza maxima mecanica a discului dar epuizezi numarul maxim de operatii I/O pe unitatea de timp caz in care sistemul se comporta greoi iar HDD-ul sta relaxat insa chestia asta apare mai mult din overhead-urile obtinute din apelurile sistem caz in care procesorul (sau unul din procesoare) se duce la 100%. Cel mai des insa pui HDD-ul sa faca mai multe odata si incepe sa piarda timp cu frecatul capurilor in incercarea de a jongla cu toate cererile. Aici intervine NCQ-ul la HDD-urile S-ATA mai noi. Unele HDD din generatia de ultima ora stiu sa optimizeze miscarea capetelor prin executarea "out-of-order" a cererilor. HDD-ul in loc sa sara de pe cilindrul 1 pe 20 si apoi pe 5 inapoi sare de la 1 la 5 si apoi la 20 inregistrand in bufferul sau rezultatele si apoi preda informatiile in ordinea ceruta ca si cum ar fi executat exact dupa cerere. In felul asta capul HDD-ului parcurge distane minime si performanta in conditii concurentiale (mai multe aplicatii care scriu pe disc simultan sau mai multi clienti care lucreaza pe un server, etc...) este imbunatatita. Iti poti imagina asa. Ai un HDD care are o viteza maxima. Daca ar fi citit in continuu fara ca sa trebuiasca sa pui pauza, sa misti capetele si apoi sa reincepi citirea HDD-ul respectiv ar functiona la viteza lui maxima. Notam viteza maxima cu V in MegaBytes / secunda. O secunda are 1000 milisecunde. Daca in secunda respectiva se intampla ca acele capete de HDD sa fie miscate apare o pauza de ... 10 milisecunde de exemplu. Deci in loc sa citesti 1000 milisecunde ... citesti doar timp de 990 milisecunde. Deci ai viteza maxima in acea secunda de V / 1000 * 990 = V` care V` < V. Daca in acea secunda insa ai de efectuat 40 de operatii de miscat capetele si timpul mediu care se pierde la fiecare miscare e de 12 milisecunde de exemplu. In loc discul sa fie citit timp de 1000 milisecunde e citit timp de 1000 ms - 40 * 12 ms = 520 ms. 520 milisecunde e deja mult mai putin decat 1000, aproape la jumatate. Daca discul ar avea NCQ si ar sti sa optimizeze cautarea pe disc ar putea reduce acel 12 ms in 3 ms de exemplu si diferenta ar fi ca se pierd doar 40 * 3 = 120 ms in loc de 480 ms => crestere de performanta. This post has been edited by DigitalScribe: 3 Dec 2005, 10:05 |
--------------------
Renault Espace V
Renault Zoe
D-Max 2022
- n/a
|
|
i96nds |
![]()
Post
#4
|
![]() Stefan Group: Moderatori Posts: 2.708 Joined: 16 May 03 From: Bucuresti ![]() |
Scuze ca nu am putut da mai multe detalii atunci.
Chestia e ca discurile de care vorbesc sunt de fapt parte a unui storage extern legat pe fibra optica de servere. (FAStT - de la IBM). Conexiunea pe fibra e la 2 GB /s. Deci discurile astea pe tehnologia de fibra optica sunt chiar mai destepte decat cele SCSI. Masina asta de discuri are propriul procesor si are si 2 controllere. Deci stie sa munceasca singura ca sa nu faca overhead la S.O. Aici am facut un RAID5 din 7 HDD-uri fizice. Cand sistemul de operare detecteaza aceasta el va vedea doar un singur Hard-disc logic. Capacitatea lui e cea care trebuie, adica ceea ce e vizibil (cat 6 hdd-uri fizice). Aici e problema mea. Cred ca undeva e un parametru in S.O. care il face sa creada ca e hard-disc fizic obisnuit. Trebuie sa il fac sa inteleaga ca de fapt sunt in spate 7 spindles si deci poate mai mult. Am impresia ca parametrul respectiv il limiteaza in comunicatia cu hdd-ul asta logic si nu ii da suficient de lucru, deci nu stie sa il puna la treaba cat trebuie. Ce parerea aveti? This post has been edited by i96nds: 7 Dec 2005, 10:57 |
--------------------
Dacia
SLZ Scala 1.4/2003
- B-77-XXX Stefan
|
|
saddan |
![]()
Post
#5
|
![]() .......... Group: Members Posts: 225 Joined: 15 August 05 From: Cluj-Napoca ![]() |
Umila mea parere, dat fiind vorba de servere in propozitiunea de mai sus, este sa nu iti bati capul cu %busy HDD deoarece O.S. UNIX in general lucreaza foarte mult pe memorie si nu freaca HDD-urile (ca in WINDOWS)... deci daca ai memorie suficienta in sistem poti fi fericit...
cu bine |
--------------------
Dacia
Logan Preferance/Duster Laureat 4X4
2005/2010
- cj yz msd/cj zy dsm Nu Duster-ul e low-cost.... celelalte SUV-uri sunt exagerat de scumpe;)
|
|
MariusI |
![]()
Post
#6
|
![]() Membru autentic Group: Members Posts: 344 Joined: 24 March 03 From: Bucuresti ![]() |
Nu exista nici o limitare in linux by default (afaik) care sa duca la sub-folosirea unui periferic, numai pentru ca el 'crede' ca e altfel. In plus, perifericul asta particular nu e gestional deloc de SO, ci de SO-ul lui propriu, si Linux-ul gestioneaza numai comunicatia.
Deci, daca ai probleme, probabil sunt legate fie de configuratia NAS-ului, fie de configurarea comunicatiei. Incearca un hdparm -t /dev/ce_ai_tu_acolo, in caz ca hdparm 'vede' device-ul |
--------------------
Solenza
Scala Dixit.
|
|
![]() ![]() ![]() |
Lo-Fi Version Harta site Parteneri Jocuri online Curs Valutar HRH Haine din lana merinos | Time is now: 23rd July 2025 - 23:50 |