|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
rdb_devпроизводить дефрагментацию файловой системы на SSD не только бесполезноОшибаешься ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 13:50 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
rdb_dev, Уже давно файл БД расширяется большими кусками, а не постранично. Поэтому дефрагментация файла БД хоть и может быть, но всё таки FB пытается ей противостоять. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 13:51 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
Симонов Денисно всё таки FB пытается ей противостоять. основная цель расширения файла блоками - ускорить это самое расширение, против "поштучного" добавления страниц к файлу. Хотя, если ФС будет искать свободный кусок именно размера нового блока, то тогда да, "противостояние фрагментации". С другой стороны, что окажется на этих страницах, еще неизвестно, так что внутри файла остается "фрагментация" :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 14:11 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
kdvС другой стороны, что окажется на этих страницах, еще неизвестно, так что внутри файла остается "фрагментация" :-)Нет смысла противостоять фрагментации внутри файла БД, если сам файл размазан по диску как попало. Напомню, последовательное чтение всё ещё быстрее случайного, даже для SSD. И такие задачи как бекап и свип - далеко не экзотика, и заметно выигрывают от возможности последовательного чтения. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 14:26 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
hvladrdb_devпроизводить дефрагментацию файловой системы на SSD не только бесполезно Ошибаешься "Windows does not defrag SSDs" http://www.outsidethebox.ms/17367/ там мораль такая, что МС утверждает, что дефрагментация для ССД не производится, но тем не менее, она все равно срабатывает 1 раз в месяц, "если включено теневое копирование тома.", и включено system restore. Так что, это скорее вынужденное исключение из правил, по совершенно конкретным причинам. и т.д., можешь сам поискать. В моем понимании дефрагментация SSD это как дефрагментация TIP. Линейно список почти никогда не сканируется, все время идет прямое извлечение состояния транзакции N. Так какая разница, последовательно эти страницы лежат, или нет. Разве что опережающее чтение кэша ФС ОС, но в случае SSD оно опять же не имеет смысла. А вот и данные по опережающему чтению на SSD http://www.storimax.ru/articles/reviews/?ID=686#CacheSSD Примерно 5% ускорения с Read Ahead (в статье почему-то дурацкий вывод про "значительное улучшение"). И это на конкретном диске, на других может быть по другому. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 14:31 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
hvladНапомню, последовательное чтение всё ещё быстрее случайного, даже для SSD. Сильно зависит от размера блока SSD и размера кластера ФС. Сам SSD у себя может хранить подряд идущие кластеры ФС совсем непоследовательно (зависит от алгоритма контроллера, равномерно распределяющего износ ячеек SSD), так что скорость последовательного чтения больше зависит от кэша опережающего чтения самой ОС. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 14:33 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
kdv"Windows does not defrag SSDs" http://www.outsidethebox.ms/17367/ там мораль такая, что...то, что не играет роли для ОС, может быть совершенно не так для СУБД kdvПримерно 5% ускорения с Read AheadПричём тут ReadAhead, если речь о sequential\random IO ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 14:46 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
rdb_dev, Почитай SSD случайными блоками по 4КБ и по 256КБ, сравни и можешь не рассказывать результаты... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 14:53 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
rdb_dev- если записи в таблицах со ссылочной целостностью заполнялись последовательно (сквозное заполнение таблиц по цепочке связей), то при "дефрагментации" БД методом b/r можно даже получить незначительное замедление, так как опережающее чтение ФС файла БД в кэш ОС уже не будет разом последовательно фетчить страницы связанных между собой таблиц, данные с которых необходимы оператору SELECT с JOIN'ами этих таблиц и в этом случае, вероятность промаха кеша выше, что влечет за собой оверхед обращения к подсистеме хранения; вовсе необязательно. Вся соль в том каким методом будет происходить JOIN. Если NESTED LOOP да ещё и использованием индексов, то возможно ты прав. А вот если с помощью HASH JOIN, то всё будет с точностью до наоборот. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 14:57 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
hvlad, мне кажется, что ты чего-то не договариваешь. Ты сам производил замеры? Какие вендор и модель SSD? Каков был "родной" размер блока? Кэш ОС для диска был включен или отключен? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 15:21 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
Симонов Денис, HASH JOIN, скорее, исключение, чем правило. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 15:23 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
Zerooo, Проверил рестор в мультифайловую БД (бекап из одного файла) - не воспроизводится. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 15:28 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
rdb_dev, прочитай любые тесты любого SSD с однопоточным случайным чтением большими и маленькими блоками. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 15:29 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
rdb_devHASH JOIN, скорее, исключение, чем правило. это пока так. Просто оптимизатор ещё не достаточно умён чтобы понять когда его применять, а потому применяет лишь когда выхода нет (нету подходящих индексов). Тем более что со временем и NESTED LOOP может поменяться и стать блочным для ряда случаев. З.Ы. Это просто мои размышления. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 15:33 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
hvladZerooo, Проверил рестор в мультифайловую БД (бекап из одного файла) - не воспроизводится. Ок, спасибо - а то я уже задумался. P.S. Ну хоть кто-то пытается топик в нужное русло повернуть :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 16:18 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
hvladZerooo, Проверил рестор в мультифайловую БД (бекап из одного файла) - не воспроизводится. Тестировал базу? Большая она? Я дважды пытался с разными размерами файлов - результат один: ошибка на предпоследнем файле :( А вообще, уже юзаю однофайловый вариант - работа не ждет. Завтра, если время будет попробую еще… ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 19:04 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
ZeroooТестировал базу?Нет конечно, а что - надо ? Ой, а как бы это сделать ? ZeroooБольшая она?Почти 4GB ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 20:51 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
ZeroooЯ дважды пытался с разными размерами файлов - результат один: ошибка на предпоследнем файле :(Какая ошибка ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 21:12 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
hvladКакая ошибка ? Читай стартовое сообщение :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2016, 12:00 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
hvlad, Снова попробовал на одной (небольшой) базе - аналогично: из firebird.log: Tue Jun 07 09:44:25 2016 Database: C:\BASES\STAT_0.FDB Validation started Tue Jun 07 09:44:25 2016 I/O error during "ReadFile" operation for file "C:\BASES\STAT_0.FDB" Error while trying to read from file Reached the end of the file. Tue Jun 07 09:44:25 2016 Database: C:\BASES\STAT_0.FDB Validation aborted I/O error during "ReadFile" operation for file "C:\BASES\STAT_0.FDB" Error while trying to read from file Reached the end of the file. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2016, 12:03 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
hvlad, Fri Jun 24 15:55:49 2016 Database: C:\BASES\MCSAP_0.FDB Validation started Fri Jun 24 15:55:49 2016 I/O error during "ReadFile" operation for file "C:\BASES\MCSAP_0.FDB" Error while trying to read from file Reached the end of the file. Fri Jun 24 15:55:49 2016 Database: C:\BASES\MCSAP_0.FDB Validation aborted I/O error during "ReadFile" operation for file "C:\BASES\MCSAP_0.FDB" Error while trying to read from file Reached the end of the file. Если есть интерес, то могу бэкап и свои логи тебе дать как-то (здесь похоже лички нет?) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2016, 12:11 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
Zerooo, если есть возможность - жми бекап и выкладывай куда-нибудь. И точно опиши используемые команды ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2016, 14:43 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
hvlad, Пожал, выложил. Куда тебе ссылочку прислать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2016, 05:38 |
|
Firebird 2.5 to 3.0
|
|||
---|---|---|---|
#18+
Zerooo, hvlad at users sf net Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2016, 09:49 |
|
|
start [/forum/topic.php?fid=40&msg=39260459&tid=1562108]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 277ms |
total: | 433ms |
0 / 0 |