|
|
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
hvladТаблоид"Кому" он передаёт грязные страницы - непосредственно файловому кешу, получается ?Нет, он на деревню деду письма пишет. У тебя какие-то совершенно дикие представления о том, как всё устроено... где ты их только берёшь ? В mon$io_stats.page_writes, вестимо. Я не понимаю ситуацию, при которой значение в этом столбе может оставаться постоянным (нулевым) для потока CacheWriter'a, пример тут . И не понимаю также, почему в другом случае CW увеличил этот же счетчик на 4.1 млн, тогда как рабочий поток - только на 100 тыс. Если не затруднит, объясни, плз, как такое может быть. Все скрипты приведены выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 10:19:36 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
Таблоид, а я не понимаю, что можно было не понять в объяснениях выше. Писать страницы (page writes) может (а) рабочий поток при коммите, либо (б) рабочий поток при заполнении кеша, либо (в) кешрайтер при заполнении кеша. Соотношение (б) и (в) зависит от нагрузки, от размера кеша и от объема изменений. На разных тестах будут разные цифры. Но кто именно будет писать - абсолютно неважно, кешрайтер просто по мере возможности помогает рабочему потоку, беря часть I/O на себя. На SC/CS помогать некому, там все пишет рабочий поток (а + б). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 11:24:06 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
dimitrкто именно будет писать - абсолютно неважно, кешрайтер просто по мере возможности помогает рабочему потоку, беря часть I/O на себя. На SC/CS помогать некому, там все пишет рабочий поток (а + б).Спасибо, теперь ясно. Я пребывал в заблуждении: считал, что ВСЕ страницы всегда пишет только поток CW, а рабочий поток пишет только в страничный кеш, не более того. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 11:40:50 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
dimitr, объясни, плз, еще одно. В аттаче номе 123 некий стейтмент, запущенный в момент t1 и законченный в момент t2, приводит к 1000 writes в трейсе. А разность значений в mon$io_stats.page_writes для моментов t2 & t1 аттача 123 - совсем другая, не 1000. Такое может быть ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 12:31:59 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
Таблоид, совсем другая - это сколько? Отличие небольшое или в разы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 12:59:46 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
dimitrсовсем другая - это сколько? Отличие небольшое или в разы?Отличие в 40 раз. Тынц . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 13:05:51 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
Таблоидdimitrсовсем другая - это сколько? Отличие небольшое или в разы?Отличие в 40 раз. Тынц .пардон, это не то совсем: там CW превышает статистику молотилки в 40 раз. Но всё равно интересно :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 13:06:58 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
hvladТы с SC\CS сравнил те же действия ?сравнил статистику SS vs SC для следующего сценария: 1) база создается с нуля, FW = ON, page_size=4K, buffers = 128 ; 2) в базе создается генератор `g` и таблица: Код: plaintext 1. 2. 3. 4. 5. 6. В таблицу заливается 305 тыс строк: Код: plaintext 1. Перед началом заливки: 1) в конфиге трейса ставится фильтр connection_id = <current_connection > 2) запускается огромный скрипт, делающий снимки мон-таблиц без переконнекта, с паузами = 1 сек (батник для его создания был приведен выше; скрипт содержит 7200 итераций, что должно хватать на время работы коннекта-молотилки и отследить его статистику). Статистика по времени: SuperClassic оказался немного быстрее SuperServer'a. Результаты см. в аттаче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 16:48:43 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
PS-1. По трейсу и mon$iostats в SS наглядно, как общая статистика writes "перекочевала" из insert-стейтмента в cache_writer. Но деяния кешрайтера в трейсе вообще не отражаются PS-2. Общая сумма разностей (по CW и рабочему потоку) в поле page_writes для SS оказывается меньше общего числа вставляемых в таблицу строк примерно на 6 тыс, а в SC аналогичное отличие составляет 10 тыс. Коммит выдает в трейсе около 60-70 writes (см аттач). Куда остальные тысячи подевались ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 16:57:08 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
ТаблоидКуда остальные тысячи подевались ? Тебе приходило в голову, что на одну страницу помещается несколько записей?.. И что SC пишет страницу только когда она полностью заполнена, а у SS cache writer может ту же станицу скинуть пару раз в недозаполненном состоянии?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 17:53:24 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
Таблоидсравнил статистику SS vs SC для следующего сценария: 1) база создается с нуля, FW = ON, page_size=4K, buffers = 128 ;SS и буфер в 128 страниц ? Выкинь это всё сразу же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 18:31:50 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТаблоидКуда остальные тысячи подевались ?Тебе приходило в голову, что на одну страницу помещается несколько записей?.. И что SC пишет страницу только когда она полностью заполнена, а у SS cache writer может ту же станицу скинуть пару раз в недозаполненном состоянии?..Причём тут число записей таблицы в одной странице базы ? У мну в 4096 байт должно быть floor(4096 / (16 + (4+36))), т.е. ~ около 70 записей (не помню точно, сколько байт занимает заголовок: не то 13, не то 17; взял 16) - дальше что ? Если одна и та же страница меняется кешрайтером много раз, то результат должен быть обратным: сумма разностей mon$io_stats.page_writes будет больше , чем то, что показывает трейс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 20:25:04 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
hvladТаблоидсравнил статистику SS vs SC для следующего сценария: 1) база создается с нуля, FW = ON, page_size=4K, buffers = 128 ;SS и буфер в 128 страниц ? Выкинь это всё сразу же.я намеренно сделал так, чтобы CW пришлось потрудиться. Почему "выкинуть" и какой тогда буфер ставить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 20:26:22 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
Таблоид, что ты тестируешь ? Какая у тебя цель ? Откуда ты взял, что кол-во writes должно совпадать с кол-вом inserts ???? cache writer не меняет страницы, что за бред ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 20:50:54 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
Таблоиддальше что ? Дальше пойди проспись, а потом точно сформулируешь: что именно "меньше" и чего именно оно "меньше". В то ты уже начал говорить как Болтик. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 20:53:50 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТаблоиддальше что ?Дальше пойди проспись, а потом точно сформулируешь: что именно "меньше" и чего именно оно "меньше". В то ты уже начал говорить как Болтик.я не пил с НГ и постарался сформулировать всё доходчиво; жаль, что тебе в лом открывать тот аттач с экселем. На, картинку посмотри, может, быстрее допрёт... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 21:16:03 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
Таблоид, тебя уже выше спросили: на кой ляд ты сравниваешь число вставленных строк с числом записанных страниц? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 21:21:42 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
dimitrтебя уже выше спросили: на кой ляд ты сравниваешь число вставленных строк с числом записанных страниц?Если они не должны быть равны, то... они не могут быть и настолько близкими, как тут (310 vs 315 тыс)! Ибо в 1 страницу базы размером 4096 влезает десятки записей с полями int & varchar(36). Да, там есть еще два индекса, но и там на 1 страницу влезает десятки ключей. Если счетчик writes увеличивается только когда страница заполнится, то ввиду вышесказанного первое число скорее должно быть не 310 тысяч, а 31 тысяча. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 21:30:45 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
Таблоид, так бы оно и было, если бы ты не выставил кеш в дурацкие 128 страниц и не заставил бы этим кешрайтера писать страницы не дожидаясь их заполнения. О чем DS тебе сказал выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 21:35:26 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
hvladТаблоидсравнил статистику SS vs SC для следующего сценария: 1) база создается с нуля, FW = ON, page_size=4K, buffers = 128 ;SS и буфер в 128 страниц ? Выкинь это всё сразу же.повторил для буфера = 16384 (в SC так и в SS; FW вырубил). Запрос: Код: sql 1. (6.3 млн строк) Трейс для SuperServer'a: Код: plaintext 1. 2. 3. 4. 5. Трейс для SuperClassic'a: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 21:37:19 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
dimitrтак бы оно и было, если бы ты не выставил кеш в дурацкие 128 страницИ не сделал бы индекс по guid полю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 21:56:00 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
Таблоидповторил для буфера = 16384 (в SC так и в SS; FW вырубил).Всё, счастье настало ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 21:56:24 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
Тьфу, забыл эксель прилепить к предыдущему посту. Смотрим аттач. Там общая статистика по mon$iostats: 1) в SuperServer'e: THREADTOTAL_DIFF_WRITESCACHE_WRITER3 384 221 SYSDBA330 176 TOTAL 3 714 397 2) в SuperClassic'e разность счетчика page_writes = 3 704 960 Итого: при вставке 6.3 млн строк в таблицу и два её индекса счетчик writes дёргался 3.7 млн раз. При том, что в 1 страницу базы влезает чуть ли не 60 строк таблицы (и индексных ключей столько же, таков DDL). Буфер = 16384 страниц, в 8 раз больше дефолтного. Не вижу в упор проявления алгоритма:DSSC пишет страницу только когда она полностью заполнена ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 22:06:48 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
hvladчто ты тестируешь ? Какая у тебя цель ? Откуда ты взял, что кол-во writes должно совпадать с кол-вом inserts ????Цель одна: понять, откудова взялись такие тупняки при заполнении таблиц в известном тебе тесте. И особенно - откудова они же (тупняки, только ГИГАНТСКИЕ) при выполнении второго теста: delete => select count(*) ==> insert. Когда ждёшь результаты выполнения скриптов по 18...24 ч, поневоле начнёшь думкать в эту сторону. hvladТаблоидповторил для буфера = 16384 (в SC так и в SS; FW вырубил).Всё, счастье настало ?неа...увы и ах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 22:13:34 |
|
||
|
Вставка в индексир.таблицы: cache writer в 1 ед времени пишет в 20 раз > раб. потока
|
|||
|---|---|---|---|
|
#18+
ТаблоидЦель одна: понять, откудова взялись такие тупняки при заполнении таблиц в известном тебе тестеВ статистике ФБ ты этого не найдёшь. Таблоиднеа...увы и ах.Ну значит так и запишем - безнадёжен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 22:29:41 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38530881&tid=1563962]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
215ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
93ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 602ms |

| 0 / 0 |
