cancel
Showing results for 
Search instead for 
Did you mean: 

Cost of process

Nasir YILMAZ
Occasional Visitor

Cost of process

Hi everybody

Can you say me how I can calculate cost of one oracle procesess ?
2 REPLIES
Hein van den Heuvel
Honored Contributor

Re: Cost of process


Easy. Take the cost of 100 Oracle processes, divide by ten, and then divide the result by ten again, and there is teh cost of 1 process!

Seriously though, I'm afraid that your question is pretty much like asking 'how long is a piece of string'.

So if you want to get a detailed answer, you'll need to provide more details for the question. What is that oracle process going to do? how often? what duty-cycle? (waiting for front-end to come up with next request.

Still, while there is an unlimited range of length of pieces of string, from miniscule to circling the globe, I would venture to guess that a good portion of all the pieces of string in the world are between 20 cm and 1 meter :-). And then there is a bunch on little coils from 20 meter to 50 meter. There are relatively few pieces of string in the kilometer or millimeter range.

Similar for the Oracle processes. A typical Oracle(slave) process will take 2 to 10 MB of memory, less then 1MB happens, but is infrequent. More then 10MB happend (lots of sorting, joining), but larger then 100MB is rare.

Normally an Oracle process can not be counted on its own. It lives by the grace of smon/pmon/dbwr/lgwr, the sga and so on. Those can take 5MB (very very minimum) or 5GB but 50MB - 500MB is perhaps a more typical range. (I have worked with benchmarks running more than 200GB SGAs :-)

So my opening joke had a purpose... often you really want to know how much more an additional process cost going from 99 to 100.

CPU cost is even more variable. Are you typcialle insering just a row, or selecting a sorted 50,000 collection from 50,000,000?
Are you dealign with constant connections, of dealing with process activation? I would encourage you to do a simple test on the target system, just doing a 'select sysdate from dual' style query followed by exit and see how many per second you can queue. I expect 10/sec for the worst performing systems, 500/sec for the best.

The general processing cost might perhaps best be captured at buffergets per second per cpu. (for example 20,000) Or sqlnet packet/sec/cpu. You can use statspack from an existing, maybe comparable, platform to establish that. Now use statspack some more to figure out how many buffergets an average or typical or most important query uses and you can then figure out how many cpus you need, or how much business work a single cpu can do.

Good luck!
Hein.

Michael Schulte zur Sur
Honored Contributor

Re: Cost of process

Hi,

your question reveals little of what you want to know. How much cpu,io,memory an oracle process takes, how much money per transaction you pay for hardware.

please give us more meat,

Michael