Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off / 23 сообщений из 23, страница 1 из 1
16.11.2016, 10:13
    #39348110
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
Форумяне, подскажите по субжу.
Правильно ли я понимаю, что при (DefaultDbCachePages > FileSystemCacheThreshold), FB2.5 SuperServer игнорирует значение ForcedWrites и, к примеру, все страницы, относящиеся к транзакции, будут тут же записаны на носитель при подтверждении этой транзакции независимо от настройки синхронной/асинхронная записи? Если я понял не правильно, уточнить пожалуйста - как происходит в действительности?
...
Рейтинг: 0 / 0
16.11.2016, 10:15
    #39348113
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
rdb_dev,

бред полнейший.
Если DefaultDbCachePages > FileSystemCacheThreshold отключается отключается файловый кеш, но никак не ForcedWrites.
...
Рейтинг: 0 / 0
16.11.2016, 10:25
    #39348125
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
Симонов Денис, иными словами, цитата из книги "Мир Interbase" (Ковязин, Востриков): "При асинхронном режиме записи данных на диск (т. е. при FW OFF) данные пишутся в файловый кеш ОС, в результате чего ускоряются операции с ке- шированными данными."
Не соответствует действительности в полной мере?
...
Рейтинг: 0 / 0
16.11.2016, 10:44
    #39348145
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
rdb_devцитата из книги "Мир Interbase"которая была написана за несколько лет до появления FileSystemCacheThreshold ...
...
Рейтинг: 0 / 0
16.11.2016, 10:46
    #39348146
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
rdb_dev,

Использование файлового кеша никак не зависит от настройки синхронной/асинхронной записи.

rdb_devНе соответствует действительности в полной мере?

Сильно упрошено и в полной мере не соответствует. Придут отцы могут рассказать подробней как обстоят дела. Я боюсь напутать.
...
Рейтинг: 0 / 0
16.11.2016, 10:47
    #39348149
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
hvlad, я же не в претензиях, потому и спрашиваю... Т.е. при отключенной записи в системный кэш и ForcedWrites=ON, сервер сам определяет когда страницы будут сброшены на носитель?
...
Рейтинг: 0 / 0
16.11.2016, 10:55
    #39348162
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
rdb_dev,

когда страницы будут сброшены на носитель может знать только тот, кто работает непосредственно с носителем. А может и не знать :)
В любом случае - это не сервер.
Сервер, как и любая прикладная программа, может только попросить делать так или иначе.

Читай тут
https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858.aspx

FW = ON - это установленный флаг FILE_FLAG_WRITE_THROUGH

Cache Size > FileSystemCacheThreshold - это установленный флаг FILE_FLAG_NO_BUFFERING
...
Рейтинг: 0 / 0
16.11.2016, 10:57
    #39348166
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
Вот такие строки появились в этой статье относительно недавно:

MSDNThe flags FILE_FLAG_WRITE_THROUGH and FILE_FLAG_NO_BUFFERING are independent and may be combined.

If FILE_FLAG_WRITE_THROUGH is used but FILE_FLAG_NO_BUFFERING is not also specified, so that system caching is in effect, then the data is written to the system cache but is flushed to disk without delay.

If FILE_FLAG_WRITE_THROUGH and FILE_FLAG_NO_BUFFERING are both specified, so that system caching is not in effect, then the data is immediately flushed to disk without going through the Windows system cache.
The operating system also requests a write-through of the hard disk's local hardware cache to persistent media.

Note Not all hard disk hardware supports this write-through capability.
...
Рейтинг: 0 / 0
16.11.2016, 10:59
    #39348170
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
rdb_dev,

если ForcedWrites=ON, Firebird сам определяет когда страницы будут сброшены на носитель, если Off решает ОС. Хотя и это упрощёно.
Использование файлового кеша здесь никак не зависит от настройки ForcedWrites, так же как и режим записи не зависит от использования файлового кеша.
...
Рейтинг: 0 / 0
16.11.2016, 11:00
    #39348173
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
Помнится, kdv где-то упоминал, что порядок записи страниц на диск в последних версиях FirebirdSQL (не помню точно в каких) изменен так, чтобы обеспечить большую надежность и сократить риск повреждения базы при сбое, а так как системный кэш не гарантирует порядок сброса страниц на носитель в том порядке, в котором это делает сервер FB - уместно ли говорить, что при ForcedWrites=Off отключение использования системного кэша для FB обеспечивает большую надежность записи данных на носитель, чем при ForcedWrites=Off и включенном системном кэше?
...
Рейтинг: 0 / 0
16.11.2016, 11:02
    #39348175
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
rdb_dev,

в общем hvlad дал исчерпывающий ответ
...
Рейтинг: 0 / 0
16.11.2016, 11:06
    #39348183
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
hvladrdb_dev, когда страницы будут сброшены на носитель может знать только тот, кто работает непосредственно с носителем. А может и не знать :)Я понимаю, что в варианте использования iSCSI СХД с большим кэшем или в варианте использования RAID контроллера с кэшем на запись, запись на носители может гарантировать только само устройство (СХД или контроллер).
...
Рейтинг: 0 / 0
16.11.2016, 11:07
    #39348185
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
Симонов Денисrdb_dev, в общем hvlad дал исчерпывающий ответЩа попробую вкурить... :)
...
Рейтинг: 0 / 0
16.11.2016, 11:32
    #39348219
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
hvlad, ага, спасибо! Собственно, в "cache behavior" всё чёрным по белому:

If FILE_FLAG_WRITE_THROUGH and FILE_FLAG_NO_BUFFERING are both specified, so that system caching is not in effect, then the data is immediately flushed to disk without going through the Windows system cache. The operating system also requests a write-through of the hard disk's local hardware cache to persistent media .

Note Not all hard disk hardware supports this write-through capability .
...
Рейтинг: 0 / 0
16.11.2016, 11:48
    #39348243
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
rdb_devПомнится, kdv где-то упоминал, что порядок записи страниц на диск в последних версиях FirebirdSQL

вот чего придумывать - "в последних версиях". Во всех, это называется Careful writes, и об этом рассказывали Джим и Энн.
rdb_devуместно ли говорить, что при ForcedWrites=Off отключение использования системного кэша для FB обеспечивает большую надежность записи данных на носитель
Опций кэширования записи вообще три
- write back, это эквивалент forced writes off
- write through, это эквивалент forced writes on
- write around, это как раз когда fw = on и FILE_FLAG_NO_BUFFERING.

разницы между write through и write around в смысле записи нет. А вот в смысле чтения - при write around кэш чтения выключен (FILE_FLAG_NO_BUFFERING).
Так что по факту при FILE_FLAG_NO_BUFFERING не имеет значения, FW = ON или OFF.

Перечисленные опции есть как у ОС, так и у контроллеров raid, и у дисков. И если у ОС все выключено, то у диска может быть write back. При write around ОС пытается включить write through у диска, если оно не включено. Но не все диски (контроллеры) это поддерживают.
...
Рейтинг: 0 / 0
16.11.2016, 11:51
    #39348249
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
hvlad, но что-то не могу найти именно то, о чем спрашивал - вариант с описанием поведения при указанном FILE_FLAG_NO_BUFFERING и неуказанном FILE_FLAG_WRITE_THROUGH. Или такое сочетание флагов недопустимо?
...
Рейтинг: 0 / 0
16.11.2016, 11:53
    #39348251
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
kdvТак что по факту при FILE_FLAG_NO_BUFFERING не имеет значения, FW = ON или OFFЭто не совсем так. Прочитай статью в MSDN внимательно
...
Рейтинг: 0 / 0
16.11.2016, 11:53
    #39348253
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
rdb_devhvlad, но что-то не могу найти именно то, о чем спрашивал - вариант с описанием поведения при указанном FILE_FLAG_NO_BUFFERING и неуказанном FILE_FLAG_WRITE_THROUGH. Или такое сочетание флагов недопустимо?Уточни вопрос
...
Рейтинг: 0 / 0
16.11.2016, 11:54
    #39348257
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
kdvвот чего придумывать - "в последних версиях". Во всех, это называется Careful writes, и об этом рассказывали Джим и Энн.Я не придумал, а лишь неточно запомнил. :)
Спасибо!
...
Рейтинг: 0 / 0
16.11.2016, 12:02
    #39348264
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
hvladУточни вопросЭммм...
Не понимаю поведения при ForcedWrites=Off и (DefaultDbCachePages > FileSystemCacheThreshold) - при сочетании флагов:
FILE_FLAG_WRITE_THROUGH - NOT specified
FILE_FLAG_NO_BUFFERING - specified
...
Рейтинг: 0 / 0
16.11.2016, 12:10
    #39348273
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
hvladПрочитай статью в MSDN внимательно
я и прочитал внимательно. без no_buffering, но при fw=on данные все равно идут через кэш (записи), но тут же флашатся на диск.
А при fw=on + no_buffering идут мимо кэша, что по чтению, что по записи.
Тут именно про это и написано
http://www.computerweekly.com/feature/Write-through-write-around-write-back-Cache-explained
Write-through cache directs write I/O onto cache and through to underlying permanent storage before confirming I/O completion to the host.

И write around - как раз комбинация fw=on + no_buffering
Write-around cache is a similar technique to write-through cache, but write I/O is written directly to permanent storage, bypassing the cache . This can reduce the cache being flooded with write I/O that will not subsequently be re-read, but has the disadvantage is that a read request for recently written data will create a “cache miss” and have to be read from slower bulk storage and experience higher latency.
...
Рейтинг: 0 / 0
16.11.2016, 12:12
    #39348276
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
hvlad,

на всякий случай

If FILE_FLAG_WRITE_THROUGH is used but FILE_FLAG_NO_BUFFERING is not also specified, so that system caching is in effect, then the data is written to the system cache but is flushed to disk without delay .

If FILE_FLAG_WRITE_THROUGH and FILE_FLAG_NO_BUFFERING are both specified, so that system caching is not in effect, then the data is immediately flushed to disk without going through the Windows system cache .
...
Рейтинг: 0 / 0
16.11.2016, 12:15
    #39348279
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off
kdv,

читай все, что написано, а не только то, что подтверждает твою теорию :)
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off / 23 сообщений из 23, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]