|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Доброе время суток ! Имею поставленную задачу - максимально быстро (ночь) перенести данные между двумя серверами. Сервер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 прилагаю ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 12:00 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Когда делаете заливку базы (импорт) то делайте это без журналирования - скорость должна возрасти существенно. Заливку базы лучше делать с отдельного от чанков физического диска. PDQPRIORITY и PSORT_NPROCS нужны для быстрого построения индексов. HPL для переноса между разными типами серверов (*nix и windows) вроде бы не подходит? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 12:15 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Попробуйте также увеличить кол-во CLEANERS (например 64 или даже 128) - возможно ваши официанты не справляются с заказами :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 12:23 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Надо смотреть а реально создаются ли индексы в параллели? Как загружена система во время заливки sar, sar -d, vmstat Чего ждут сессии заливающие onstat -p, onstat -g wai Лог информикса Лог импорта, на что уходит основное время? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 12:37 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Насколько я знаю, на время импорта базы создаются в NoLogging. И журнал для таких баз не ведется. Или я не прав ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 12:38 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Лог информикса во время заливки чист :-) В той конфигурации которая приложена выше (onconfig), единственное сообщение было WARNING: Buffer pool size is too small for read ahead operation ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 12:46 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
SkSergeyAНасколько я знаю, на время импорта базы создаются в NoLogging. И журнал для таких баз не ведется. Или я не прав ? Если вы используете опцию -l dbimport'а, то база данных создаётся с журналированием, если не используете, тогда без журналирования. Операции DDL журналируются во всех базах, независимо от их режима журналирования транзакций. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 12:50 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
А основное время уходит на вставку данных, есть несколько таблиц по 10 млн. записей и соответственно на построение индексов по этим табличкам. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 12:52 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
SkSergeyAА основное время уходит на вставку данных, есть несколько таблиц по 10 млн. записей и соответственно на построение индексов по этим табличкам.в принципе должно вставляться 200-500 тыс в минуту, т.е. 10млн это 50-20 минут. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 12:58 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
АлексанЕсли вы используете опцию -l dbimport'а, то база данных создаётся с журналированием, если не используете, тогда без журналирования. Операции DDL журналируются во всех базах, независимо от их режима журналирования транзакций. Импорт идет без опции -l dbimport -c -d {dbspaces} -i {path} {base} ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 13:03 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 13:10 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
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 бы не устанавливал. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 13:11 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
SkSergeyAА основное время уходит на вставку данных, есть несколько таблиц по 10 млн. записей и соответственно на построение индексов по этим табличкам. Построение индексов и обновление статистики вы можете ускорить за счёт PDQ, вставку данных - за счёт хорошо настроенноого ввода/вывода. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 13:13 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Журавлев Денисв принципе должно вставляться 200-500 тыс в минуту, т.е. 10млн это 50-20 минут. Пересчитал сейчас приблизительное количество строк для вставки - 75 млн. Исходя из вышесказанного - скорость максимально возможная :-(((( ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 13:14 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Может подойдёт военные хитрость: большие таблицы разделить по строкам на "нужныстопудово завтра" и "можно долить INSERT - SELECT'ом следующими ночами" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 13:17 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
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. - попробую без вывода на экран :-)) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 13:27 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
АнатоЛойМожет подойдёт военные хитрость: большие таблицы разделить по строкам на "нужныстопудово завтра" и "можно долить INSERT - SELECT'ом следующими ночами" К сожалению даже разработчик этого приложения не уверен, какие данные данные можно оставить на потом :-((( ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 13:30 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
SkSergeyAПрошу помочь - какие еще настройки могут существенно повлиять на скорость загрузки. onconfig прилагаю И ещё я бы настроил соединение через разделяемую память (я нашёл только NETTYPE soctcp,2,,CPU, что означает сетевое соединение). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 13:31 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Алексан И ещё я бы настроил соединение через разделяемую память (я нашёл только NETTYPE soctcp,2,,CPU, что означает сетевое соединение). А можно подробней! Я в этом направлении даже не смотрел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 13:39 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
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 и собрать статистику по процедурам ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 13:47 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
SkSergeyA02. - этот вариант не пробовал, переносятся 4 дбспейса, в каждом от 200 до 600 таблиц При чем тут дбспейсы и количество таблиц ? О чем вы ? SkSergeyA 01. - в 11 версии Информикса dbimport невозможно запустить на Линукс сервере для импорта из 10 Может имелось ввиду dbexport ? А в чем ошибка или проблема ? С трудом верю, что такой возможности нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 13:55 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Алексан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 это далеко не предел для построения индексов и статистики по большим таблицам. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 13:56 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
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 и собрать статистику по процедурам Ну вот есть чем сегодня ночью заняться :-))) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 14:00 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
vasilis SkSergeyA02. - этот вариант не пробовал, переносятся 4 дбспейса, в каждом от 200 до 600 таблиц При чем тут дбспейсы и количество таблиц ? О чем вы ? SkSergeyA 01. - в 11 версии Информикса dbimport невозможно запустить на Линукс сервере для импорта из 10 Может имелось ввиду dbexport ? А в чем ошибка или проблема ? С трудом верю, что такой возможности нет. Конечно dbexport, описался :-)) -206 - The specified table (informix.sysseclabelcomponents) is not in the database. вот такая ошибка при попытке запуска. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 14:03 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Журавлев Денис 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) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 14:05 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
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 это далеко не предел для построения индексов и статистики по большим таблицам. попробую сегодня ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 14:05 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
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) как добиться такой скорости? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 14:07 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
SkSergeyA vasilis - обратить внимание на параметры локализации исходного и целевого серверов - выливать данные dbexport-ом сразу на целевой сервер (чтобы потом не копировать с сервера на сервер и не перекодировать из вин в юникс формат) - разделить SQL на отдельные части - проверить названия ДБ-пространств и размеры экстентов, а также возможные ссылки на другие таблицы и БД - отключить первичные индексы на больших таблицах - заливать данные в несколько потоков параллельно (или хотя бы большие таблицы) т.е. можно запустить несколько dbimport или это можно делать из нескольких sqleditor ? "несколько dbimport" запускать нельзя. И sqleditor тут не нужен (и откуда такая любовь к GUI ?) Просто последний раз предлагаю ВНИМАТЕЛЬНО и ДО КОНЦА прочитать рекомендованные ссылки с опытом людей, которые эти задачи уже решали. Это сэкономит вам намного больше времени, которое вы потратите на чтение. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 14:14 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
AndronТ.е. например RA_PAGES = 10000 и RA_THRESHOLD = 9998 это далеко не предел для построения индексов и статистики по большим таблицам. Почему то именно такие значения вызывают у меня глубокий пессимизм. Возможно, я неправ и что то не понимаю в современной архитектуре Информикс. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 14:18 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
SkSergeyA 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) как добиться такой скорости? Только упорным трудом :) А я не знаю, в особенности на вашем сервере и в ваших условиях. Вот еще нашел результаты для Линукса Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
- в каждую из 4-х таблиц грузилось по 1 млн.строк - таблицы от 3 до 4 полей, обязательно есть varchar(80), date, decimal - уникальные строки генерируются и вставляются процедурой блоками (возможно поэтому высокая скорость) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 14:37 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
vasilis AndronТ.е. например RA_PAGES = 10000 и RA_THRESHOLD = 9998 это далеко не предел для построения индексов и статистики по большим таблицам. Почему то именно такие значения вызывают у меня глубокий пессимизм. Возможно, я неправ и что то не понимаю в современной архитектуре Информикс. Я бы стал рассматривать такие значения, если бы загружались террабайты, и вопрос был бы в секундах. Кроме того, я не понимаю, как балансировать размер пула буферов, куда считываются данные, и размер виртуального сегмента, в котором будут строиться индексы. Но тесты могут меня убедить :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 14:56 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Ну что-ж! Всем спасибо за участие! Начинаю переваривать полученную информацию и готовиться к бессонной ночи ! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 15:35 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
SkSergeyA vasilis а также сделайте, по возможности, временные пространства на отдельных дисках - существенно поможет при индексировании. Это невозможно :-(( +1 к vasilis. ...а через "невозможно"? В сервере наверняка есть SATA-канал для DVD-ROM'a. К нему можно _временно_ подрубить шустренький винт. На нем сделать чанки под половину темповых дбспейсов. Возможно (смотрим по счетчикам onstat -D после тестовой загрузки), и PHYS_DBS туда же переносим (тоже временно, на период загрузки, переселяем с пом. "onparams -p"). ИМХО, самый действенный метод в вашей ситуации. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 18:27 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
vasilis AndronТ.е. например RA_PAGES = 10000 и RA_THRESHOLD = 9998 это далеко не предел для построения индексов и статистики по большим таблицам. Почему то именно такие значения вызывают у меня глубокий пессимизм. Возможно, я неправ и что то не понимаю в современной архитектуре Информикс. Я уж не помню, но кажется RA_PAGES обрубалось до 64 или даже до 32. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 21:53 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
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 А зачем что-то выгружать и загружать назад ? Реальный путь провереный на практике у нас. Версии, правда, были одинаковые (но не думаю, что 10.0->11.5 будет проблемой) и операционки тоже (тут возможно хуже) На принимающей машине настраивается Информикс с _такими_же_ по размерам и именам (мммм у вас с виндов на линукс, тогда скорее всего увы) dbscpace и структурой чанков. Принимающий информикс гасится. Чанки экспортируются (nfs,nb,gnb... ) на отдающую машину и подключаются там как _миррорные_ Всё. Мирорные чанки заполняются данными без прекращений работы отдающей системой. После чего она гасится и поднимается принимающая. Время простоя - минимальное. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 22:44 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Яковлев ПавелБлин совсем не мой день - три неполных поста Мои извинения ;( 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 А зачем что-то выгружать и загружать назад ? Реальный путь провереный на практике у нас. Версии, правда, были одинаковые (но не думаю, что 10.0->11.5 будет проблемой) и операционки тоже (тут возможно хуже) На принимающей машине настраивается Информикс с _такими_же_ по размерам и именам (мммм у вас с виндов на линукс, тогда скорее всего увы) dbscpace и структурой чанков. Принимающий информикс гасится. Чанки экспортируются (nfs,nb,gnb... ) на отдающую машину и подключаются там как _миррорные_ Всё. Мирорные чанки заполняются данными без прекращений работы отдающей системой. После чего она гасится и поднимается принимающая. Время простоя - минимальное. Вы таким образом предлагаете перетаскивать данные между версиями 10 TC и 11.5 FC ? :-))) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 00:25 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
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 Времени на исследования дали неделю, которая заканчивается завтра :-(( я считаю, для таких целей самое подходящее - Enterprise Replication. с настройкой повозиться придется, но если очень надо, за неделю можно успеть. причем все можно делать постепенно, без спешки, по одной табличке. и время простоя при переходе будет минимальное. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 08:57 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
svat2 +1 к vasilis. ...а через "невозможно"? В сервере наверняка есть SATA-канал для DVD-ROM'a. К нему можно _временно_ подрубить шустренький винт. На нем сделать чанки под половину темповых дбспейсов. Возможно (смотрим по счетчикам onstat -D после тестовой загрузки), и PHYS_DBS туда же переносим (тоже временно, на период загрузки, переселяем с пом. "onparams -p"). ИМХО, самый действенный метод в вашей ситуации. Сегодня попробую и этот вариант ! Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 15:06 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Выбегалло Яковлев ПавелБлин совсем не мой день - три неполных поста Реальный путь провереный на практике у нас. Версии, правда, были одинаковые (но не думаю, что 10.0->11.5 будет проблемой) и операционки тоже (тут возможно хуже) Вы таким образом предлагаете перетаскивать данные между версиями 10 TC и 11.5 FC ? :-))) Я таким образом описываю то, что реально работало, сразу оговорившись, что: - у нас была одна и таже версия - у нас было одно и тоже семействой ОС - Linux 32 бит - и обращаю внимание на то, где может не сработать в обсуждаемом случае Таким же образом я буду скоро _проверять_ переход Linux-32 => Linux-64 c повышением версии. И _пока_ проблема не вижу, так как 10.00 на 11.50 пройдёт, а для конвертации базы от 32 к 64 есть отдельная опция в преобразовании старых баз. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 21:04 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Яковлев Павел Выбегалло Яковлев ПавелБлин совсем не мой день - три неполных поста Реальный путь провереный на практике у нас. Версии, правда, были одинаковые (но не думаю, что 10.0->11.5 будет проблемой) и операционки тоже (тут возможно хуже) Вы таким образом предлагаете перетаскивать данные между версиями 10 TC и 11.5 FC ? :-))) Я таким образом описываю то, что реально работало, сразу оговорившись, что: - у нас была одна и таже версия - у нас было одно и тоже семействой ОС - Linux 32 бит - и обращаю внимание на то, где может не сработать в обсуждаемом случае Таким же образом я буду скоро _проверять_ переход Linux-32 => Linux-64 c повышением версии. И _пока_ проблема не вижу, так как 10.00 на 11.50 пройдёт, а для конвертации базы от 32 к 64 есть отдельная опция в преобразовании старых баз. Ну, в данном случае не то что "может" не сработать - а не сработает совершенно точно, уж будьте уверены. Хотя бы потому, что в Win размер страницы 4K, а в Linux - 2. Насчет перетаскивания с 10 на 11.50 - ну да, должно сработать, но это будет банальный апдейт версии на копии данных. Как попробуете Lin32->Lin64 - держите нас в курсе. Куча системных псевдотаблиц имеют полями адреса в памяти, так что будет интересно посмотреть результаты. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2008, 03:43 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
vasilisЕсли имеется ввиду только чистая вставка строк в таблицу без индексов, то вполне нормальна и скорость в 2 млн. строк в минуту, по крайней мере я это видел пару лет назад на сервере Попробовал на домашнем коредуо. create table testint(a int); insert into testint(a) values (0); prepare; execute в цикле. итераций сек10000 .579100000 5.6881000000 55.485 из dbaccess load from 'test.unl' insert into testint 1000000 row(s) loaded. 6 sec Вот она магическая сила Insert Cursor, поэтому да, в минуту можно и 10 миллионов наинсертить. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2008, 21:48 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Журавлев ДенисВот она магическая сила Insert Cursor, поэтому да, в минуту можно и 10 миллионов наинсертить. Insert Cursor нервно курит в сторонке против HPL-я. Вчера перечитал по ссылке из соседнего треда свою рассказку в факе 6-летней давности. 70млн записей за 10 минут (в таблице 6 полей, row size=25). Отмечу, что железо тогда было попроще. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2008, 10:13 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
DaugavaInsert Cursor нервно курит в сторонке против HPL-я.Это понятно, но у hpl свои ограничения. Интересно чем можно буфер подкрутить для курсора, BIG_FET_BUF_SIZE FET_BUF_SIZE ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2008, 10:55 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Журавлев ДенисИнтересно чем можно буфер подкрутить для курсора, BIG_FET_BUF_SIZE FET_BUF_SIZEЭто переменные окружения на клиенте ( про JDBC ) и про ESQL/C . Нужно только на сервере, в $INFORMIXSQLHOSTS, настроить такой же размер буфера, как описано в разделе "Поле опций" тут . Только мне кажется, что выигрыш в производительности достигается за счёт увеличения размера сетевых пакетов (и, как следствие, за счёт уменьшения их числа), а у IP-протокола есть свой размер пакета, который по-умолчанию не очень велик, хотя и настраивается - 1,5 Кб, кажется. Прихожу к тому, что большой пакет клиента Информикса всё равно будет порезан на меньшие сетевые пакеты, и значительного прироста производительности не будет. ИМХО. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2008, 12:45 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Выбегалло Яковлев Павел Реальный путь провереный на практике у нас. Версии, правда, были одинаковые (но не думаю, что 10.0->11.5 будет проблемой) и операционки тоже (тут возможно хуже) Таким же образом я буду скоро _проверять_ переход Linux-32 => Linux-64 c повышением версии. И _пока_ проблема не вижу, так как 10.00 на 11.50 пройдёт, а для конвертации базы от 32 к 64 есть отдельная опция в преобразовании старых баз. Как попробуете Lin32->Lin64 - держите нас в курсе. Куча системных псевдотаблиц имеют полями адреса в памяти, так что будет интересно посмотреть результаты. ну как-то так :) http://www.sql.ru/forum/actualthread.aspx?tid=591463 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2008, 22:35 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Интересно, кто-нибудь использовал следующую утилиту: load2 - utility for loading/unloading data to/from Informix database http://robsosno.googlepages.com/downloads С уважением, Вадим. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2008, 21:41 |
|
Скорость загрузки данных
|
|||
---|---|---|---|
#18+
Daugava Журавлев ДенисВот она магическая сила Insert Cursor, поэтому да, в минуту можно и 10 миллионов наинсертить. Insert Cursor нервно курит в сторонке против HPL-я. Вчера перечитал по ссылке из соседнего треда свою рассказку в факе 6-летней давности. 70млн записей за 10 минут (в таблице 6 полей, row size=25). Отмечу, что железо тогда было попроще. ну если лить сразу страницы, минуя SQL level с его индексами, констрейнами, триггерами и пр. - то конечно :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2008, 18:54 |
|
|
start [/forum/topic.php?all=1&fid=44&tid=1608024]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
others: | 313ms |
total: | 504ms |
0 / 0 |