Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 не понимаю SREADTIM/MREADTIM/db file seq read/db file scat read  [new]
много_вопросов
Guest
Всем привет. Человека, который занимается оптимизацией у нас нет.
Точнее есть, но, кажется, что он постоянно бухает и помочь не может, поэтому прошу помощи здесь.
У меня все смешалось, не могу понять взаимосвязь между различными частями.

db_file_multiblock_read_count установлен в 128, размер блока 32k.

Вчера снимали системную статистику:
SQL> select pname, pval1
  2  from sys.aux_stats$
  3  where pname in('SREADTIM', 'MREADTIM')
  4  /
PNAME       PVAL1
----------- ----------
SREADTIM         8,725
MREADTIM       205,379


Также есть отчет AWR за последний час (весь отчет выложить не могу, только части). Топ 10 + гистограмма по ним :

Top 10 Foreground Events by Total Wait Time

Event	Waits	Total Wait Time (sec)	Wait Avg(ms)	% DB time	Wait Class
DB CPU	 	69,2K	 	24.4	 
db file sequential read	4,731,650	61,2K	12.93	21.6	User I/O
db file scattered read	310,377	54,5K	175.75	19.3	User I/O
direct path read	139,152	37,5K	269.27	13.2	User I/O
direct path write	178,536	24,9K	139.34	8.8	User I/O


Event	Total Waits	<1ms	<2ms	<4ms	<8ms	<16ms	<32ms	<=1s	>1s 
db file scattered read	311,1K	3.3	2.5	1.0	1.7	7.2	18.8	63.6	1.9
db file sequential read	4,7M	47.6	8.8	3.4	10.6	16.7	6.1	6.8	.0
direct path read	139,4K	.1	.1	.3	.6	2.5	7.0	88.1	1.5
direct path write	178,6K	19.4	30.1	16.0	8.5	6.8	4.8	10.9	3.5


Вопрос 1
SREADTIM приблизительно равен db file sequential read, а MREADTIM приблизительно равен db file scattered read.
Так ведь и должно быть, это правильные рассуждения?

Но дальше в отчете AWR вижу в графе File IO Stats значения Av Rd(ms), которые варьируются от 30 до 180 ms.

Вопрос 2
Не понимаю, что это? скорость чтения одного блока? Если да, то почему такая завышенная цифра?

Дальше посмотрел запрос:
SQL> select
  2  avg(10*round(sum(read_time), 2)/sum(reads))  rds,
  3  avg(10*round(sum(write_time), 2)/sum(writes))wrts
  4  from v$asm_disk_stat
  5  where mount_status = 'CACHED'
  6  group by group_number,
  7  disk_number
  8  /
       RDS       WRTS
---------- ----------
0,61688010 2,74159667


Вопрос 3
Что это такое? чтение\запись одного блока? почему такие маленькие цифры? ведь read_time и write_time - указаны в сотых долях секунды.

Вопрос 4
Не слишком ли значения Wait Avg(ms) direct path read и Wait Avg(ms) direct path write большие?
Wait Avg(ms) direct path read и Wait Avg(ms) direct path write - это время записи одного блока или нет ?
14 авг 15, 12:12    [18017302]     Ответить | Цитировать Сообщить модератору
 Re: не понимаю SREADTIM/MREADTIM/db file seq read/db file scat read  [new]
много_вопросов
Guest
Извиняюсь за столь тупые вопросы. Провел в гуглении весь вчерашний день.
14 авг 15, 12:16    [18017327]     Ответить | Цитировать Сообщить модератору
 Re: не понимаю SREADTIM/MREADTIM/db file seq read/db file scat read  [new]
Я и ёжик
Member

Откуда: СПб
Сообщений: 1815
много_вопросов

Вопрос 1
SREADTIM приблизительно равен db file sequential read, а MREADTIM приблизительно равен db file scattered read.
Так ведь и должно быть, это правильные рассуждения?

Если db file sequential read основная операция одноблочного чтения, а db file scattered read многблочного, то да.

много_вопросов
Но дальше в отчете AWR вижу в графе File IO Stats значения Av Rd(ms), которые варьируются от 30 до 180 ms.

Вопрос 2
Не понимаю, что это? скорость чтения одного блока? Если да, то почему такая завышенная цифра?

Нет, это среднее время одной операции чтения. Там еще есть Av Blks/Rd, среднее число блоков на операцию. Т.е. есть на файле куча операций, как одноблочных так и многоблочных, их все саггрегировали, поделили и получили средние значения.

много_вопросов
Дальше посмотрел запрос:
...

Вопрос 3
Что это такое? чтение\запись одного блока? почему такие маленькие цифры? ведь read_time и write_time - указаны в сотых долях секунды.

Нет, одной операции. read_time и write_time - указаны в секундах, бага документации Bug 7154824 : V$ASM_DISK DEFINITION CHANGE. Умножаете еще на 100 и получаете ваши обычные цифры.

много_вопросов
Вопрос 4
Не слишком ли значения Wait Avg(ms) direct path read и Wait Avg(ms) direct path write большие?

Ну это как то можно объяснить многоблочностью операции, хотя лучше меньше), а вот 13 мс на db file sequential read минимум раза в 2 больше чем должно бы быть.
много_вопросов
Wait Avg(ms) direct path read и Wait Avg(ms) direct path write - это время записи одного блока или нет ?

нет, одной операции. direct path read и direct path write многоблочные операции, обычно).
15 авг 15, 00:21    [18021085]     Ответить | Цитировать Сообщить модератору
 Re: не понимаю SREADTIM/MREADTIM/db file seq read/db file scat read  [new]
ora601
Member

Откуда:
Сообщений: 750
Я и ёжик
Если db file sequential read основная операция одноблочного чтения, а db file scattered read многблочного, то да..


Wtf?

db file sequential read/db file scattered read это wait event. Автору: Насколько я понимаю вы делали ворклоад сбор системной статистики. В этом режиме SREADTIM/MREADTIM замеряеться на основе результата.
15 авг 15, 02:34    [18021444]     Ответить | Цитировать Сообщить модератору
 Re: не понимаю SREADTIM/MREADTIM/db file seq read/db file scat read  [new]
Я и ёжик
Member

Откуда: СПб
Сообщений: 1815
ora601

db file sequential read/db file scattered read это wait event.

и?
15 авг 15, 12:34    [18021942]     Ответить | Цитировать Сообщить модератору
 Re: не понимаю SREADTIM/MREADTIM/db file seq read/db file scat read  [new]
_читатель_
Guest
много_вопросов
он постоянно бухает и помочь не может

AG чтоли? странно, он всем здесь помогает.
17 авг 15, 08:14    [18026814]     Ответить | Цитировать Сообщить модератору
 Re: не понимаю SREADTIM/MREADTIM/db file seq read/db file scat read  [new]
много_вопросов
Guest
Я и ёжик , спасибо!
а вот 13 мс на db file sequential read

Подозреваю, что дело могло быть в операции ребалансинга в ASM. Как раз в это время оказывается добавили новые диски.
Т.к. сейчас db file sequential read ~ 3-4 ms.
Такое ведь могло быть? Если могло, можно это как-то узнать из AWR ?

Еще заметил, что периодически висит порядка 300 сессий с action = 'KTSJ Slave'. Нагуглил, что это SMCO. Но как то он многовато сессий плодит.
Рекомендуют выставить ALTER SYSTEM SET "_ENABLE_SPACE_PREALLOCATION"=0;.
Может кто подсказать и по этому вопросу?
18 авг 15, 23:06    [18036730]     Ответить | Цитировать Сообщить модератору
 Re: не понимаю SREADTIM/MREADTIM/db file seq read/db file scat read  [new]
много_вопросов
Guest
_читатель_
много_вопросов
он постоянно бухает и помочь не может

AG чтоли? странно, он всем здесь помогает.

Лучше бы это был AG, а не нынешние админы :)
18 авг 15, 23:08    [18036736]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить