Производительность жёстких диков
May. 31st, 2014 01:34 pm![[identity profile]](https://www.dreamwidth.org/img/silk/identity/openid.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Совершенно случайно возник вопрос: что жесткому диску будет быстрее прочитать: один файл на четыре гигабайта или 4096 файлов по мегабайту? А записать? И при каком количестве файлов наступит "точка вырождения"?
UPD. С чтением разобрались - зависит, как минимум от скорости вращения дисков и движения головокжёстких диков, фрагментации и количества служебной информации.
Похоже, что с записью будет то же самое.
UPD. С чтением разобрались - зависит, как минимум от скорости вращения дисков и движения головок
Похоже, что с записью будет то же самое.
no subject
Date: 2014-06-02 08:51 am (UTC)no subject
Date: 2014-06-02 09:21 am (UTC)no subject
Date: 2014-06-02 11:00 am (UTC)no subject
Date: 2014-06-02 09:46 am (UTC)no subject
Date: 2014-06-02 11:09 am (UTC)no subject
Date: 2014-06-02 09:47 am (UTC)Если этот 1 файл фрагментирован на 4096 кусков, то будет примерно одинаково.
Если 1 файл нефрагментирован, и 4096 файлов расположена на диске друг за другом, то разницы в скорости будет немного.
Записать точно так же.
Вам для ответа нужно всего два параметра, есть линейное чтение - оно быстрое, а есть случайное оно медленное.
no subject
Date: 2014-06-02 11:04 am (UTC)no subject
Date: 2014-06-02 11:11 am (UTC)no subject
Date: 2014-06-02 11:36 am (UTC)no subject
Date: 2014-06-02 03:52 pm (UTC)no subject
Date: 2014-06-03 07:51 am (UTC)no subject
Date: 2014-06-03 10:46 am (UTC)no subject
Date: 2014-06-03 10:47 am (UTC)no subject
Date: 2014-06-03 10:50 am (UTC)А дома на зеркале приклеена надпись: "другие не лучше". ;)
Ваш ответ игнорирует массу фактров. Например, не учитывается разница между HDD и SSD.
no subject
Date: 2014-06-03 10:54 am (UTC)Вопрос задан вроде бы конкретно по HDD. В принципе при желании я могу насыпать технических терминов и такого прочего как это сделали вы там ниже, но зачем?
no subject
Date: 2014-06-02 09:58 am (UTC)no subject
Date: 2014-06-02 10:51 am (UTC)no subject
Date: 2014-06-02 10:18 am (UTC)no subject
Date: 2014-06-02 10:51 am (UTC)no subject
Date: 2014-06-02 10:51 am (UTC)no subject
Date: 2014-06-02 11:10 am (UTC)no subject
Date: 2014-06-02 01:18 pm (UTC)Вот живые синтетические тесты на SSD дисках в каком-то RAID с файловой системой ext4:
Тесты записи: 1 файл размером 1Гб (увы, 4Гб сделать на этом сервере не смогу):
dd if=/dev/zero of=/tmp/testfile.bin bs=1G count=1
1073741824 bytes (1.1 GB) copied, 6.14261 s, 175 MB/s
1073741824 bytes (1.1 GB) copied, 8.30967 s, 129 MB/s
1073741824 bytes (1.1 GB) copied, 4.85202 s, 221 MB/s
1073741824 bytes (1.1 GB) copied, 7.95577 s, 135 MB/s
Тесты записи: 1024 файла размером 1Мб (время в наносекундах):
4.96257e+09
5.85231e+09
4.48971e+09
4.91984e+09
Тесты чтения для 1 файла размером 1Гб:
dd of=/dev/null if=/tmp/testfile.bin bs=1G count=1
1073741824 bytes (1.1 GB) copied, 2.16189 s, 497 MB/s
1073741824 bytes (1.1 GB) copied, 1.68176 s, 638 MB/s
1073741824 bytes (1.1 GB) copied, 2.13345 s, 503 MB/s
1073741824 bytes (1.1 GB) copied, 1.74146 s, 617 MB/s
Тесты чтения для 1024 файла размером 1Мб (время в наносекундах):
3.65431e+09
3.01503e+09
3.07641e+09
3.0315e+09
Т.е. получилось, что скорость записи вышла кое-где выше для файлов размером 1Мб, но чтение быстрее у 1Гб-файла.
no subject
Date: 2014-06-02 01:55 pm (UTC)(Хотя как раз за это я и люблю это сообщество)
no subject
Date: 2014-06-02 04:00 pm (UTC)На носителе с высокой латентностью (HDD, CD/DVD) всё зависит от фрагментации и системы кэширования (особенно - от "упреждающего чтения" при чтении и "отложенной записи" при записи).
Точка вырождения на латентном носителе наступает примерно при размере файла равном размеру трека диска. Т.е. при количестве данных, которые диск способен передать за удвоенное среднее время доступа. Оценка оченть приблизительная.
no subject
Date: 2014-06-03 10:58 am (UTC)