Sunday, February 19, 2012

малко за хард диска и колко бързо или бавно работи


Дефрагментирането на диска си е цяла наука. Общо взето при хард диска, има няколко детайла които играят ГОЛЯМА роля, при определянето на скоростта на диска. точно така, скоростта на диска е производна на няколко фактора.

Нещата които ПРЯКО се отразяват на скоростта на диска са:

Average Seek time - средно време за търсене

Full stroke Seek time - време за търсене, когато диска трябва постоянно да разхожда главите между първата и последната пътека това се казва full stroke.

File placement Optimization - оптимизация на работата чрез разположение на файловете - доста ценна екстра. Може да доведе до драстично намяляване на времето за четене.

Overall degree of fragmentation - общо ниво на фрагментация

MFT fragmentation - ниво на фрагментация на master file table - това е едно от нещата които могат наистина да забавят или ускорят диска

pagefile fragmentation - ниво на фрагментация на виртуалната памет под уиндоус. Това също може да укори или забави нещата.

system file scatter - до колко са разпръснати системните файлове

system file fragmentation - до колко с фрагментирани системните файлове

folder scatter - до колко са разпръснати папките

Frequently used file scatter and fragmentation - до колко са разпръснати често използваните файлове, и до каква степен са фрагментирани

infrequеntly used file scatter - до колко са разпръснати рядко използваните файлове

това което ти виждаш като непреместваем обем, това са всички системни файлове, регистри, page file ако ползваш хибернация - хибридно заспиване - съответно и файла за хибернация, които файлове са отворени със специален приоритет да са на разположение на ОС, и не могат да бъдат подредени, при нормално фрагментиране, тъй като ОС ги държи и ползва за всяка команда или действие които прави и получава.

Въпреки всичко дефрагментирането и консолидирането на тези файлове е възможно в така нареченият служебен режим това не е safe mode това е boot mode, където все още всички ресурси са свободни, тези файлове са в покой и ОС не ги пипа, и мога да бъдат разместени. Резултатът е положителен и осезаем.

както и малко понятия от геометрията, като си говорим за кръг не окръжност, как при еднаква ъглова скорост - равномерни обороти, линейната скорост към центъра е с между 180% и 240% по-ниска от тази по периферията. което автоматически прави първите 20% от радиуса по посока от периферията към центъра бързата част на диска, последните 25% бавната част от диска.

Ако седнем да си поиграем и с математиката, ще видим защо всичко до тук указва голямо влияние над скоростта на хард диска.

Фрагментирането е напълно естествен процес при работата на хард диска. За съжаление този процес е толкова вреден, колкото и естествен. Нека си представим че имаме програма, състояща се от 10 файла – основният *.ехе файл, и още 9 длл файла които са и нужни на програмата. Всеки от тези файлове е разкъсан средно на 11 фрагмента, и всичките са пръснати произволно из целия хард диск. Значи следва че хард диска трябва да направи 110 отделни процеса на достъп и четене (по един процес на достъп и четене за всеки фрагмент докато прочете всички фрагменти на всички файлове), за да прочете всичко което му е нужно. Това за хард диска е огромен проблем. Дайте да смятаме това във време, за типични показатели на един съвременен хард диск – колко време ще е необходимо на хард диска да изпълни дадената задача.

За всеки от 110-те фрагмента имаме следните времена:
време за достъп 8,9 милисекунди
латентност 4,2 милисекунди
време за намиране на пътеката 21 милисекунди
време за трансфер на вече прочетените данни до процесора или паметта 100 милисекунди.

Като съберем всичките стойности, това прави по 134,1 милисекунди на фрагмент
134,1 милисекунди на фрагмент, умножени по 110 фрагмента – 14 751 милисекунди – 14 секунди, 751 хилядни, нека го закръглим на 15 секунди за да прочете всичката информация и да я парти в паметта или на процесора.

Нека видим ако 10-те файла са дефрагментирани, и всеки файл е цял и не е разпокъсан, но 10-те файла са пръснати на произволни места из хард диска. Тогава имаме следните времена:

време за достъп 8,9 милисекунди
латентност 4,2 милисекунди
време за намиране на пътеката 21 милисекунди
време за трансфер на вече прочетените данни до процесора или паметта 100 милисекунди.
Като съберем всичките стойности, това прави по 134,1 милисекунди на файл
134,1 милисекунди на файл умножено по 10 файла, имаме резултат 1341 милисекунди (1,341 секунди) за прочитане на всичките 10 файла и пращането на информацията до процесора или паметта.

До тук с фрагментирането. Нека видим друг важен за производителността на хард диска показател – местоположение на файловете. В предният пример имахме 10 дефрагментирани файлове, пръснати на произволни места из хард диска. Нека сега да приложим процес който се нарича File placement optimization – оптимизация на работата чрез подреждане на файловете близо един до друг. Нека сега да видим какво се получава, когато тези 10 файла са едновременно дефрагментирани и подредени близо един до друг в съседни клъстери.

време за достъп 8,9 милисекунди
латентност 4,2 милисекунди
време за намиране на пътеката 21 милисекунди
време за трансфер на вече прочетените данни до процесора или паметта 100 милисекунди.

Като съберем всичките стойности, това прави 34,1 милисекунди за първия файл файл, и по 13,1 милисекунди за всеки от останалите 9 файла, това значи 117,9 милисекунди за да прочете всичките оставащи 9 файла, и всичките 10 файла ще бъдат прочетени за общо 152 милисекунди, и още 100 милисекунди за трансфер на данните до паметта или процесора – общо на хард диска ще му трябват 252 милисекунди за прочитане на всичките 10 файла, и пращането им до процесора или паметта. Вижте само големите разлики във времената:

14,751 секунди за случая с тоталната фрагментация

1,341 секунди за дефрагментираните файлове без да са подредени близо един до друг

0,252 секунди когато всичките файлове са дефрагментирани и подредени възможно най-плътно един до друг.

Тази разлика във времената е възможна защото в първият случай, четящата глава, прави 110 отделни операции по локализиране на парчетата и тяхното прочитане – главата работи интензивно а на хард диска му се извива свят от работа и му пушат ушите от натоварване.

Във вторият случай имаме само 10 операции по локализиране и четене. Диска е значително по-малко натоварен и резултатите са готови значително по-бързо.

В последният случай главите се наместват върху вярната пътека само веднъж, имаме само една процедура по търсене и локализиране, и след това само една процедура по четене, по времена която се прочитат 10 файла. След локализирането и наместването, главите си стоят на едно място, без да мърдат и само четат това което минава под тях без да правят нищо друго – няма допълнителни дейсвния които да предизвикват допълнително забавяне или натоварване на диска.

разбира се те зи сметки са само теоретични, които се получават в перфектни лабораторни условия, но в реалния живот, напрактика ти дават добро обяснение за потенциала на хард диска, и как можеш да го извадиш в твоя полза. Това е обяснението за бавният ти и натоварен хард диск. Има една програма която прави всичко, казва се UltimateDefrag на компанията Disktrix и е добре да я ползваш като дефрагментатор. Тази порграма предлага дефрагментиране и оптимизиране на позицията на файловете, както на често и рядко използваните, така и на системните файлове, които са ти докладвани като непреместваем обем. Програмата работи по следната логика - често използваните файлове се наместват в бързата част на диска, заото щом са често поллзвани, значи ти трябват постоянно, за това да ги сложим в бързата част на хард диска, за да може достъпа до тях да е възможно най-бърз, и ти и ситемата да чаката възможно най-малко, а щом тези файлове ги ползваш рядко, дай да ги сложим в най-бавната част на хард диска, така и така ги ползваш рядко, и нете бърка да се отворят малко по-бавно, за това дай да ги сложим там за да освободим място в бъзтата част на диска за да сложим там често ползваните файлове. Програмата разполага с пълен комплект настройки, за това как да работи и възможност за подробно указване на това по какви критерии да подрежда, а повярвай ми автоматичният режим е достатъчно зрял, и добре оптимизиран, и сам взема решенията много адекватно и много правилно, и резултатите от намесата му са отлични, дори за хора като мен, които са си дали труда прочетат документацията, която е много добре написана със схеми с графики, с илюстрации, с карта на хард диска, и с развити примери за настройка на програмата, за различни ситуации. познаването на ОС, и на начина по който работи хард диска ти позволява да си направиш сам потребителски настройки, на основата на даден пример, така че да постигнеш максималния резултат.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.