Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
16.11.2016, 10:13
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
Форумяне, подскажите по субжу. Правильно ли я понимаю, что при (DefaultDbCachePages > FileSystemCacheThreshold), FB2.5 SuperServer игнорирует значение ForcedWrites и, к примеру, все страницы, относящиеся к транзакции, будут тут же записаны на носитель при подтверждении этой транзакции независимо от настройки синхронной/асинхронная записи? Если я понял не правильно, уточнить пожалуйста - как происходит в действительности? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 10:15
|
|||
---|---|---|---|
|
|||
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
rdb_dev, бред полнейший. Если DefaultDbCachePages > FileSystemCacheThreshold отключается отключается файловый кеш, но никак не ForcedWrites. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 10:25
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
Симонов Денис, иными словами, цитата из книги "Мир Interbase" (Ковязин, Востриков): "При асинхронном режиме записи данных на диск (т. е. при FW OFF) данные пишутся в файловый кеш ОС, в результате чего ускоряются операции с ке- шированными данными." Не соответствует действительности в полной мере? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 10:44
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
rdb_devцитата из книги "Мир Interbase"которая была написана за несколько лет до появления FileSystemCacheThreshold ... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 10:46
|
|||
---|---|---|---|
|
|||
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
rdb_dev, Использование файлового кеша никак не зависит от настройки синхронной/асинхронной записи. rdb_devНе соответствует действительности в полной мере? Сильно упрошено и в полной мере не соответствует. Придут отцы могут рассказать подробней как обстоят дела. Я боюсь напутать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 10:47
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
hvlad, я же не в претензиях, потому и спрашиваю... Т.е. при отключенной записи в системный кэш и ForcedWrites=ON, сервер сам определяет когда страницы будут сброшены на носитель? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 10:55
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 10:57
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
Вот такие строки появились в этой статье относительно недавно: 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 10:59
|
|||
---|---|---|---|
|
|||
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
rdb_dev, если ForcedWrites=ON, Firebird сам определяет когда страницы будут сброшены на носитель, если Off решает ОС. Хотя и это упрощёно. Использование файлового кеша здесь никак не зависит от настройки ForcedWrites, так же как и режим записи не зависит от использования файлового кеша. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 11:00
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
Помнится, kdv где-то упоминал, что порядок записи страниц на диск в последних версиях FirebirdSQL (не помню точно в каких) изменен так, чтобы обеспечить большую надежность и сократить риск повреждения базы при сбое, а так как системный кэш не гарантирует порядок сброса страниц на носитель в том порядке, в котором это делает сервер FB - уместно ли говорить, что при ForcedWrites=Off отключение использования системного кэша для FB обеспечивает большую надежность записи данных на носитель, чем при ForcedWrites=Off и включенном системном кэше? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 11:02
|
|||
---|---|---|---|
|
|||
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
rdb_dev, в общем hvlad дал исчерпывающий ответ ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 11:06
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
hvladrdb_dev, когда страницы будут сброшены на носитель может знать только тот, кто работает непосредственно с носителем. А может и не знать :)Я понимаю, что в варианте использования iSCSI СХД с большим кэшем или в варианте использования RAID контроллера с кэшем на запись, запись на носители может гарантировать только само устройство (СХД или контроллер). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 11:07
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
Симонов Денисrdb_dev, в общем hvlad дал исчерпывающий ответЩа попробую вкурить... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 11:32
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
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 . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 11:48
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
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 у диска, если оно не включено. Но не все диски (контроллеры) это поддерживают. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 11:51
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
hvlad, но что-то не могу найти именно то, о чем спрашивал - вариант с описанием поведения при указанном FILE_FLAG_NO_BUFFERING и неуказанном FILE_FLAG_WRITE_THROUGH. Или такое сочетание флагов недопустимо? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 11:53
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
kdvТак что по факту при FILE_FLAG_NO_BUFFERING не имеет значения, FW = ON или OFFЭто не совсем так. Прочитай статью в MSDN внимательно ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 11:53
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
rdb_devhvlad, но что-то не могу найти именно то, о чем спрашивал - вариант с описанием поведения при указанном FILE_FLAG_NO_BUFFERING и неуказанном FILE_FLAG_WRITE_THROUGH. Или такое сочетание флагов недопустимо?Уточни вопрос ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 11:54
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
kdvвот чего придумывать - "в последних версиях". Во всех, это называется Careful writes, и об этом рассказывали Джим и Энн.Я не придумал, а лишь неточно запомнил. :) Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 12:02
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
hvladУточни вопросЭммм... Не понимаю поведения при ForcedWrites=Off и (DefaultDbCachePages > FileSystemCacheThreshold) - при сочетании флагов: FILE_FLAG_WRITE_THROUGH - NOT specified FILE_FLAG_NO_BUFFERING - specified ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 12:10
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.11.2016, 12:12
|
|||
---|---|---|---|
DefaultDbCachePages > FileSystemCacheThreshold && ForcedWrites == Off |
|||
#18+
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 . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=40&tablet=1&tid=1561845]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 157ms |
0 / 0 |