Oracle Load Spikes пару часов после запуска -- performance поле с участием oracle пол Связанный проблема

Oracle load spikes couple hours after startup


0
vote

проблема

русский

Мы используем Oracle в качестве задней базы данных для нашего продукта. Я бегал серии стресс-тестов на нашу систему, и я начал заметить, что Oracle намного быстрее сразу после перезапущенной базы данных. Со временем (пару часов или около того) база данных, похоже, становится медленнее и медленнее, и я увижу машину базы данных в более стрессе.

Продолжайте тест сразу после перезапуска Oracle, я увижу среднее значение нагрузки на 1 мин 5 или около того и среднего процессора около 10-15%. Через несколько часов я вижу среднее значение нагрузки в 13 и процессор на 40-70%. (Это Red Hat Linux 2x Quad Core Xeon, RAID 10 10K RPM SAS приводов).

Моя первая мысль была бы не транзакциями баз данных получить быстрее, потому что эти запросы получают кэшированные?

Я не могу понять проблему.

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

Английский оригинал

We use oracle as the back-end database for our product. I have been running series of stress tests on our system and I have started noticing that oracle is much faster right after the database was restarted. Over time (a couple hours or so) the database seems to get slower and slower and I will see the database machine under more stress.

Running the test right after an oracle restart, i will see a 1 min load average of 5 or so and average CPU around 10-15%. After a few hours, I see the load average at 13 and CPU at 40-70%. (This is red hat linux 2x Quad core xeon, Raid 10 10k rpm sas drives).

My first thought was wouldn't database transactions get faster because those queries are getting cached?

I can't seem to figure out the problem.

EDIT: Turns out this was a problem on the connecting software side due to bad design. Every action on the system created a new insert, delete, and select. With all these unique queries being generated, what was cached was constantly changing. The spike I am talking about is when the query cache filled up.

</div
     
 
 

Список ответов

1
 
vote

Какая версия Oracle вы работаете? У вас есть STATSPACK или SWR SETUP? Если вы сделаете, проверьте, чтобы показать вам, что делает базу данных со временем.

 

What version of oracle are you running? Do you have statspack or AWR setup? if you do, check those to show you what the database is doing over time.

</div
 
 
1
 
vote

Я заметил, что с Oracle 10G, Oracle расписан задание для автоматической вычислительной статистики каждый день. Возможно, вы захотите посмотреть на свои активные сеансы, когда база данных занята и посмотрим, будет ли фоновая сессия занята расчетной статистикой на ваших таблицах.

 

I've noticed that with Oracle 10g, Oracle schedules a job to automatically compute statistics each day. You might want to look at your active sessions when the database is busy and see if a background session is busy calculating statistics on your tables.

</div
 
 
 
 
0
 
vote

Вы уверены, что стресс-тест освобождает сеансы, которые он использует? Накопление сеансов, затем последующее время из этих сессий может вызвать такое поведение.

Переместил этот запрос из комментариев к корпусу моего ответа на запрос ...

 <код> select   username,   osuser,   lockwait,   status,   sql_text from   v$session,   v$sqltext where   username is not null and   username not in ('SYSMAN','DBSNMP') and   hash_value = sql_hash_value order by   username,   hash_value,   piece;   
 

Are you sure the stress test is releasing the sessions that it uses? The accumulation of sessions, then subsequent time out of those sessions could produce this kind of behavior.

Moved this query from the comments to the body of my answer per request...

select   username,   osuser,   lockwait,   status,   sql_text from   v$session,   v$sqltext where   username is not null and   username not in ('SYSMAN','DBSNMP') and   hash_value = sql_hash_value order by   username,   hash_value,   piece; 
</div
 
 
       
       
0
 
vote
<Р> Это может быть проблемой с SGA базы данных подкачки на диск. Проверьте размер SGA и PGA, по сравнению с объемом оперативной памяти.

Вы должны предоставить более подробную информацию о версии Oracle и Red Hat (например, Я испытал проблемы с производительностью Oracle 9i и Red Hat Enterprise Linux 3.x, с размером оперативной памяти от 4 Гб или больше, которые исчезли при обновлении до Red Hat 4.x и Oracle 10g)
 

It could be a problem with the database SGA swapping to disk. Check the size of the SGA and the PGA, compared to the RAM size.

You need to provide more information about the version of Oracle and Red Hat (for example, I have experienced performance problems with Oracle 9i and Red Hat Enterprise Linux 3.x, with RAM sizes of 4 Gbytes or greater, that have disappeared when upgrading to Red Hat 4.x and Oracle 10g)

</div
 
 
0
 
vote
<Р> Итак, после того, как вы делаете перезагрузку и повышает производительность опять же, вы уронили данные или вы держите его? Вам необходимо запустить STATSPACK / AWR / ADDM / OEM, чтобы получить больше информации о том, что происходит. <Р> Как вы еще не опубликовали ни диагностическую информацию я беру это вам нужно, чтобы начать обучение азам первой. См Oracle 10.2 Руководство по настройке производительности
 

So after you do the reboot and the performance improves again, do you drop the data or do you keep it? You need to run statspack/AWR/ADDM/OEM to get more information about what's happening.

As you haven't posted any detailed diagnostic info I take it you need to start learning the ABCs first. See Oracle 10.2 Performance Tuning Guide

</div
 
 
0
 
vote
<Р> Добавить в список информации, необходимой следующее: <Р> Вы используете архивные журналы? Сколько журнальных групп у вас есть? Сколько повторов журналов в каждой группе? Насколько велики лога? <Р> Как вы перезапуск Oracle? Вы просто делаете остановку сразу же после чего стартапа? Вы перезагрузки сервера? <Р> Если файлы журнала слишком малы, вы могли бы получать в состояние, когда вы ждали логах должны быть записаны в журнал архив прежде чем он сможет продолжить, вы можете помочь исправить это за счет увеличения размера из повтор журналов. <Р> Выключение и перезагрузка оракул приведет к повтор записывает все записываются в архив журналов и быть свежим и готовым идти после начала резервного копирования. Тогда как они наполняются информацией повтора вы попали узкое место, когда приходит время, чтобы архивировать их. <Р> Сообщить AWR будет действительно самая полезная вещь, если вы используете Oracle 10g. Если вы используете 9i, то пакет Statspack будут сброшены.

<сильный> Запуск AWR отчет

<Р> Войти в SQLPLUS
 <код> sqlplus <sys or system user>/<password>@<SID>   
<Р> Создать 'до' статистики снимка
 <код> SQL> execute dbms_workload_repository.create_snapshot   
<Р> Выполнить ваши характеристики конкретных / тесты нагрузки <Р> Создать 'после' статистики снимка
 <код> SQL> execute dbms_workload_repository.create_snapshot   
<Р> Создание отчета хранилища нагрузки
 <код> SQL> start awrrpt   
<Р> Использование отчета AWR вы должны быть в состоянии определить, где узким местом является.
 

Add to the list of information needed the following:

Are you using archive logs? How many redo log groups do you have? How many redo logs are in each group? How big are the redo logs?

How are you restarting Oracle? Are you just doing a shutdown immediate followed by a startup? Are you rebooting the server?

If your log files are too small you might be getting into a state where you're waiting for the redo logs to be written to the archive logs before being able to continue, you can help remedy this by increasing the size of the redo logs.

Shutting down and restarting oracle would result in the redo logs all being written to the archive logs and being fresh and ready to go after you start back up. Then as they fill with redo information you hit a bottleneck when it comes time to archive them.

An AWR report would really be the most useful thing if you're running Oracle 10g. If you're running 9i then statspack equvalent.

Running a AWR Report

Login to sqlplus

sqlplus <sys or system user>/<password>@<SID> 

Create a 'before' statistics snapshot

SQL> execute dbms_workload_repository.create_snapshot 

Run your specific performance/load tests

Create an 'after' statistics snapshot

SQL> execute dbms_workload_repository.create_snapshot 

Create a workload repository report

SQL> start awrrpt 

Using the AWR report you should be able to determine where your bottleneck is.

</div
 
 
0
 
vote
<Р> Идеальный пример для RAC Analyst, как я, который сбитый RAC несколько раз, но никогда не знал, что сделал это. Теперь я использую предложенный метод. На самом деле, Oracle имеет много скрытых возможностей или я менее обученный hheee или мне нужно исследовать больше на этих
 

A perfect example for a RAC Analyst like me who has downed RAC multiple times but never knew what made it down. Now, I am using the suggested method. Really, Oracle has many hidden functionality or I am less trained hheee or i need to explore more on these

</div
 
 

Связанный проблема

7  Выработка производительности от указания элемента .Class {...} VS просто .Class {...}?  ( Performance gain from specifying element class vs just class ) 
Если я знаю, что конкретный класс будет использоваться только на Div или P, есть ли даже малейшее влияние на производительность, указав div.class или p.class ...

1  PHP: профилированный код и строгая среда ~ улучшение моего кодирования  ( Php profiling code and strict environment improving my coding ) 
Я хотел бы обновить свою локальную рабочую среду, чтобы быть более строгим, чтобы улучшить мой код. Я знаю, что мой код в порядке, но как с большинством вещей...

0  Как подсчитать количество арифметических операций в следующем выражении?  ( How to count the number of arithmetic operations in the following expression ) 
exp (- (Inta-floatb) ^ 2 / (2 * (floatc ^ 2))) Обратите внимание, что экспоненциальный не сложный! ...

1  SQL Выберите оператор с помощью (*), либо именами полей), который выполняет лучше? [Дубликат]  ( Sql select statement with either or fields names which performs better ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

16  DNS предварительная выборка поддоменов  ( Dns prefetching of subdomains ) 
Должен ли я предпринимать поддомен отдельно? e.g. Когда у меня есть <код> <link rel="dns-prefetch" href="//example.com"> Мне нужен дополнительный тег для <...

1  Производительность таблицы SQL - больше или меньше таблиц?  ( Sql table performance more or fewer tables ) 
При создании системы уведомления я бежал по вопросу. Сообщество, которую создается системой для довольно большой, и у меня есть 2 идеи для моих таблиц SQL: ...

0  Вопросы памяти во время преобразования большого объема файла XLSX на CSV с POI  ( Memory issues during conversion of large volume of xlsx file to csv with poi ) 
Это очень сложная задача для меня, так как я делаю в значительной степени R & AMP; D Чтобы избавиться от OutofMemroyError во время преобразования XLSX в CSV и...

3  Как часто производительность языка программирования значительна? [закрыто]  ( How often is the performance of a programming language a significant issue ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> <Путь d = "M15 6.38A6.48 6.48 0 007.78. 04H-.02A6.49 6.49 0 002.05 ...

21  Angularjs NG-модель внутри NG-Repeat имеет плохую производительность  ( Angularjs ng model inside ng repeat has poor performance ) 
У меня проблема с производительностью с угловой в следующем сценарии: <код> <div ng-repeat="a in array"> <input ng-model="something"> </div> Я писал к...

1  Кукольный агент висит и в конечном итоге дает ошибку распределения памяти  ( Puppet agent hangs and eventually gives a memory allocation error ) 
Я использую марионетки как Provisioner для Vagrant, и я нахожусь по проблеме, когда марионетка будет зависеть от очень долгого времени, когда я делаю «бродяже...

6  Выполнение параллелизма в Django (Apache2 Prefork / Mod_wsgi), что я делаю не так?  ( Performance of concurrency in django apache2 prefork mod wsgi what am i doing ) 
Прежде всего, я никоим образом не несчастен производительностью на месте моего Django Site, его не получают огромный трафик, немного более 1000 посещений в де...

5  Лучшие практики для сканирования всех классов и методов для пользовательского атрибута  ( Best practices to scan all classes and methods for custom attribute ) 
Впервые я действительно должен был сделать сканирование сборки вручную. Я столкнулся с C # - Как перечислять все классы с атрибутом пользовательского класса?...

60  Какой профилировщик Java лучше: jprofiler или yourkit? [закрыто]  ( Which java profiler is better jprofiler or yourkit ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт . Этот вопрос находится на основе мнения . В настоящее вре...

4  SQL Query занимает около 10 - 20 минут  ( Sql query takes about 10 20 minutes ) 
У меня есть выбор (ничего для сложного) <код> Select * from VIEW Этот вид имеет около 6000 записей и около 40 столбцов. Это происходит от базы данных SQ...

6  Инструменты производительности и диагностики для Silverlight  ( Performance and diagnostics tools for silverlight ) 
WPF 3.5 имеет ПрезентацияTracesources для диагностики и wpfperf для диагностики характеристики и связывания данных. Есть ли эквивалентные инструменты / ...

Связанный проблема

7  Выработка производительности от указания элемента .Class {...} VS просто .Class {...}? 
1  PHP: профилированный код и строгая среда ~ улучшение моего кодирования 
0  Как подсчитать количество арифметических операций в следующем выражении? 
1  SQL Выберите оператор с помощью (*), либо именами полей), который выполняет лучше? [Дубликат] 
16  DNS предварительная выборка поддоменов 
1  Производительность таблицы SQL - больше или меньше таблиц? 
0  Вопросы памяти во время преобразования большого объема файла XLSX на CSV с POI 
3  Как часто производительность языка программирования значительна? [закрыто] 
21  Angularjs NG-модель внутри NG-Repeat имеет плохую производительность 
1  Кукольный агент висит и в конечном итоге дает ошибку распределения памяти 
6  Выполнение параллелизма в Django (Apache2 Prefork / Mod_wsgi), что я делаю не так? 
5  Лучшие практики для сканирования всех классов и методов для пользовательского атрибута 
60  Какой профилировщик Java лучше: jprofiler или yourkit? [закрыто] 
4  SQL Query занимает около 10 - 20 минут 
6  Инструменты производительности и диагностики для Silverlight 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.