powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / RAID vs. DB2_PARALLEL_IO
14 сообщений из 39, страница 2 из 2
RAID vs. DB2_PARALLEL_IO
    #36873652
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
db2testТолько вот чем поможет время без фетча....Это проверка типа "куда время уходит".
Т.е. fetch такого огромного кол-ва записей даже не через сеть - дело весьма затратное.

Теперь по поводу:db2testСразу после запуска наблюдаю картину (db2top1.jpg)
Идет зачем-то запись в какую-то временную таблицу со скоростью ~1 100 000 rows/s

Потом через момент времен равный как раз фетчу 21-мл записей с такой скоростью начинается чтение записей из этой же временной таблицы со скоростью ~800000 rows/s. (db2top2.jpg)

Потом опять как раз примерно через 25 секунд начинается третья фаза собственно с чтением почему-то из обеих таблиц (временной и рабочей testtab32) со скоростью ..... ~10 000 rows/s (db2top3.jpg). И так до самого конца еле-еле.Для любого селекта оно должно построить курсор на сервере. Не вдаваясь в детели, курсор - таблица указателей на строки данных.
Для такого большого курсора организуется временная таблица, куда оно сначало и быстро пишет.
После этого надо параллельно со сканированием курсора обращаться к строкам и передавать эти строки клиенту.
Абсолютно некорректно сравнивать скорости работы count(*) и *, так как в последнем случае делается гораздо больше работы, ведь в случае count(*) не надо строить огромный курсор и передавать ещё более огромный результат клиенту.
...
Рейтинг: 0 / 0
RAID vs. DB2_PARALLEL_IO
    #36873694
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.!а не может быть проблемы с мультиблочным чтением (scattered read) ?
на сколько я знаю через кеш файловой системы мультиблочно читать не возможно принципиально т.к. это фича железяки. значит при FILESYSTEM_CACHING мультиблочно не мог бы читать, а с NO_FILESYSTEM_CACHING у вас явно разрыв не тот который должено было бы дать мультиблочное чтение.Не можете привести ссылку, где вы это прочитали?
scattered read - это readv , которому всё равно, с каким флагом открыт файл.
Да и
Код: plaintext
1.
 Asynchronous pool data page reads        =  644560 
при установленном FILE SYSTEM CACHING для табличного пр-ва говорит о том, что префетчеры всю работу и сделали.

Ну, вроде на win ещё оно может использоваться только если файл открыт c O_DIRECT (или как он там у них называется - прямое чтение в обход файлового кэша), но при чём здесь "фича железяки"...
...
Рейтинг: 0 / 0
RAID vs. DB2_PARALLEL_IO
    #36874183
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
db2test
"мультиблочное чтение" это в смысле параллельное чтение экстентов несколькими префетчерами c одного контейнера ? Ну как бы это и было целю изначального тестирования. Пока не понятно то ли это проблема c DB2, то ли это ..."it depend's (c) :)

мне кажется префеч один, db2 это Vector I/O похоже называет:

Read requests typically require "x" bytes to be placed in a single I/O buffer. This I/O buffer is a contiguous area of memory and, if very large, may have to be broken down into smaller chunks and copied into other areas of memory to be used by an application, such as DB2. For example, DB2 may choose to pre-fetch multiple extents of data into the bufferpool in response to a query. An extent by default is 32 (4 KB) pages. From here, the extent is broken up into 4 KB chunks (the individual pages) and copied to the bufferpool.

Vector I/O allows the allocation of smaller I/O buffers; in this case, of size 4 KB. A single vector read fills these buffers, which directly relate to pages in the bufferpool, eliminating the need to perform the copies. To enable Vector I/O on Linux, you must set the DB2 registry variable DB2_SCATTERED_IO (shown in the command below) and restart DB2.
http://www.ibm.com/developerworks/data/library/techarticle/dm-0509wright/

[quot Mark Barinstein]Не можете привести ссылку, где вы это прочитали?
scattered read - это readv , которому всё равно, с каким флагом открыт файл.

под виндой
http://msdn.microsoft.com/en-us/library/aa365469%28VS.85%29.aspx
The file handle must be created with the GENERIC_READ right, and the FILE_FLAG_OVERLAPPED and FILE_FLAG_NO_BUFFERING flags.

чтение через кеш файловой системы совершенно не стыкуется с моим представлением процесса. я себе это представляю как задание контроллеру считать одной io операцией допустим 128 блоков, коньтроллер считывает и через DMA кладет все 128 в bufferpool.
...
Рейтинг: 0 / 0
RAID vs. DB2_PARALLEL_IO
    #36874187
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
предыдущее сообщение чего-то покарежилось, дублирую:
db2test
"мультиблочное чтение" это в смысле параллельное чтение экстентов несколькими префетчерами c одного контейнера ? Ну как бы это и было целю изначального тестирования. Пока не понятно то ли это проблема c DB2, то ли это ..."it depend's (c) :)


мне кажется префеч один, db2 это Vector I/O похоже называет:

Read requests typically require "x" bytes to be placed in a single I/O buffer. This I/O buffer is a contiguous area of memory and, if very large, may have to be broken down into smaller chunks and copied into other areas of memory to be used by an application, such as DB2. For example, DB2 may choose to pre-fetch multiple extents of data into the bufferpool in response to a query. An extent by default is 32 (4 KB) pages. From here, the extent is broken up into 4 KB chunks (the individual pages) and copied to the bufferpool.

Vector I/O allows the allocation of smaller I/O buffers; in this case, of size 4 KB. A single vector read fills these buffers, which directly relate to pages in the bufferpool, eliminating the need to perform the copies. To enable Vector I/O on Linux, you must set the DB2 registry variable DB2_SCATTERED_IO (shown in the command below) and restart DB2.
http://www.ibm.com/developerworks/data/library/techarticle/dm-0509wright/

Mark BarinsteinНе можете привести ссылку, где вы это прочитали?
scattered read - это readv , которому всё равно, с каким флагом открыт файл.

под виндой
http://msdn.microsoft.com/en-us/library/aa365469%28VS.85%29.aspx
The file handle must be created with the GENERIC_READ right, and the FILE_FLAG_OVERLAPPED and FILE_FLAG_NO_BUFFERING flags.

чтение через кеш файловой системы совершенно не стыкуется с моим представлением процесса. я себе это представляю как задание контроллеру считать одной io операцией допустим 128 блоков, коньтроллер считывает и через DMA кладет все 128 в bufferpool.
...
Рейтинг: 0 / 0
RAID vs. DB2_PARALLEL_IO
    #36874338
db2test
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinАбсолютно некорректно сравнивать скорости работы count(*) и *, так как в последнем случае делается гораздо больше работы, ведь в случае count(*) не надо строить огромный курсор и передавать ещё более огромный результат клиенту.
Марк, большое спасибо за explain :)
А каким образом можно увеличить скорость фетча ?
...
Рейтинг: 0 / 0
RAID vs. DB2_PARALLEL_IO
    #36875466
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
db2testА каким образом можно увеличить скорость фетча ?
select * from ... FOR READ ONLY
и тут читать:
Specifying row blocking to reduce overhead
Т.е. в зависимости от типа соединения делать побольше aslheapsz или rqrioblk.
...
Рейтинг: 0 / 0
RAID vs. DB2_PARALLEL_IO
    #36880752
db2test
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Развернул базу с тестовой таблицей на 9.7.2 под AIX (на той же файловой системе поверх RAID10 16HDD) и под SLES10 SP2 на VMWare (десктоп, 1 SATA HDD)

На SLES10 тестовый запрос с группировкой (без фетча большого курсора) с включенным кэшированием файловой системы (Ext3) выполняется на 50% медленнее чем с NO FILE SYSTEM CACHING (ну т.е как и задумано)

На AIX все также в 2,5-3 раза быстрее при FILE SYSTEM CACHING

Оба теста без DB2_PARALLEL_IO.

Как так выходит, что с кэшем FS на AIX'е получается быстрее ?
...
Рейтинг: 0 / 0
RAID vs. DB2_PARALLEL_IO
    #36880764
db2test
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein
select * from ... FOR READ ONLY
и тут читать:
Specifying row blocking to reduce overhead
Т.е. в зависимости от типа соединения делать побольше aslheapsz или rqrioblk.
Спасибо. Правда никого эффекта не произошло.
...
Рейтинг: 0 / 0
RAID vs. DB2_PARALLEL_IO
    #36882477
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
db2testРазвернул базу с тестовой таблицей на 9.7.2 под AIX (на той же файловой системе поверх RAID10 16HDD) и под SLES10 SP2 на VMWare (десктоп, 1 SATA HDD)

На SLES10 тестовый запрос с группировкой (без фетча большого курсора) с включенным кэшированием файловой системы (Ext3) выполняется на 50% медленнее чем с NO FILE SYSTEM CACHING (ну т.е как и задумано)

На AIX все также в 2,5-3 раза быстрее при FILE SYSTEM CACHING

Оба теста без DB2_PARALLEL_IO.

Как так выходит, что с кэшем FS на AIX'е получается быстрее ?Ну, можно ещё с block based bufferpool поиграться.
Проведите тесты с размером блока в extentsize и разными процентами блочности.
...
Рейтинг: 0 / 0
RAID vs. DB2_PARALLEL_IO
    #36951733
db2test
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinНу, можно ещё с block based bufferpool поиграться.
Проведите тесты с размером блока в extentsize и разными процентами блочности.
Спасибо, помогло. Намотаю на ус :)

При BLOCKSIZE=EXTENTSIZE и размере block area в 10% от размера буферпула результаты сравнялись. При этом, чем меньше BLOCKSIZE относительно EXTENTSIZE, тем хуже время выполнения запроса.

Компрессия таблицы также сравнивает результат с FILESYSTEM CACHING и блочным БП.
Т.е кролики это не только ценный мех компрессия не только уменьшает объем БД (у меня таблицы жмутся в 4-5 раз), но и значительно улучшает перфоманс запросов с sequential I/O.

Но в любом случае получить результат лучше, чем у FILESYSTEM CACHING, не получилось :)
...
Рейтинг: 0 / 0
RAID vs. DB2_PARALLEL_IO
    #36966406
Camper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь, что вмешиваюсь.
Как я понимаю Вы используете AIX в качестве операционной системы, это так?
На уровне ОС настраивался ли асинхронный ввод-вывод?
...
Рейтинг: 0 / 0
RAID vs. DB2_PARALLEL_IO
    #36986069
db2test
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Провел тест еще раз, но уже на другом хосте (тоже AIX 5.3. TL10 SP1 + DB2 9.1.8)
Файловая система базы на LUN'е c того же RAID10 (16 HDD)

AUTOMATIC STORAGE таблспейс, EXTENTSIZE=32, PAGESIZE=16K, PREFETCHSIZE=AUTO
Т.е. все тоже самое.

Тест с NO FILE SYSTEM CACHING прошел быстрее FILE SYSTEM CACHING на 10%
Повторил раз 20-ть. С таким же результатом.

На исходном хосте опять повторил тест. Все так же в 2,5-3 раза хуже с NO FILE SYSTEM CACHING
(без блочного буферпула)

Проверил наcтройки vmo, ioo, параметры файловых систем на обоих хостах, настройки кэширования лунов на стородже - все одинаковое.

"Где собака зарыта" - непонятно :(
Куда дальше копать - тоже.

Еще любопытно, что запрос по таблице созданной в обычном DMS-пространстве с теми же параметрами работает на 50% медленнее, чем в случае с automatic storage.
...
Рейтинг: 0 / 0
RAID vs. DB2_PARALLEL_IO
    #36986089
db2test
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CamperИзвиняюсь, что вмешиваюсь.
Как я понимаю Вы используете AIX в качестве операционной системы, это так?
На уровне ОС настраивался ли асинхронный ввод-вывод?

Специально c AIO ничего не делал.
В системе 120 aioservers, iostat очередей к AIO не показывает.

А что конкретно там настраивать кроме числа aioserver'ов ?
...
Рейтинг: 0 / 0
RAID vs. DB2_PARALLEL_IO
    #36987179
wrap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имхо для начала стоит сравнивать планы запросов и и/о статистику и плясать уже от этих данных.
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / RAID vs. DB2_PARALLEL_IO
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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