limit system resources for a request

M

Michael Per

Does anybody know of a best way to limit system resources (CPU/memory) for
each particular request? In my application based on user's parameters a
request may take considerable amount of time and system resources. This kind
of request may take 100% CPU and make all other requests in the queue halt.
While I don't want this request to simply time out, I'd like to limit
somehow the resources each request can allocate so one request does not halt
the whole application.

Any suggestions are greatly appreciated.

- Mike
 
D

Damien

Michael said:
Does anybody know of a best way to limit system resources (CPU/memory) for
each particular request? In my application based on user's parameters a
request may take considerable amount of time and system resources. This kind
of request may take 100% CPU and make all other requests in the queue halt.
While I don't want this request to simply time out, I'd like to limit
somehow the resources each request can allocate so one request does not halt
the whole application.

Any suggestions are greatly appreciated.

- Mike

If the type of requests which cause 100% CPU fall into a simple, easily
identifiable category (e.g. requests from one page), then you may be
able to achieve your aim through the Async request model. This, in
combination with a low priority thread to perform the actual work would
lower your impact on other requests.

Course, then we get to how you manage your additional threads. Three
options:

1) Only 1 thread, deals with all processor intensive tasks in series.
Has the effect of serialising all such requests.
2) Launch one thread per request. Doesn't scale well when there are a
thousand requests.
3) Build a thread pool. Most complex option.
 
M

Michael Per

Damien, thank you for you response. Unfortunately they don't fall into an
easily identifiable category. It depends on user parameters and database
content. I am looking for more generic solution that I can apply on
application level to "protect" every request from monopolizing the system.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,997
Messages
2,570,239
Members
46,828
Latest member
LauraCastr

Latest Threads

Top