LINUX.ORG.RU

производительность при работе с винчестером


0

0

Всем привет,

а может мне кто-нибудь порекомендовать какой-нибудь хороший текст, в котором написано про то, как делать программы, которые быстро пишут и читают файлы, отчего зависит производительность софта, общающегося с жёстким диском и т.п.

Спасибо!


>отчего зависит производительность софта, общающегося с жёстким диском

От самого жесткого диска же =) Ну и от интерфейса, по которому он подключен, загруженности компа, производительности машины в целом, кеша винта...

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Тем не менее мне сейчас очень хочется узнать не *Отчего эта производительность зависит?*, а *Что можно почитать хорошего по этой теме?* =)

lykk
() автор топика
Ответ на: комментарий от lykk

дык
1. посмотри может ли твой контроллер NCQ
2. если 1-й пункт не вариант, то попробуй BFQ в случае десктопа и ядра не старше 32-го
3. если винт IDE а не SATA то покрути hdparm на предмет DMA/UDMA
может поможет
http://sites.google.com/site/linuxoptimization/home/hdd
http://sites.google.com/site/linuxoptimization/home/nastrojka-io-sheduler
:)

megabaks ★★★★
()
Ответ на: комментарий от darkshvein
итого 126 
...................
...................
-rw-r--r-- 1 root root 3421 Фев 24 18:52 sched-arch.txt 
-rw-r--r-- 1 root root 20871 Мар 11 12:43 sched-BFS.txt 
-rw-r--r-- 1 root root 20871 Мар 11 12:43 sched-BFS.txt.orig 
-rw-r--r-- 1 root root 21337 Мар 11 12:47 sched-BFS.txt.rej 
-rw-r--r-- 1 root root 11864 Фев 24 18:52 sched-design-CFS.txt -rw-r--r-- 1 root root 3686 Фев 24 18:52 sched-domains.txt 
-rw-r--r-- 1 root root 5195 Фев 24 18:52 sched-nice-design.txt 
-rw-r--r-- 1 root root 7424 Фев 24 18:52 sched-rt-group.txt 
-rw-r--r-- 1 root root 7583 Фев 24 18:52 sched-stats.txt

при чём здесь CPU планировщик?

megabaks ★★★★
()
Ответ на: комментарий от megabaks

> http://sites.google.com/site/linuxoptimization/home/hdd

http://sites.google.com/site/linuxoptimization/home/nastrojka-io-sheduler

:)

Спасибр, почитал, интересно =)

На гугле забанили?!

За 10 мин пользования гуглом он мне рассказал от том как прекрасны и быстры HDD от производителя <вставить нужное>, как замечательны базы данных Oracle, как администрировать MySQL и много чего другого, что мне не настолько интересно.

Если Вы считаете что пользоваться гуглом у Вас получается лучше чем у ТС, я буду очень благодарен, если вы поделитесь этим мастерством со мной. http://lmgtfy.com/

Проблема на самом деле следующая, есть аппликация, которая периодически создаёт 10ГБ файл из записей различной длины 1 КБ - 100 МБ, вот, потом она иногда, но редко из этого файла читает отдельные записи. Было бы круто, если бы эта аппликация работала с файлом на чтение и запись так быстро, как это возможно, всвязи с этим возникают всякие дурацкие вопросы: как устроен io буффер в операционной системе, можно ли как нибудь выравнивать записи, чтобы что-нибудь ускорилось и т.д. и т.п.

В идеале хотелось бы какой-нибудь текст в духе *What Every Programmer Should Know About Memory* только про HDD.

lykk
() автор топика
Ответ на: комментарий от megabaks

Упс, я ошибся. Думал там io планировщики. Но мысль думаю ясна, где искать.

darkshvein ☆☆
()
Ответ на: комментарий от lykk

Вообще-то в статье Дреппера про память вообще, в т.ч. и про винчестеры.

Если же тебе интересно про хранение больших объемов данных и доступ к ним, можешь вот это, например, посмотреть:

Тиори Т., Фрай Дж. Проектирование структур баз данных. М, 1985

anonymous
()
Ответ на: комментарий от anonymous

>можно ли как нибудь выравнивать записи, чтобы что-нибудь ускорилось и т.д. и т.п.

если хочется быстрого HDD - рассмотри вариант применения SDD (solid-state drive)

x905 ★★★★★
()
Ответ на: комментарий от anonymous

> Тиори Т., Фрай Дж. Проектирование структур баз данных. М, 1985

Большое спасибо, это то что я хотел услышать =)

lykk
() автор топика
Ответ на: комментарий от lykk

>Проблема на самом деле следующая, есть аппликация, которая периодически создаёт 10ГБ файл из записей различной длины 1 КБ - 100 МБ, вот, потом она иногда, но редко из этого файла читает отдельные записи. Было бы круто, если бы эта аппликация работала с файлом на чтение и запись так быстро, как это возможно

Может быть попробовать использовать какую-нибудь базу данных? Да и реализовывать никакого суперфункционала не придется.
Это если ты не в академических целях интересуещься.

trex6 ★★★★★
()
Ответ на: комментарий от lykk

>Проблема на самом деле следующая, есть аппликация, которая периодически создаёт 10ГБ файл из записей различной длины 1 КБ - 100 МБ

Юзай асинхронную запись, люк. И придумай, как заранее предсказать, какой именно кусок придётся прочитать, иначе от задержек на чтение не избавишься.

legolegs ★★★★★
()

> отчего зависит производительность софта, общающегося с жёстким диском

Главным образом от количества seek-ов, которые он производит. Если файл читается подряд, это быстрый процесс. Однако любое перемещение куда-то далеко от текущей позиции, или к другому далекому файлу, будет стоить порядка 12 миллисекунд, из-за необходимости физического перемешения головок диска. Это довольно дорого.

ikm ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.