powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Скорость загрузки данных
25 сообщений из 47, страница 1 из 2
Скорость загрузки данных
    #35395903
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток !
Имею поставленную задачу - максимально быстро (ночь) перенести данные между двумя серверами.
Сервер1 - Windows2000AS,2x2Intel Xeon, 3 Gb-ОЗУ, RAID-5, Informix IDS 10.00.TC7, ~объем данных 100 Гб
Сервер2 - CentOS5.1, 2x4 IntelXeon, 8 Gb, RAID-10, Informix IDS 11.50.FC1
Времени на исследования дали неделю, которая заканчивается завтра :-((
HPL с полпинка завести мозгов не хватило (если кто поможет - размеры моей благодарности будут безграничны :-)) )
Посему взоры были прикованы к dbimport/dbexport.
Перечитав ветки форума в которых рассматривались аналогичные задачи, в особенности ветку с замерами производительности на РАВ и блочных устройствах, решил пока есть возможность, провести ряд своих экспериментов.
База объемом 15 Г заливалась из предварительно импортированных файлов.
Менялись только параметры onconfig и environment.
Вот итоги:
1. PSORT_NPROCS - not defined, PDQPRIORITY - not defined, onconfig - production: 1 час 02 мин.
2. PSORT_NPROCS - not defined, PDQPRIORITY =100, onconfig - Upload, lru 94,5/95: 0 час 56 мин.
3. PSORT_NPROCS =7, PDQPRIORITY =1, onconfig - Upload, lru 50/60: 0 час 54 мин.
После этого были попытки увеличить physfile с 2,2 Gb до 6 и увеличить buffers с 2 Gb до 4.
Никакого прироста эти попытки (проведенные по очереди) - не дали, в последнем случае даже наоборот :-(((.

Прошу помочь - какие еще настройки могут существенно повлиять на скорость загрузки.
onconfig прилагаю
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35395963
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда делаете заливку базы (импорт) то делайте это без журналирования - скорость должна возрасти существенно.
Заливку базы лучше делать с отдельного от чанков физического диска.
PDQPRIORITY и PSORT_NPROCS нужны для быстрого построения индексов.

HPL для переноса между разными типами серверов (*nix и windows) вроде бы не подходит?
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396010
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте также увеличить кол-во CLEANERS (например 64 или даже 128) - возможно ваши официанты не справляются с заказами :)
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396080
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо смотреть а реально создаются ли индексы в параллели?
Как загружена система во время заливки sar, sar -d, vmstat
Чего ждут сессии заливающие onstat -p, onstat -g wai
Лог информикса
Лог импорта, на что уходит основное время?
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396085
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько я знаю, на время импорта базы создаются в NoLogging.
И журнал для таких баз не ведется.
Или я не прав ?
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396115
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лог информикса во время заливки чист :-)
В той конфигурации которая приложена выше (onconfig), единственное сообщение было
WARNING: Buffer pool size is too small for read ahead operation
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396134
Алексан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkSergeyAНасколько я знаю, на время импорта базы создаются в NoLogging.
И журнал для таких баз не ведется.
Или я не прав ? Если вы используете опцию -l dbimport'а, то база данных создаётся с журналированием, если не используете, тогда без журналирования. Операции DDL журналируются во всех базах, независимо от их режима журналирования транзакций.
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396143
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А основное время уходит на вставку данных, есть несколько таблиц по 10 млн. записей и соответственно на построение индексов по этим табличкам.
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396165
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkSergeyAА основное время уходит на вставку данных, есть несколько таблиц по 10 млн. записей и соответственно на построение индексов по этим табличкам.в принципе должно вставляться 200-500 тыс в минуту, т.е. 10млн это 50-20 минут.
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396182
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АлексанЕсли вы используете опцию -l dbimport'а, то база данных создаётся с журналированием, если не используете, тогда без журналирования. Операции DDL журналируются во всех базах, независимо от их режима журналирования транзакций.

Импорт идет без опции -l
dbimport -c -d {dbspaces} -i {path} {base}
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396210
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkSergeyAИмею поставленную задачу - максимально быстро (ночь) перенести данные между двумя серверами.
Сервер1 - Windows2000AS,2x2Intel Xeon, 3 Gb-ОЗУ, RAID-5, Informix IDS 10.00.TC7, ~объем данных 100 Гб
Сервер2 - CentOS5.1, 2x4 IntelXeon, 8 Gb, RAID-10, Informix IDS 11.50.FC1

Похоже, что вы не читали FAQ на эту тему. Прочитайте внимательно - найдете немало полезных советов именно для вашего случая.

02. Перенос больших баз данных с сервера 7.3 на 9.40
http://www.sql.ru/faq/faq_topic.aspx?fid=588

01. Как перенести большую БД на другую платформу сервера (например с Windows на AIX)?
http://www.sql.ru/faq/faq_topic.aspx?fid=587

Как выгрузить базу утилитой dbexport и загрузить с новым именем утилитой dbimport?
http://www.sql.ru/faq/faq_topic.aspx?fid=710

05. От чего зависит скорость выгрузки БД (dbExport) ?
http://www.sql.ru/faq/faq_topic.aspx?fid=589
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396211
Алексан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkSergeyAДоброе время суток !
Имею поставленную задачу - максимально быстро (ночь) перенести данные между двумя серверами.
Сервер1 - Windows2000AS,2x2Intel Xeon, 3 Gb-ОЗУ, RAID-5, Informix IDS 10.00.TC7, ~объем данных 100 Гб
Сервер2 - CentOS5.1, 2x4 IntelXeon, 8 Gb, RAID-10, Informix IDS 11.50.FC1
Времени на исследования дали неделю, которая заканчивается завтра :-((
HPL с полпинка завести мозгов не хватило (если кто поможет - размеры моей благодарности будут безграничны :-)) )
Посему взоры были прикованы к dbimport/dbexport. Иеено эти утилиты предназначены для переноса баз данных между платформами.

SkSergeyAПеречитав ветки форума в которых рассматривались аналогичные задачи, в особенности ветку с замерами производительности на РАВ и блочных устройствах, решил пока есть возможность, провести ряд своих экспериментов.
База объемом 15 Г заливалась из предварительно импортированных файлов.
Менялись только параметры onconfig и environment.
Вот итоги:
1. PSORT_NPROCS - not defined, PDQPRIORITY - not defined, onconfig - production: 1 час 02 мин.
2. PSORT_NPROCS - not defined, PDQPRIORITY =100, onconfig - Upload, lru 94,5/95: 0 час 56 мин.
3. PSORT_NPROCS =7, PDQPRIORITY =1, onconfig - Upload, lru 50/60: 0 час 54 мин.
После этого были попытки увеличить physfile с 2,2 Gb до 6 и увеличить buffers с 2 Gb до 4.
Никакого прироста эти попытки (проведенные по очереди) - не дали, в последнем случае даже наоборот :-(((.

Прошу помочь - какие еще настройки могут существенно повлиять на скорость загрузки.
onconfig прилагаюЯ бы чуть изменил представленную конфигурацию: буферов бы настроил 1,5 млн, lru_min_dirty устаровил бы в 70, lru_max_dirty - в 80; DS_MAX_QUERIES поставил бы в 1, DS_MAX_SCANS - в 1048576, RA_PAGES оставил бы 64, RA_THRESHOLD - в 60. Ещё я слышал, что direct i/o на Линуксе работает очень хорошо, и потому попробовал бы поставить DIRECT_IO в 1. Переменную окружения PDQPRIORITY я бы поставил в 100 (это ускорит построение индексов и обновления статистики), но после импорта нужно поставить его в 0 и обновить статистику для хранимых процедур, иначе они будут работать потом с PDQPRIORITY=100 !), PSORT_NPROCS бы не устанавливал.
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396225
Алексан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkSergeyAА основное время уходит на вставку данных, есть несколько таблиц по 10 млн. записей и соответственно на построение индексов по этим табличкам. Построение индексов и обновление статистики вы можете ускорить за счёт PDQ, вставку данных - за счёт хорошо настроенноого ввода/вывода.
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396230
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денисв принципе должно вставляться 200-500 тыс в минуту, т.е. 10млн это 50-20 минут.
Пересчитал сейчас приблизительное количество строк для вставки - 75 млн.
Исходя из вышесказанного - скорость максимально возможная :-((((
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396242
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может подойдёт военные хитрость:
большие таблицы разделить по строкам на "нужныстопудово завтра" и "можно долить INSERT - SELECT'ом следующими ночами"
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396280
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vasilis
Похоже, что вы не читали FAQ на эту тему. Прочитайте внимательно - найдете немало полезных советов именно для вашего случая.
02. Перенос больших баз данных с сервера 7.3 на 9.40
http://www.sql.ru/faq/faq_topic.aspx?fid=588
01. Как перенести большую БД на другую платформу сервера (например с Windows на AIX)?
http://www.sql.ru/faq/faq_topic.aspx?fid=587
Как выгрузить базу утилитой dbexport и загрузить с новым именем утилитой dbimport?
http://www.sql.ru/faq/faq_topic.aspx?fid=710
05. От чего зависит скорость выгрузки БД (dbExport) ?
http://www.sql.ru/faq/faq_topic.aspx?fid=589

:-))
02. - этот вариант не пробовал, переносятся 4 дбспейса, в каждом от 200 до 600 таблиц
01. - в 11 версии Информикса dbimport невозможно запустить на Линукс сервере для импорта из 10
05. - попробую без вывода на экран :-))
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396298
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛойМожет подойдёт военные хитрость:
большие таблицы разделить по строкам на "нужныстопудово завтра" и "можно долить INSERT - SELECT'ом следующими ночами"

К сожалению даже разработчик этого приложения не уверен, какие данные данные можно оставить на потом :-(((
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396309
Алексан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkSergeyAПрошу помочь - какие еще настройки могут существенно повлиять на скорость загрузки. onconfig прилагаю И ещё я бы настроил соединение через разделяемую память (я нашёл только NETTYPE soctcp,2,,CPU, что означает сетевое соединение).
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396330
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексан И ещё я бы настроил соединение через разделяемую память (я нашёл только NETTYPE soctcp,2,,CPU, что означает сетевое соединение).

А можно подробней!
Я в этом направлении даже не смотрел
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396370
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkSergeyAБаза объемом 15 Г заливалась из предварительно импортированных файлов.
Менялись только параметры onconfig и environment.
2. PSORT_NPROCS - not defined, PDQPRIORITY =100, onconfig - Upload, lru 94,5/95: 0 час 56 мин.
3. PSORT_NPROCS =7, PDQPRIORITY =1, onconfig - Upload, lru 50/60: 0 час 54 мин.
Это взаимно неподходящие требования.
установите PSORT_NPROCS =4, PDQPRIORITY =100
а также сделайте, по возможности, временные пространства на отдельных дисках - существенно поможет при индексировании.
SkSergeyAПрошу помочь - какие еще настройки могут существенно повлиять на скорость загрузки.
onconfig прилагаю
Почему то забыли увеличить
DS_NONPDQ_QUERY_MEM 128 # Non PDQ query memory (Kbytes)

Но для вас значительно эффективней (исходя из задачи максимально быстро выгрузить и загрузить БД на разных платформах) все же сделать свои скрипты загрузки (надеюсь, что рекомендованные ФАК-и все же будут прочитаны):
- обратить внимание на параметры локализации исходного и целевого серверов
- выливать данные dbexport-ом сразу на целевой сервер (чтобы потом не копировать с сервера на сервер и не перекодировать из вин в юникс формат)
- разделить SQL на отдельные части
- проверить названия ДБ-пространств и размеры экстентов, а также возможные ссылки на другие таблицы и БД
- отключить первичные индексы на больших таблицах
- заливать данные в несколько потоков параллельно (или хотя бы большие таблицы)
- отдельно заливать процедуры, триггера
- включить PDQ (предоставив максимум ресуросв)
- отдельно включить констрейнты и индексы
- собрать статистику нужного уровня
- выключить PDQ и собрать статистику по процедурам
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396405
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkSergeyA02. - этот вариант не пробовал, переносятся 4 дбспейса, в каждом от 200 до 600 таблиц
При чем тут дбспейсы и количество таблиц ? О чем вы ?
SkSergeyA
01. - в 11 версии Информикса dbimport невозможно запустить на Линукс сервере для импорта из 10
Может имелось ввиду dbexport ?
А в чем ошибка или проблема ? С трудом верю, что такой возможности нет.
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396414
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексанRA_PAGES оставил бы 64, RA_THRESHOLD - в 60

Почему так мало? Думаю что можно параметры RA на время импорта (для быстрого построения индексов на больших таблицах) ставить еще выше, поскольку данные лежат рядом, эффективность Read Ahead должна быть очень высокой.
Предлагаю увеличить параметры RA согласно документации:


Use the following formulas to calculate values for RA_PAGES and RA_THRESHOLD:
RA_PAGES = ((BUFFERS * bp_fract) / (2 * large_queries)) + 2
RA_THRESHOLD = ((BUFFERS * bp_fract) / (2 * large_queries)) - 2

bp_fract is the portion of data buffers to use for large scans that require read-ahead.
If you want to allow large scans to take up to 75 percent of buffers, bp_fract would be 0.75.
large_queries is the number of concurrent queries that require read-ahead that you intend to support.


Т.е. например RA_PAGES = 10000 и RA_THRESHOLD = 9998 это далеко не предел для построения индексов и статистики по большим таблицам.
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396428
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vasilis
установите PSORT_NPROCS =4, PDQPRIORITY =100
Попробую.
vasilisа также сделайте, по возможности, временные пространства на отдельных дисках - существенно поможет при индексировании.
Это невозможно :-((
vasilis
Почему то забыли увеличить
DS_NONPDQ_QUERY_MEM 128 # Non PDQ query memory (Kbytes)

Но для вас значительно эффективней (исходя из задачи максимально быстро выгрузить и загрузить БД на разных платформах) все же сделать свои скрипты загрузки (надеюсь, что рекомендованные ФАК-и все же будут прочитаны):

К сожалению я еще не достаточно силен для этого, но могу отредактировать скрипты экспорта.
vasilis
- обратить внимание на параметры локализации исходного и целевого серверов
- выливать данные dbexport-ом сразу на целевой сервер (чтобы потом не копировать с сервера на сервер и не перекодировать из вин в юникс формат)
- разделить SQL на отдельные части
- проверить названия ДБ-пространств и размеры экстентов, а также возможные ссылки на другие таблицы и БД
- отключить первичные индексы на больших таблицах
- заливать данные в несколько потоков параллельно (или хотя бы большие таблицы)

т.е. можно запустить несколько dbimport или это можно делать из нескольких sqleditor ?

vasilis
- отдельно заливать процедуры, триггера
- включить PDQ (предоставив максимум ресуросв)
- отдельно включить констрейнты и индексы
- собрать статистику нужного уровня
- выключить PDQ и собрать статистику по процедурам

Ну вот есть чем сегодня ночью заняться :-)))
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396446
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vasilis SkSergeyA02. - этот вариант не пробовал, переносятся 4 дбспейса, в каждом от 200 до 600 таблиц
При чем тут дбспейсы и количество таблиц ? О чем вы ?
SkSergeyA
01. - в 11 версии Информикса dbimport невозможно запустить на Линукс сервере для импорта из 10
Может имелось ввиду dbexport ?
А в чем ошибка или проблема ? С трудом верю, что такой возможности нет.

Конечно dbexport, описался :-))
-206 - The specified table (informix.sysseclabelcomponents) is not in the database.
вот такая ошибка при попытке запуска.
...
Рейтинг: 0 / 0
Скорость загрузки данных
    #35396451
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис SkSergeyAА основное время уходит на вставку данных, есть несколько таблиц по 10 млн. записей и соответственно на построение индексов по этим табличкам.в принципе должно вставляться 200-500 тыс в минуту, т.е. 10млн это 50-20 минут.
Если имеется ввиду только чистая вставка строк в таблицу без индексов, то вполне нормальна и скорость в 2 млн. строк в минуту, по крайней мере я это видел пару лет назад на сервере
OS : Win2003+SP1
Informix: 10.0.FC4
CPU : 2 x Xeon 3,6 GHz
Memory : 5GB RAM
Disk : RAID 10 (4x70GB SCSI 15000)
...
Рейтинг: 0 / 0
25 сообщений из 47, страница 1 из 2
Форумы / Informix [игнор отключен] [закрыт для гостей] / Скорость загрузки данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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