powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Производительность gbak
24 сообщений из 74, страница 3 из 3
Производительность gbak
    #38522450
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastor> вот и определился ориентир размера страницы БД в FB 4.0

В палату №6, не иначе. Как макс. размер - ещё куда ни шло.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность gbak
    #38522473
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvСейчас вот вообще пишут
512K is commonly used and is supposed to have the best combination of benefits for large I/O and the least detriment for small I/O on this controller across multiple operating systems.Ну, возможно кеширование в самом контроллере всё поменяло.
В любом случае - проверять нужно.
...
Рейтинг: 0 / 0
Производительность gbak
    #38522540
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

поскольку "разговор об этом с тобой" не вспоминается (я даже не помню, когда и где это было), то вот, что пишут:
- страйп - это кусок данных, хранимый на одном диске. т.е. например 64к на одном, потом 64к на другом, и т.д.
- поочередное чтение с дисков, разумеется, может увеличить скорость, но чем меньше будет страйп, тем хуже это будет для последовательного чтения (разумеется?).
- поскольку в тестах страйпов часто ссылаются на MS SQL, оптимальный размер в 128к может быть связан с "блочным чтением", о котором ты недавно говорил в отношении ФБ3 в фб-девел.
- при упоминании размера страйпа часто упоминают его прямую связь со скоростью шины контроллера. Отсюда оптимум в 64, 128 и 256 к.

И, да, про страйпы было у Ривза,
http://www.firebirdsql.org/file/community/ppts/fbcon11/FB_Conf_2011_Firebird_RAID.pdf
со слайда 32.

p.s. спорить я не хочу, проще найти результаты тестов контроллеров, но мне отсюда делать это не очень удобно.
...
Рейтинг: 0 / 0
Производительность gbak
    #38522741
Sergei.Agalakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположим нам надо прочитать 100Мб последовательных данных с дисковой системы (full table scan). На правильный операционной системе с правильной файловой системой одно логической чтение имеет лимит 1Мб. Итого нам потребуется минимум 100 логических чтений каждое на 1 Мб. Можно тогда ограничиться рассмотрением чтения 1Мб, поскольку далее мы просто повторяем это 100 раз. У нас есть доступ к массиву жестких дисков неограниченного размера, и мы можем конфигурировать его как хотим. Берем 128*2 дисков и делаем RAID10 с stripe=8k. Наше логическое чтение 1Мб контроллером размазывается на 128 чтений по 8Кб каждое на своем диске и мы без учета накладных расходов на контроллере получаем наш ответ за одно физическое чтение с каждого жесткого диска. Но суммарно мы сгенерировали 128 физических чтений. То есть для одной сессии мы производительность максимизировали, но для 100 сессий такого типа суммарная производительность массива неоптимальна. Такой stripe может иметь смысл для data warehouse и прочих DSS. Сделали stripe=512k. Чтение размазалось только на два шпинделя, мы создали только 2 физических чтения на 1 логическое, что хорого для конкурирующих чтений от других сессий, но производительность чтения нашей сессии упала, поскольку мы вынуждены ждать когда каждый диск сможет нам отдать наши 512Кб. К счастью с высокой вероятностью эти 512Кб записаны последовательно, а скорость последовательного чтения с жесткого диска в десятки раз выше случайного чтения. Так что можно надеяться получить скорость чтения всего в несколько раз меньше, чем с массива из 128 пар дисков.
Для случайной записи, конечно, фокус не придет, и надо как можно больше шпинделей, но нормально базы данных пишут гораздо меньше, чем читают.
...
Рейтинг: 0 / 0
Производительность gbak
    #38522751
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv- поочередное чтение с дисков, разумеется, может увеличить скорость, но чем меньше будет страйп, тем хуже это будет для последовательного чтения (разумеется?).Только в отсутствии read-ahead и кеша в контроллере.

kdv- поскольку в тестах страйпов часто ссылаются на MS SQL, оптимальный размер в 128к может быть связан с "блочным чтением", о котором ты недавно говорил в отношении ФБ3 в фб-девел.Размер экстента в MSSQL - 64KB и в твоей первой ссылке зуб дают, что испытывали рандомные одностраничные чтения

kdv- при упоминании размера страйпа часто упоминают его прямую связь со скоростью шины контроллера. Отсюда оптимум в 64, 128 и 256 к.Это может относиться только к большиму последовательному IO.

kdvИ, да, про страйпы было у РивзаУ него на стр.32 для рестора лучше всего страйп И страница 16КБ и страйп 256КБ везде проигрывает.
А потом, на стр.34 страйп 256КБ вдруг становится лучшим для инсертов (р-р страницы не указан, кстати).
А что есть рестор, как не куча инсертов ?
Про индексы во время рестора ничего не сказано.
Так что - я ему просто не верю. По крайней мере без объяснений.

kdvспорить я не хочуЯ же уже выше согласился - проверять надо. Конкретный контроллер с конкретным набором дисков.
...
Рейтинг: 0 / 0
Производительность gbak
    #38523875
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дальнейшее развитие ситуации.
1. Контроллер действительно не дает изменить никакие настройки при создании массива. Оказывается, это версия с какой-то особой прошивкой.
2. Провел тесты с другими дисками. Отдельный SAS-диск, подключенный к контроллеру, так и SATA-диск, подключенные к мат. плате, дали примерно такую же производительность при бэкапе - 100 секунд. При ресторе данных чуть SAS-диск быстрее (95 против 105 у SATA и RAID). остальне то же самое (~315 секунд).
3. x64-сборка при ресторе быстрее на 30 секунд при создании индексов. Остальные тайминги такие же.
4. Время рестора данных и бэкапа одинаковые и ~100 секунд. Размер fbk 400 Мб. Отсюда вывод - скорость чтения/вставки ~4 Мб/сек...

А вот теперь самое интересное. Так как памяти много, решил проверить - а что будет, если засунуть базу в RamDisk? Установил SoftPerfect RamDisk и получились следующие результаты. Бэкап - 100 секунд, рестор данных - 100 секунд, рестор индексов - 315 секунд. То есть дисковая подсистема тут вообще не влияет! Загрузка процессора все это время в районе 3-4%.
...
Рейтинг: 0 / 0
Производительность gbak
    #38523894
Евгений Килин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMaxТо есть дисковая подсистема тут вообще не влияет! Загрузка процессора все это время в районе 3-4%.
Да ты уже близок к http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1069931&msg=15395279
На счет 3-4% странно, если у тебя 16 ядер, то д.б. 6.25 % :)
...
Рейтинг: 0 / 0
Производительность gbak
    #38523921
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений КилинНа счет 3-4% странно, если у тебя 16 ядер, то д.б. 6.25 % :)
Их 32 :). Процесс с FB грузится на 100%.

Протестировал B/R на RamDisk'е Windows 2008 R2, CPU i3 2.9 GHz.
Бэкап - 55 секунд. Рестор: данные 70 секунд, индексы 190 секунд. Итого 260 секунд против 415 на AMD Opteron 2.4 GHz.
...
Рейтинг: 0 / 0
Производительность gbak
    #38524077
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax> То есть дисковая подсистема тут вообще не влияет!

Спрашивается, стоило ли столько мучаться, чтобы узнать
то, что итак известно и еще на первой странице упомянуто.

Покрути настройки конфига - может чуток и выиграешь где.
Заодно нам раcскажешь о подобранных оптим. параметрах.

CyberMax> Загрузка процессора все это время в районе 3-4%.

Странно это, ибо ты в проц и должен упираться по идее.
Уточни ещё у ДЕ/Влада, может ли там что-нибудь параллелиться.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность gbak
    #38524079
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax> Итого 260 секунд против 415 на AMD Opteron 2.4 GHz.

AMD гомно! Интел наше всё! (с)

Попробуй ещё ради интереса тактовую частоту
Интела до 2.4 снизить для пущей честности.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность gbak
    #38524082
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что у тебя так много варчар-индексов?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность gbak
    #38524091
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамА что у тебя так много варчар-индексов?
На многих справочниках уникальность поля имени на них держится. Процентах на 80, примерно. Это плохо?
...
Рейтинг: 0 / 0
Производительность gbak
    #38524116
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамСпрашивается, стоило ли столько мучаться, чтобы узнать то, что итак известно и еще на первой странице упомянуто.
Ну не верилось, что свежекупленный сервер будет проигрывать чисто по производительности CPU десктопу.

Гаджимурадов РустамПокрути настройки конфига - может чуток и выиграешь где. Заодно нам раcскажешь о подобранных оптим. параметрах.
Пока покрутил CPU Affinity и TempCacheLimit. Проверяю.
...
Рейтинг: 0 / 0
Производительность gbak
    #38524136
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMaxНу не верилось, что свежекупленный сервер будет проигрывать чисто по производительности CPU десктопу.разные весовые категории, это как сравнить белаз и феррари. ;)
Я когда помогал Диме тестить рестор запускал 4 копии рестора на сервере и они приходили к финишу практически одновременно, и по времени в пределах погрешности относительно одной запущенной копии.

Если есть игровая база где затерты реальные данные, могу потестить для тебя на линухе, как на интеле так и на АМД.
...
Рейтинг: 0 / 0
Производительность gbak
    #38524329
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax> На многих справочниках уникальность поля имени
CyberMax> на них держится. Процентах на 80, примерно. Это плохо?

Да нет. Все длинные чтоль?

Был бы один высокий справочник - вышло бы дешевле, наверное.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность gbak
    #38524332
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax> Ну не верилось, что свежекупленный сервер будет
CyberMax> проигрывать чисто по производительности CPU десктопу.

Он не проигрывает, он делает рестор чуть медленнее.

> Пока покрутил CPU Affinity и TempCacheLimit. Проверяю.

Забыл, что у тебя супер. Проверь на классике, ради интереса.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность gbak
    #38524341
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Пока покрутил CPU Affinity и TempCacheLimit. Проверяю.

P.S. TempBlockSize ещё попробуй немного
увеличить - хотя вряд ли это как-то поможет.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность gbak
    #38525228
Oliph
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поскольку одна из причин упирания в гигагерцы это однопоточность клиента gbak, хочется помечтать:

1. Чтобы формат fbk был приспособлен как к последовательной обработке (как сейчас, как бы с магнитной ленты), так и к обработке произвольного доступа (по итогам бакапа в хвост файла пишется табличка смещений, по какому смещению в файле fbk лежат данные той или иной таблицы).
Тогда для больших табличек можно стартовать отдельные потоки, которые заливают данные своей таблицы.
Как бонус - возможность информировать о проценте выполнения (т.к. изначально известно конечный объем каждой таблицы)

2. Думаю п.1. можно распространить и на создание индексов.

В обоих случаях предполагается, что сервер будет все это обрабатывать многопоточно (на Super прироста, кажется не будет)
Прошу также заметить, что это предложение касается только клиентской программы gbak.
Сервер и так уже заточен на многопоточную обработку.

Если распространить мечту и на сервер, то:
3. Пакетное создание индексов одной таблицы.
Т.е. если в определенной таблице планируется создать более одного индекса, хорошо бы сообщить об этом серверу одной пачкой,
чтобы сервер мог создать все эти индексы за один проход исходной таблицы.

Разработчикам на заметку.
Приятно было бы отчитаться "gbak performance dramatically increased" (тем более сервер тройки во всех случаях True SMP).

Только вот...
wadmanЭто настолько частая операция?
У меня нбакап на ежесуточном, еженедельном и ежемесячном расписании сидит. Полный b/r - по настроению, обычно когда производство стоит.Может найдется энтузиаст, который сделает такой форк гбака :)
...
Рейтинг: 0 / 0
Производительность gbak
    #38525292
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oliph,

трудоемкость этого будет не намного меньше, чем у создания самого сервера, кмк.
...
Рейтинг: 0 / 0
Производительность gbak
    #38525343
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oliph,

2 - уже есть в InterBase XE3, но для того, чтобы фича приносила пользу, надо чтобы база и temp были на ssd или на raid из ssd.

OliphМожет найдется энтузиаст, который сделает такой форк гбака :)
тут даже форк делать необязательно. можно с нуля написать что угодно, прямо сейчас, сохраняющее в любой формат и с любой параллельностью.
...
Рейтинг: 0 / 0
Производительность gbak
    #38525457
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно и по другому переформулировать задачу, выгрузить базу в скрипт умеет много кто, как следствие научиться выделять в скрипте куски, которые можно исполнить параллельно, т.е приходим к форку не gbak-а, а isql-я.

Было бы время и желание. :)
...
Рейтинг: 0 / 0
Производительность gbak
    #38525682
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oliphдля больших табличек можно стартовать отдельные потоки, которые заливают
данные своей таблицы.
И получить туеву хучу random I/O в процессе, а так же фрагментированные таблицы в
результате. Ню-ню... Может, экстенты это и смогут поправить, но я бы не был так
оптимистичен...

Как уже сказал kdv, каждый может написать свою собственную утилиту экспорта/импорта
(которой, собственно, и является gbak) чтобы проверить свои идеи на практике.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность gbak
    #38525720
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А идея в многопоточном бэкапе или ресторе ? Многопоточный бэкап, кмк, не имеет будущего, ибо придется открыть отдельные транзакции на каждый поток, в итоге получим рассогласованные данные.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность gbak
    #38525740
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovИ получить туеву хучу random I/O в процессе, а так же фрагментированные таблицы в результате.ssd (или рам диск на время рестора с последующией заливкой результата на САС рэйд). Опять таки либо решать в железе которому пох рэндомной дисковый ИО либо кэшированием. Райтбэк кэш на правильном контроллере зело облегчит жизнь дискам.
...
Рейтинг: 0 / 0
24 сообщений из 74, страница 3 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Производительность gbak
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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