Есть ли способ оценить пропускную способность записи от Java до Oracle? - PullRequest
2 голосов
/ 01 декабря 2010

У нас большой объем данных, и мы хотим знать, как быстро они могут быть записаны в Oracle. Есть ли способ оценить пропускную способность записи от Java до БД Oracle? Мы можем использовать любой подход (не обязательно JDBC), если он быстрее. Например, было бы полезно узнать скорость X диска, процессор Y, тогда вы можете записать Z байт / секунду. Есть ли способ оценить такую ​​скорость передачи данных?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 01 декабря 2010

Я не думаю, что есть какая-то стандартная формула.Помимо прочего, это также зависит от вашей схемы (например, есть ли у вас индексы на таблицах), файловой системы, сколько дисков у вас есть, уровень RAID, который вы используете, как таблицы, индексы, журналы и т. Д. Распределены по этимдиски ...

Попробуйте и посмотрите, возможно, единственный способ.

Если есть способ оценить это, учитывая все это, я бы тоже хотел узнать об этом!

1 голос
/ 01 декабря 2010

Если у вас есть пропускная способность сети, скорость процессора и пропускная способность записи на диск, вам нужно знать, насколько Oracle будет раздувать размер пакетов и сколько раздувает данные при записи их на диск. (т.е. что такое издержки) Это полностью зависит от вашей структуры данных, но для данной структуры данных это будет то же самое. Без дополнительной информации я бы предположил, что это в 2-3 раза.

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

Формула может выглядеть следующим образом, при условии, что у вас большие транзакции (не пытаясь зафиксировать каждую запись отдельно)

Сетевая задержка - 100 МБ по каналу 1 ГБ со 100% служебной нагрузки занимает 2 секунды.

Задержка процессора - 100 МБ с нагрузкой 200% на процессор, который может двигаться 300 МБ / с, занимает 1 секунду

Задержка диска - 100 МБ с 200% накладных расходов на диски, которые могут поддерживать 60 МБ / с, занимает 5 секунд.

Примечание: в зависимости от того, как вы кешируете свои данные, запись / запись обратно на диск может быть почти полностью кэширована и записана позже.

Это дает 3–8 секунд.

Однако вам все равно нужно протестировать вашу конкретную систему, чтобы выяснить, сколько времени это займет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...