Results 1 to 6 of 6
  1. #1

    How to increase processing time?

    Hi, we r trying to increase the performance of one our application we recently deployed. when we run a single process on our application, it takes like 25 hours to run (requirement is to get it down to 12 hrs), and only uses 10% of the total CPU process power (8 way CPU - 400 mhz). What are the things that we need to concentrate on to improve the processing time. All other stats look normal.
    We tried to bump up the VM (per session/process) and the max_query_threads , which helped to run it a faster, but not enough.

    We have looked into different angles from what our process/application is doing (To give u some insight, the process brings back lot of data on to the application server and does the processing there, it takes a lot of time doing this stuff, we r planning to push some of the processing on to the DB by building views.)

    This question might sound too general, but can someone advise me, like what to look into and how should I proceed?
    Thankx a lot.

  2. #2

    Re: How to increase processing time?

    I sounds like your application is not the bottleneck here, but the database is.

    Most often in situations like this you want the processing as close to the database as you can get it. Having an application retrieving all the raw data and the iterating through the data (and presumably retrieving more data during the iteration) is highly inefficient.

    So move work towards the database in the form of stored procedures or (like you mentioned) views.

    As far as your application is concerned:
    You already mention the biggest flaw: Single process!
    Try to break up your application into multiple processes that can work in parallel and spread the load like this. Now you can partition your work vertically or horizontally depending on what works best for you.
    Roland Stens

  3. #3

    Re: How to increase processing time?

    thankx for u reply roland, Yes, Views or stored procedures should push some of the processing on to the DB.
    Coming to the single process . The single process (advertising campaign) is something that we build with our application and run it.
    According to u, if i am not mistaken, do u think we should split the single processes and run as two processes in parallel? (so that, we might cut the time by half in this case). But the problem is our Solaris OS, allocates only 2 GB RAM per any process running. Once we reach that thrush hold the system starts context switching (I mean it increases). So, even if we run the advertising campaign that we built as multiple advertising campaigns, the memory allocation will still be 2 GB. Right now we are looking into how to increase this memory size. We are also limited by the 32 bit stuff.
    My another question is.....can we increase the speed of execution by increasing the speed of CPU? (like do u think we should consider replacing our existing 8-400 Mhz cpus, with something like 8-1 Ghz CPU's. We r not very sure who to make an educated guess regarding this issue. Are there any formulas that we can take advantage of in this case?

    Thank you.

  4. #4

    Re: How to increase processing time?

    Have you looked at the speed of your disks? Are the service times slow? What's the queue length? Are your processes waiting on IO.

    As Roland stated, I don't think your application (nor your CPUs) are the problem. If you increase the speed, you will just wait faster.

    I would also look at your memory. Are you having page faults?


  5. #5

    Re: How to increase processing time?

    OK, in this case off-loading to the database could help you out a lot (as per my first suggestion).

    The way I see it is that you have not reached your requirement yet, you have exhausted your tuning possibilities, you have now arrived at the stage where significant changes need to be made, or a significant investment in faster hardware is imminent.
    Roland Stens

  6. #6

    Re: How to increase processing time?

    Thankx for ur reply Nathan, here are answers to some of ur questions,
    During, one our test case execution, where we executed 10 concurrent campaigns (14 is the requirement), the CPU utilization was about 97-99% for couple of hours. And, we reached a peak of 1900 pages/sec in terms of - Total i/o rate, Disc service times were 14msec/page, Memory paging was "0" all through. Run queue length (12/sec). Memory utilization and VM utilization was also normal. The network bandwidth did not turn out to be a problem either. Usage was below 10 %.
    We r spending 1 or 2% of our total execution time on DB. What ever is happening is happening on app server. Assuming that we push appropriate processing on to DB, we still think total processing time on DB will be quite less. That is why, we were like concentrating on the app server and the CPU processing speed.
    Thank u.



Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
BetaSoft Inc.
All times are GMT -8. The time now is 03:40 PM.

Copyright BetaSoft Inc.