|
|
|
Зачем нужен кэш под лог?
|
|||
|---|---|---|---|
|
#18+
ASE 12.5 Не могу, понят, для чего нужен кэш для журнала транзакций? На что это влияет? Я все время думал, что страницы лога постоянно сбрасываются на диск, чтоб в случае отключения питание, сервер мог накатить транзакции. Зачем ему(логу) кэш нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 18:15 |
|
||
|
Зачем нужен кэш под лог?
|
|||
|---|---|---|---|
|
#18+
_devel, Ну наверно бывают очень хорошие отказоустойчивые конфигурации, включая дизель-генератор. И в таких случаях проблема питания уходит на второй план, главное производительность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 18:43 |
|
||
|
Зачем нужен кэш под лог?
|
|||
|---|---|---|---|
|
#18+
_devel wrote: > Не могу, понят, для чего нужен кэш для журнала транзакций? На что это > влияет? Видишь ли, может быть это довольно трудно понять, но ВСЯ работа с файлами БД в ASE идёт через кэши. Без кэшей работа с данными не производится. Поскольку журнал транзакций -- это файл на диске, работа с ним также ведётся через кэш. Просто нужно понять, что кэш -- это базовый механизм работы ASE с данными, мимо которого пройти невозможно. Я все время думал, что страницы лога постоянно сбрасываются на > диск, чтоб в случае отключения питание, сервер мог накатить транзакции. > Зачем ему(логу) кэш нужен? Да, но при этом они остаются в памяти. Это write-through cache. Зачем -- вопрос сложный, частично я ответил на него выше, ещё можно добавить, что иногда кэширование лога не нужно, а иногда -- наоборот. Ещё раз: Кэш - базовый механизм работы с данными, который используется ВЕЗДЕ. Без него доступа к данным нет. В том числе и к логу. Иногда кэширование лога полезно, поскольку позволяет не читать с диска уже устаревшие страницы лога. Это полезно для конфигураций с репликацией, когда лог не только пишется, но и читается тоже. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 20:13 |
|
||
|
Зачем нужен кэш под лог?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Я напишу свое виденье, а вы подкоректируйте, если ошибся! Т.е, вначале заполняется некий "user log cache", если он полностью заплнен, или транзакция завершилась(или еще что нибудь, типа смены контекста бд), он копируется в обычный кэш, или если есть то в logonly кэш. потом в зависимости от пула в кэше, пишется на диск. Если это logonly кэш, то надо установить sp_logiosize равным размеру пула в logonly кэше. А что будет если такого кэша нет, верней на него прибиндена вся база, а не только лог, каким пулам будет писаться на диск? И зависит ли размер user log cache и размер пула в обычном кэше? Для улучшения их размеры не должны быть равны, т.е user log cache size 4К, то и в обычном кэше должен быть четырех килобайтный кэш размером N? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 20:58 |
|
||
|
Зачем нужен кэш под лог?
|
|||
|---|---|---|---|
|
#18+
_devel wrote: > Т.е, вначале заполняется некий "user log cache", если он полностью ULC -- это другой кэш, совсем не тот, про который мы тут говорили. Я не знаю, конечно, какой имел в виду автор вопроса (а, это же ты кстати и есть), но я говорил до сих пор об обычном кэше. > заплнен, или транзакция завершилась(или еще что нибудь, типа смены > контекста бд), он копируется в обычный кэш, или если есть то в logonly > кэш. потом в зависимости от пула в кэше, пишется на диск. Если это > logonly кэш, то надо установить sp_logiosize равным размеру пула в > logonly кэше. Всё более-менее правильно. Хочу добавить про назначение ULC. При работе ВСЕ пользователи пишут ВСЕ свои комманды в лог, в его последнюю страницу (или несколько страниц). Они должны при этом синхронизировать доступ к этой страницые, т.е. вести его строго посделовательно, друго за другом. Т.е. работа всех пользователей в таких условиях ведётся ровно со сторостью записи в этот лог. Чтобы хоть как-то рассинхронизировать и распараллелить работу пользователей и придумали ULC. ULC выделяется в структуре серверного процесса, т.е. он для каждого коннекшена свой, поэтому к нему не нужно синхронизировать доступ. При работе транзакция пишет сначала в ULC до тех пор, пока это возможно, потом, при заплнении ULC, конце транзакции или при других условиях, записи из ULC переносятся в последние страницы лога, с синхронизацией доступа. При этом вместо много маленьких записей производится одна большая. А что будет если такого кэша нет, верней на него > прибиндена вся база, а не только лог, каким пулам будет писаться на > диск? Какой есть в кэше этом. Чаше всего 2k. И зависит ли размер user log cache и размер пула в обычном кэше? Нет. > Для улучшения их размеры не должны быть равны, т.е user log cache size > 4К, то и в обычном кэше должен быть четырех килобайтный кэш размером N? нет. ULC может быть как больше, так и меньше размера пулов в кэше для лога. На сколько я помню, ULC кратен 2k и ставится отдельным параметром. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 02:00 |
|
||
|
Зачем нужен кэш под лог?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 11:53 |
|
||
|
Зачем нужен кэш под лог?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, еще один вопрос если позволите? Перемещается ли страница найденная в кэше до отмытия(до вош маркера) в к конец MRU? В документации написано что при стратегии MRU, так и происходит(перемещается), а вот про LRU-стратегию не чего не сказано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 22:50 |
|
||
|
Зачем нужен кэш под лог?
|
|||
|---|---|---|---|
|
#18+
_devel wrote: > Перемещается ли страница найденная в кэше до отмытия(до вош маркера) в к > конец MRU? > В документации написано что при стратегии MRU, так и > происходит(перемещается), а вот про LRU-стратегию не чего не сказано. Я так вот на вскидку точно не скажу, но вот пока мысль одна только: если страница не будет перемещаться, то это значит, что статистика использования страницы не будет обновляться, поскольку она только положением в цепочке и определяется. Поэтому на первый взгдяд должна всегда страница перемещаться при использовании к голове кэша, к указателю активных страниц. Я не очень понял, почему она должна перемещаться в "в к конец MRU", что такое этот конец ( это MRU или LRU ?) и при чём тут wash marker, который по идее не дожен влиять вообще на положение страницы в кэше. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 23:06 |
|
||
|
Зачем нужен кэш под лог?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, это терминалогия у Сайбейса такая, "конец MRU", это и есть голова кеша. Просто в MRU replacement strategy вот такая картинка есть, а в LRU replacement strategy нет. Вот это и смутило. Спасибо за ответы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 23:25 |
|
||
|
Зачем нужен кэш под лог?
|
|||
|---|---|---|---|
|
#18+
_devel пишет: > это терминалогия у Сайбейса такая, "конец MRU", это и есть голова кеша. Там закольцованная очередь, одна сторона MRU, другая LRU, я к такому привык. На картинках кстати тоже описано два конца очереди: MRU и LRU, но слово "конец" относитсся к слову "очередь", в общем лучше их просто звать MRU & LRU, я так считаю. Ну и я не понял, что там можно было не понять. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2009, 10:02 |
|
||
|
Зачем нужен кэш под лог?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Иногда кэширование лога полезно, поскольку позволяет не читать с диска уже устаревшие страницы лога. Это полезно для конфигураций с репликацией, когда лог не только пишется, но и читается тоже. А можно спросить "не только пишется, но и читается тоже" это только для издателя или для подписчиков тоже? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2009, 11:45 |
|
||
|
Зачем нужен кэш под лог?
|
|||
|---|---|---|---|
|
#18+
merphy9 wrote: > А можно спросить "не только пишется, но и читается тоже" это только для > издателя или для подписчиков тоже? Для издателя, конечно. Т.е. для источника репликации. Репагент, читая лог БД на сервере-источнике репликации, формирует очередь репликации. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2009, 12:21 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=36374616&tid=2010794]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 280ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...