savepoint related performance issues

  • From: Chris Stephens <cstephens16@xxxxxxxxx>
  • To: oracle-l <Oracle-L@xxxxxxxxxxxxx>
  • Date: Wed, 15 May 2019 11:56:11 -0500

We have a SQLAlchemy/python based application that is experiencing
performance issues.

The process in question runs for about 18hours and has keeps a single CPU
very busy for a majority of that time.

I traced the last execution but the resulting trace file is ~9GB and
methodr's mrprof is having some trouble processing it (which may be due to
the fact that I've only just begun to use it).

I split the file into 2GB pieces and processed the first piece.

82% of the response time is due to "CPU:EXEC dbcalls" subroutine (2,130,813
calls). Of that 99.3% is due to "SAVEPOINT sa_savepoint_10" w/ 897,601 EXEC
calls and the same number of corresponding PARSE calls.

Active session history isn't much help digging into the cause for the
excessive CPU consumption. I would think 800,000 exec calls would take
nowhere near the time it does.

nothing really stuck out to me when i ran snapper (ash,stats) on the
session in question.

Does anyone have any suggestions on how to troubleshoot further?

Ultimately, i think this will require a change to the application code and
how it's making use of savepoints.

Thanks for any insight/help!

Other related posts: