Перейти к содержимому

Фотография

Реальные объемы данных


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 13

#1 firefly

firefly

    Новый участник

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Svetlana
  • Город:Новосибирск

Отправлено 30 мая 2006 - 02:44

Здравствуйте,
есть проблема такого рода:
приложение проверяется на тестовой небольшой базе данных (до 1 Гб). Вроде как все работает: скрипты на базу накатываем, приложение запускается, данные обрабатываются.
Но вот на реальных базах в несколько десятков-сотен гигов иногда начинаются проблемы: скрипты очень долго "вгоняются", приложение может упасть после новых скриптов и т.д.
Существуют какие-то методы тестирования работоспособности того же приложения, но на больших базах? Или это возможно проверить только практикой (на реальной базе, имея "мега" сервер клиента)?
Дополнительно: работаем с InterBase, приложение написано на Delphi

Заранее спасибо за ответы:)
  • 0

#2 Clauster

Clauster

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 30 мая 2006 - 07:00

...
Но вот на реальных базах в несколько десятков-сотен гигов...
...работаем с InterBase...

Просмотр сообщения

:good:
  • 0

#3 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 30 мая 2006 - 07:08

Существуют.
Это объемное тестирование. Посмотрите в моем блоге. Там немного написано о таком виде тестирования.
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#4 Guriy

Guriy

    Опытный участник

  • Members
  • PipPipPipPip
  • 316 сообщений
  • Город:Киев, Украина

Отправлено 13 июня 2006 - 19:20

...
Но вот на реальных базах в несколько десятков-сотен гигов...
...работаем с InterBase...

Просмотр сообщения

:good:

Просмотр сообщения


Кх-Кх - может метров?
:good:
  • 0

#5 firefly

firefly

    Новый участник

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Svetlana
  • Город:Новосибирск

Отправлено 15 июня 2006 - 02:14

с сотнями я погорячилась - у страха глаза велики:)
предельное значение как раз сотня, но именно гигов
к сожалению, продукт уже давно в коде, так что объемное тестирование до кодирования отменяется:(
а готовый продукт нельзя как-нибудь и чем-нибудь проверить на работоспособность с большими объемами данных до того, как от клиентов поступят жалобы?
  • 0

#6 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 15 июня 2006 - 06:46

с сотнями я погорячилась - у страха глаза велики:)
предельное значение как раз сотня, но именно гигов
к сожалению, продукт уже давно в коде, так что объемное тестирование до кодирования отменяется:(
а готовый продукт нельзя как-нибудь и чем-нибудь проверить на работоспособность с большими объемами данных до того, как от клиентов поступят жалобы?

Просмотр сообщения

Не "можно", а "нужно".

Выбор инструмента проверки зависит от вашей системы. Судя по тому, что увас тормозят скрипты, лучше всего подойдет использование связки "среда выполнения скриптов" + "профайлер".

PS. Сотня гигов это маленькие объемы. Как говорят ораклисты 10-20 гиг это размер игрушечной базы.
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#7 firefly

firefly

    Новый участник

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Svetlana
  • Город:Новосибирск

Отправлено 15 июня 2006 - 15:16

ну, оракл все таки немного другое...

а можно уточнить как мне поможет профайлер? встроим мы в свою "среду выполнения скриптов" (у нас спец.апдейтер для этих целей есть), будем получать время выполения скриптов, только на маленькой базе выдаст время маленькое, а на большой сутки будет ставиться - у клиентов стоит мощный сервер, который на тестирование мне никто не одолжит. Вопрос в том как мне "предугадать" приемлемое ли время будет ставиться скрипт на большую базу на мощном сервере, имея в наличии обычную машину?
...дали самолет тестировать, а я его могу только по асфальту за веревочку покатать :good:
  • 0

#8 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 15 июня 2006 - 17:08

ну, оракл все таки немного другое...

а можно уточнить как мне поможет профайлер? встроим мы в свою "среду выполнения скриптов" (у нас спец.апдейтер для этих целей есть), будем получать время выполения скриптов, только на маленькой базе выдаст время маленькое, а на большой сутки будет ставиться - у клиентов стоит мощный сервер, который на тестирование мне никто не одолжит. Вопрос в том как мне "предугадать" приемлемое ли время будет ставиться скрипт на большую базу на мощном сервере, имея в наличии обычную машину?
...дали самолет тестировать, а я его могу только по асфальту за веревочку покатать :good:

Просмотр сообщения

Профайлер покажет узкие места. На вашем стенде.

Интерпретация на боевой стенд... Боюсь, моих знаний не хватит, чтобы в форуме дать правильный ответ. Я стараюсь пользоваться правилом:
Тестовый стенд должен соответствовать боевому.
Перенос результатов тестирования на реальных данных, но на сильно отличаюшемся железе далеко нетривиальная задача. Увы.
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#9 DrVal

DrVal

    Постоянный участник

  • Members
  • PipPipPip
  • 230 сообщений
  • ФИО:Drozdov V. V.

Отправлено 16 июня 2006 - 11:32

В принципе, найти узкие места можно и на менее мощной машине.
Скажем, если есть квадратичная зависимость времени выполнения от объема данных, то никакая быстрая машина это не компенсирует (скажем, объем базы больше в 100 раз, машина быстрее в 10 раз, время выполнения больше в 1000 раз).

Т.ч. можно проанализировать несколько зависимостей - от объема данных при фиксированной конфигурации, от количества памяти и частоты ЦПУ (или их количества) при фиксированном объеме и т.д.

Результат это, конечно, не гарантирует, но выявить проблемы с масштабированием может.
  • 0

#10 firefly

firefly

    Новый участник

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Svetlana
  • Город:Новосибирск

Отправлено 20 июня 2006 - 05:40

хорошая мысль:)
спасибо большое! :crazy:
буду хоть так статистику набирать...
  • 0

#11 Гость_@Alex_*

Гость_@Alex_*
  • Guests

Отправлено 13 сентября 2006 - 12:17

Quest Software хвалится что его BenchMark Factory "меряет" БД хорошо.

Вообще-то скрипты должны прогоняться на тестовых БД которые соизмеримы с боевыми. Тогда можно делать прогноз. Кроме того, по опыту можно установить что 10 000 строк обрабатываются столько-то и объединяются столько-то, 100 000 строк обрабатываются столько-то и объединяются столько-то.

Периодическая визитация клиентов с вашими продуктами и сбор разного рода статистик и их накопление, тоже дают много информации для последующих прогнозов.

Опять же важен не размер самой БД а размер отдельных сегментов данных с которыми вы работаете. Увеличить несколько сегментов для тестов - это допустимо. только оговорюсь что увеличение сегментов должно быть осмысленным

#12 Гость_drcoor_*

Гость_drcoor_*
  • Guests

Отправлено 14 сентября 2006 - 14:29

У Вас десятки-сотни гигов именно под Interbase??? Причём у каждого из Ваших клиентов? Да как же вы их бекапите и вообще обслуживаете? :clapping: Или всё-таки какой-то клон, например, FB?
А по теме - мы в нашей ситуации всё-таки закупили сервер, по возможностям похожий на пользовательский, правда дешевле, и гоняем на нём. Правда, всегда проверяем время выполнения скриптов 2 раза - на маленькой базке и на в 10 раз большей, чтоб примерно знать зависимость времени от размера - прямая или квадратичная (обе базы - боевые, присланы с мест).
Хотя по моему опыту, под клонами ИБ скрипты выполняются независимо от размера БД. Если проблема с прокруткой скриптов - значит, либо в них трабл, и он и на мелкой БД вылезет, либо база убитая (например, перед установкой обновления не был вполнен бекап-рестор БД и количество структурных изменений превысило 256).:acute:

#13 firefly

firefly

    Новый участник

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Svetlana
  • Город:Новосибирск

Отправлено 21 мая 2007 - 09:46

У Вас десятки-сотни  гигов именно под Interbase??? Причём у каждого из Ваших клиентов? Да как же вы их бекапите и вообще обслуживаете? :shok:  Или всё-таки какой-то клон, например, FB?


не у всех, но есть несколько "больших" клиентов и у них именно такие размеры. Работа с ними почти индивидуальна. Моя задача минимизировать проблемы, но, к сожалению, не убрать их полностью...
сервер никто так и не хочет закупать:(
выбрала также несколько (пока хватает 6) "боевых" баз разных размеров и ставлю все обновления на них - картинка в целом получается приближенная к реальной, по крайней мере можно увидеть когда стоит бить тревогу...
если проблема в скрипте, то, конечно, ее можно заметить на мелкой базе. Но если скрипт верный, но не оптимизированный (н-р, последовательный перебор строк одной из таблиц), тогда на больших базах могут возникнуть сложности - перебрать 10 строк или, допустим, 1 000 000 займет разное время. Другое дело окажется ли среди моих тестовых баз база именно с этой большой таблицей... По крайней мере стралась выбирать среднестатистические базы.

...а убитые базы клиентов - это уже проблема сопроводагеров, в моем случае:)
  • 0

#14 P_R

P_R

    Новый участник

  • Members
  • Pip
  • 16 сообщений
  • Город:Киев

Отправлено 20 сентября 2007 - 11:07

...статистика и прогнозирование.
Обязательные пунктики:
1) схема тестовой полностью совпадает с продуктивной;
2) количество записей для проверки скрипта градуируем (пр., 10, 100, 10 000, 100 000) .
Проводим испытания - следим за производительностью. Для определения графика зависимости производительности БД (системы) от нагрузки по данным, необходимо создать набор тестовых баз данных, которые имеют разный объем (мощность <= P продуктива). Это позволяет оценить изменение параметров производительности тестируемого продукта. Логарифмическая шкала позволяет оценить скорость роста времен отклика и обнаружить узкие места.
Если есть статистика по различным профилям нагрузки - значит можно прогнозировать, следовательно определить законы изменения измеряемых параметров в зависимости от нагрузки, а значит составлять ТС наиболее оптимально.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных