Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Производительность Oracle  [new]
KiriX
Member

Откуда:
Сообщений: 12
В общем, не так давно наша контора перешла на Оракл. Решили под это дело сменить сервер, крутится три базы на Оракле. Думали, повысится производительность и скорость работы сервера.
Дело в том, что устанавливал на три разные машинки, а скорость генерации базы и импорта дампа на всех трёх машинка совершенно одинаковые. Да и запросы выполняются тоже с той же самой скоростью...
Примеры конфигураций машин:
1) Xeon 3.6GHz (точно марку не помню - старенький) - 4 ядра - один процессор; 8Gb RAM (DDR); На базу отведено ~ 2Gb RAM
2) Intel E5700 3.0GHz - 2 ядра - один процессор; 4Gb RAM (DDR III); На базу отведено ~ 1.3Gb RAM
3) Xeon E5649 2.53GHz - 6 ядер - два процессора; 32Gb RAM (DDR III); На базу выделено 6Gb RAM

В 1 и 2 варианте оперативки на базу выделяется стандартно, как предлагает сам Оракл при генерации - 40%. 1 вариант - старый сервер, 2 - простая настольная машинка, 3 - новый сервер.
Везде была установлена редакция Оракла Standart One.
Специально засекал скорость генерации базы, скорость импорта/экспорта дампа и выполнения одной и той же процедуры. На всех трёх машинках результаты практически идентичны, различия сколь-нибудь существенными назвать нельзя.
В чём может быть проблема? Редакция Оракла ведь не должно влиять... Или должна? Или просто сам Оракл таков...

P.S: На 1 и 2 машинках антивирус установлен в добавок, на последней и самой мощной антивируса нет. Производительность машинок 100% разная и соответствует их мощностям, тестировалось на каждой машинке методом архивирования и разархивирования 4Гб-ного дампа =)
2 июл 12, 09:50    [12802220]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
Свежая струя
Member

Откуда: из чайника
Сообщений: 4826
Диски какие?
2 июл 12, 10:15    [12802340]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
KiriX
Member

Откуда:
Сообщений: 12
Свежая струя
Диски какие?

Не думаю, что в этом дело, но всё же отвечу:
1) Seagate ST31000528AS
2) Seagate ST9250315AS
3) Hitachi HUS156060VLS600 (RAID 0+1)

Очевидно, что даже по ЖД должна быть логичная разница. Самая низка производительность должна быть у машинки 2, потом 1 и самым производительным должен быть сервер 3.
На деле разницы ноль...
2 июл 12, 10:35    [12802444]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 1637
KiriX
Производительность машинок 100% разная и соответствует их мощностям, тестировалось на каждой машинке методом архивирования и разархивирования 4Гб-ного дампа


Здесь могу сказать, т.к. сам недавно занимался. Архиватор, скорее всего, использует одно ядро.
Я познакомился с pbzip (parallel bzip) - он загружает все ядра, и архивация идет значительно быстрее.

В остальных вопросах вам помогут, как минимум, top и iostat (если линух), или виндовые мониторы ресурсов.
2 июл 12, 10:39    [12802471]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
KiriX,

антивирус - это жесть. еще не вымерли пока чудотворцы, которые оракл виндовозный гнобят жадными скринсейверами -
классно (гнобить ) получается.
ну а если серьёзно - сравнивать производительность оракловых серверов по одиночным операциям - имхо - не серьёзно
2 июл 12, 11:04    [12802619]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
KiriX
Member

Откуда:
Сообщений: 12
dmdmdm, у меня к архиватору никаких претензий. Он-то как раз даёт различный результат вполне соответствующий мощностям машинки. Что подтверждает, что с машинками проблем никаких нет.

orawish, в виду специфика программ и деятельности используется windows:
1) Win Server 2003 (x64)
2) Win 7 (x32)
3) Win Server 2008 (x64)
Оракл, естественно, х64.

Я бы понял ещё, если бы антивирь стоял на 3 машине и из-за этого она выдавала бы результаты идентичные 1 и 2. Но по всем параметрам 3 машинка рвёт первые две. Но Ораклу как-то пофиг на это... Сдаётся мне, что если я установлю его на ещё более слабую машинку - результат будет таким же...
Я же сравнивал не по одиночным операциям... Импорт/экспорт, генерация базы, выполнение достаточно трудоёмкой процедуры. Думаю, отличия уже должны быть видны...
Всё-таки, не может ли быть дело в том, что используется Standard Edition One???
2 июл 12, 11:33    [12802803]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4917
Блог
KiriX
Всё-таки, не может ли быть дело в том, что используется Standard Edition One???
Посмотрите на загрузку CPU при экспорте-импорте. Вы увидите, что используется только одно ядро. Для того, чтобы Oracle использовал больше ядер - используется распараллеливание. А использовать вы его не сможете - оно есть только в EE.

Т.е. при грамотной настройке увидеть разницу можно будет в том, что, например, 2 ядра держат 200 пользователей, а 4 ядра 380.
2 июл 12, 12:04    [12802999]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
KiriX
Member

Откуда:
Сообщений: 12
Alexander Ryndin
KiriX
Всё-таки, не может ли быть дело в том, что используется Standard Edition One???
Посмотрите на загрузку CPU при экспорте-импорте. Вы увидите, что используется только одно ядро. Для того, чтобы Oracle использовал больше ядер - используется распараллеливание. А использовать вы его не сможете - оно есть только в EE.
Т.е. при грамотной настройке увидеть разницу можно будет в том, что, например, 2 ядра держат 200 пользователей, а 4 ядра 380.

А скорость экспорта/импорта, генерации базы при использовании EE и распараллеливания возрастёт? Просто думаю, может тогда стоит поднять лицензию до EE...
2 июл 12, 12:10    [12803046]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
Edward Shevtsov
Member

Откуда: Moscow
Сообщений: 13469
KiriX
Alexander Ryndin
пропущено...
Посмотрите на загрузку CPU при экспорте-импорте. Вы увидите, что используется только одно ядро. Для того, чтобы Oracle использовал больше ядер - используется распараллеливание. А использовать вы его не сможете - оно есть только в EE.
Т.е. при грамотной настройке увидеть разницу можно будет в том, что, например, 2 ядра держат 200 пользователей, а 4 ядра 380.

А скорость экспорта/импорта, генерации базы при использовании EE и распараллеливания возрастёт? Просто думаю, может тогда стоит поднять лицензию до EE...
не надо, речь шла про распараллеливание ОДНОГО запроса
2 июл 12, 12:11    [12803056]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
ballista
Member

Откуда:
Сообщений: 47
что-то у вас с ручками нетого. сата диск из варианта 2 и сас диск из варианта 3 слишком большая разница, что бы получить одинаковый результат. ЕЕ редакция ничего заметного не даст, т.к. у вас похоже затык в ио, а не процессоре.
попробуйте заселектить из большой таблицы, что бы фулскан был. если время одинаковое - однозначно хрень с ио, копайте почему.
2 июл 12, 12:19    [12803135]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
---------------
Guest
обожаю такие темы Картинка с другого сайта.
еще проблема неизвестна, уже понятно, что затык в I/O

продолжайте, господа, страсть как интересно
2 июл 12, 12:29    [12803183]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4917
Блог
KiriX
Alexander Ryndin
пропущено...
Посмотрите на загрузку CPU при экспорте-импорте. Вы увидите, что используется только одно ядро. Для того, чтобы Oracle использовал больше ядер - используется распараллеливание. А использовать вы его не сможете - оно есть только в EE.
Т.е. при грамотной настройке увидеть разницу можно будет в том, что, например, 2 ядра держат 200 пользователей, а 4 ядра 380.

А скорость экспорта/импорта, генерации базы при использовании EE и распараллеливания возрастёт? Просто думаю, может тогда стоит поднять лицензию до EE...
Скорость экспорта/импорта при распараллеливании возрастает - это факт.
Другое дело, что узким местом может оказаться система ввода/вывода - тогда распараллеливание может даже ухудшить ситуацию.
2 июл 12, 12:39    [12803251]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
KiriX
Member

Откуда:
Сообщений: 12
Выборка из табюлицы: select * from table Всего 40607 записей.
1 машина - 16 секунд
3 машина - 24 секунды

Вообще без понятия в чём дело =(
2 июл 12, 17:40    [12805828]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
KiriX
Member

Откуда:
Сообщений: 12
KiriX
Выборка из табюлицы: select * from table Всего 40607 записей.
1 машина - 16 секунд
3 машина - 24 секунды

Вообще без понятия в чём дело =(

Ан-нет... Уравнял условия - время одинаково =( 20 секунд стало =)
2 июл 12, 17:50    [12805900]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4917
Блог
KiriX
Выборка из табюлицы: select * from table Всего 40607 записей.
1 машина - 16 секунд
3 машина - 24 секунды

Вообще без понятия в чём дело =(
А так select max(field_without_index) from table что по времени будет?
2 июл 12, 17:56    [12805946]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
KiriX
Member

Откуда:
Сообщений: 12
Alexander Ryndin
А так select max(field_without_index) from table что по времени будет?

Таблица вообще индексов не содержит. Время выполнения в обоих базах для такого запроса 0,016-0,32...
Надо придумать какой-нить другой тест...
2 июл 12, 18:07    [12806035]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
ballistic2
Guest
KiriX
Таблица вообще индексов не содержит. Время выполнения в обоих базах для такого запроса 0,016-0,32...
Надо придумать какой-нить другой тест...

тест нормальный, просто убедись что ты не мериешь вывод на экран вместо ио и не мериешь чтение из кеша. выполни
alter system flush buffer_cache;
прежде чем select max(...

если время реально близкое, значит у тебя какая-то херь с ио. например раид развалился или DB_FILE_MULTIBLOCK_READ_COUNT в оракле зажат
2 июл 12, 18:15    [12806083]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4917
Блог
KiriX
Alexander Ryndin
А так select max(field_without_index) from table что по времени будет?

Таблица вообще индексов не содержит. Время выполнения в обоих базах для такого запроса 0,016-0,32...
Надо придумать какой-нить другой тест...
Приведенный мной тест показывает, что считывание с диска осуществляется быстро. Вычисления также работают хорошо.
А вот извлечение на сторону клиента происходит в течение 20 секунд (для 40 тыс. строк - это просто ужасно).

P.S. надеюсь вы при тести сбрасываете кэши? alter system flush buffer cache;
2 июл 12, 18:17    [12806092]     Ответить | Цитировать Сообщить модератору
 Re: Производительность Oracle  [new]
KiriX
Member

Откуда:
Сообщений: 12
ballistic2, Alexander Ryndin, спасибо! То, что надо! =)
При запросе:
alter system flush buffer_cache;
select max(nlevel) from udo_zsvtree;

Разница оказалась вполне заметна.
1 машинка - 0.140 - 0.360
3 машинка - 0.031 - 0.063

P.S: С Ораклом только-только начал знакомится, поэтому про кэши даже и не знал... Хотя подозрение на что-то подобное было. И ещё также задумывался над тем, что результаты первых тестов (вывод 40к строк) - скорее скорость вывода на экран, нежели выполнение запроса. Делал всё в PL/SQL Developer'e, поэтому вполне вероятно, что влиял вывод на экран...
Всем большое спасибо =)
3 июл 12, 09:15    [12807666]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить