Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Now that the application is tuned and the database is tuned, let's run a bigger load: 

...

We can see that the CPU load is constantly over the max CPU line. How can we have a bigger CPU load than there are actually CPUs on the machine? Because the demand for CPU is higher than the CPU available on the machine.

In the image above, there are 2 two CPUs on the machine but an average of three users think they are on the CPU, which means that on average one user is not really on the CPU but ready to run on the CPU and waiting for the CPU.

...

TYPE IDX IS TABLE OF Integer INDEX BY BINARY_INTEGER;
MY_IDX IDX;

...

begin

for i in 1..8000 loop

MY_IDX(i):=1;

end loop;
FORALL indx IN MY_IDX.FIRST .. MY_IDX.LAST
INSERT INTO foo ( dummy )
VALUES ( MY_IDX(indx) );
COMMIT;

end;

/

But if this was an application that had a lot of different SQL and the SQL load was well distributed across the system then we'd have a case for adding more hardware to the system. Making the decision to add more hardware can be a difficult decision because in general the information to make the decision is unknown, unclear or just plain confusing, but DB Optimizer makes it easy and clear, which can save weeks and months of wasteful meetings and debates. For example:

...

  • With the load chart we can quickly and easily identify the bottlenecks in the database, take corrective actions, and see the results. In part Part 1, we had an application problem, in part Part 2 we had 3 three database configuration issues, and in part Part 3 we had a hardware sizing issue. In all 3 three instances DB Optimizer provides a clear and easy presentation of the data and issues making solutions clear.

...