Discussion:
Does SSRS limit number of report render requests?
(too old to reply)
McGeeky
2005-07-21 12:21:31 UTC
Permalink
I fired off about 13 report render requests at the report server using HTTP
simultaneously. 9 of them succeeded but 4 didn't. I got this error message:

The remote server returned an error: (403) Forbidden.

I retried the remaining 4 simultaneously and then it worked.

does SSRS limit its workload in someway?

Thanks
--
McGeeky
http://mcgeeky.blogspot.com
Brendan Whelan
2005-07-22 09:44:02 UTC
Permalink
Try increasing maxWorkerThreads and maxIOThreads in the
<processModel> section of <machine.config>.
RS and ASP.NET share threads from the thread pool, and (by default)
there are only 25. If RS is using too many, there are none available
for ASP.NET to handle requests.

I've been getting the same problem - the Report Server log shows
a warning 'thread pool pressure' when it happens.
Problem is, I increased worker threads and IO threads to 100, but it
didn't have an effect on RS report concurrency. I think something
strange is happening with RS threads. Would be great if microsoft
could clarify this - it is a major issue if their enterprise report solution
can not scale up.
Post by McGeeky
I fired off about 13 report render requests at the report server using HTTP
The remote server returned an error: (403) Forbidden.
I retried the remaining 4 simultaneously and then it worked.
does SSRS limit its workload in someway?
Thanks
--
McGeeky
http://mcgeeky.blogspot.com
McGeeky
2005-07-22 11:43:41 UTC
Permalink
Thanks for that. I'll give it a go and see what happens. You are right that
its a concern if it doesn't scale up.
--
McGeeky
http://mcgeeky.blogspot.com
Post by Brendan Whelan
Try increasing maxWorkerThreads and maxIOThreads in the
<processModel> section of <machine.config>.
RS and ASP.NET share threads from the thread pool, and (by default)
there are only 25. If RS is using too many, there are none available
for ASP.NET to handle requests.
I've been getting the same problem - the Report Server log shows
a warning 'thread pool pressure' when it happens.
Problem is, I increased worker threads and IO threads to 100, but it
didn't have an effect on RS report concurrency. I think something
strange is happening with RS threads. Would be great if microsoft
could clarify this - it is a major issue if their enterprise report solution
can not scale up.
Post by McGeeky
I fired off about 13 report render requests at the report server using HTTP
The remote server returned an error: (403) Forbidden.
I retried the remaining 4 simultaneously and then it worked.
does SSRS limit its workload in someway?
Thanks
--
McGeeky
http://mcgeeky.blogspot.com
Brendan Whelan
2005-07-22 14:06:02 UTC
Permalink
I did some further investigations using ildasm and it looks
like RS is limited to a maximum of 5 running threads
at a time, no matter what upper limit you configure
for worker threads in the thread pool!
I do hope I'm wrong...
Post by McGeeky
Thanks for that. I'll give it a go and see what happens. You are right that
its a concern if it doesn't scale up.
--
McGeeky
http://mcgeeky.blogspot.com
Post by Brendan Whelan
Try increasing maxWorkerThreads and maxIOThreads in the
<processModel> section of <machine.config>.
RS and ASP.NET share threads from the thread pool, and (by default)
there are only 25. If RS is using too many, there are none available
for ASP.NET to handle requests.
I've been getting the same problem - the Report Server log shows
a warning 'thread pool pressure' when it happens.
Problem is, I increased worker threads and IO threads to 100, but it
didn't have an effect on RS report concurrency. I think something
strange is happening with RS threads. Would be great if microsoft
could clarify this - it is a major issue if their enterprise report solution
can not scale up.
Post by McGeeky
I fired off about 13 report render requests at the report server using HTTP
The remote server returned an error: (403) Forbidden.
I retried the remaining 4 simultaneously and then it worked.
does SSRS limit its workload in someway?
Thanks
--
McGeeky
http://mcgeeky.blogspot.com
McGeeky
2005-07-22 15:20:42 UTC
Permalink
Gulp!
--
McGeeky
http://mcgeeky.blogspot.com
Post by Brendan Whelan
I did some further investigations using ildasm and it looks
like RS is limited to a maximum of 5 running threads
at a time, no matter what upper limit you configure
for worker threads in the thread pool!
I do hope I'm wrong...
Post by McGeeky
Thanks for that. I'll give it a go and see what happens. You are right that
its a concern if it doesn't scale up.
--
McGeeky
http://mcgeeky.blogspot.com
Post by Brendan Whelan
Try increasing maxWorkerThreads and maxIOThreads in the
<processModel> section of <machine.config>.
RS and ASP.NET share threads from the thread pool, and (by default)
there are only 25. If RS is using too many, there are none available
for ASP.NET to handle requests.
I've been getting the same problem - the Report Server log shows
a warning 'thread pool pressure' when it happens.
Problem is, I increased worker threads and IO threads to 100, but it
didn't have an effect on RS report concurrency. I think something
strange is happening with RS threads. Would be great if microsoft
could clarify this - it is a major issue if their enterprise report solution
can not scale up.
Post by McGeeky
I fired off about 13 report render requests at the report server using HTTP
The remote server returned an error: (403) Forbidden.
I retried the remaining 4 simultaneously and then it worked.
does SSRS limit its workload in someway?
Thanks
--
McGeeky
http://mcgeeky.blogspot.com
Brendan Whelan
2005-07-25 07:55:03 UTC
Permalink
I found a workaround to this that works for my set-up.

If you are using IIS 6, you can increase the number of worker processes for
the Report Server application pool. You can use this value to scale up the
number of reports you can run concurrently. So the number you would need is
approx. max. number of concurrent requests * number of concurrent database
fetches in report.
you would need more if the reports containing slow-running queries.

It gets it working, but its not an ideal solution though - will use a lot
more resources than just increasing the number of threads. Hope microsoft
addresses this in the next release.

Brendan.
Post by McGeeky
Gulp!
--
McGeeky
http://mcgeeky.blogspot.com
Post by Brendan Whelan
I did some further investigations using ildasm and it looks
like RS is limited to a maximum of 5 running threads
at a time, no matter what upper limit you configure
for worker threads in the thread pool!
I do hope I'm wrong...
Post by McGeeky
Thanks for that. I'll give it a go and see what happens. You are right that
its a concern if it doesn't scale up.
--
McGeeky
http://mcgeeky.blogspot.com
Post by Brendan Whelan
Try increasing maxWorkerThreads and maxIOThreads in the
<processModel> section of <machine.config>.
RS and ASP.NET share threads from the thread pool, and (by default)
there are only 25. If RS is using too many, there are none available
for ASP.NET to handle requests.
I've been getting the same problem - the Report Server log shows
a warning 'thread pool pressure' when it happens.
Problem is, I increased worker threads and IO threads to 100, but it
didn't have an effect on RS report concurrency. I think something
strange is happening with RS threads. Would be great if microsoft
could clarify this - it is a major issue if their enterprise report solution
can not scale up.
Post by McGeeky
I fired off about 13 report render requests at the report server using HTTP
The remote server returned an error: (403) Forbidden.
I retried the remaining 4 simultaneously and then it worked.
does SSRS limit its workload in someway?
Thanks
--
McGeeky
http://mcgeeky.blogspot.com
McGeeky
2005-07-25 09:30:09 UTC
Permalink
Great stuff. I'll give it a go!
--
McGeeky
http://mcgeeky.blogspot.com
Post by Brendan Whelan
I found a workaround to this that works for my set-up.
If you are using IIS 6, you can increase the number of worker processes for
the Report Server application pool. You can use this value to scale up the
number of reports you can run concurrently. So the number you would need is
approx. max. number of concurrent requests * number of concurrent database
fetches in report.
you would need more if the reports containing slow-running queries.
It gets it working, but its not an ideal solution though - will use a lot
more resources than just increasing the number of threads. Hope microsoft
addresses this in the next release.
Brendan.
Post by McGeeky
Gulp!
--
McGeeky
http://mcgeeky.blogspot.com
Post by Brendan Whelan
I did some further investigations using ildasm and it looks
like RS is limited to a maximum of 5 running threads
at a time, no matter what upper limit you configure
for worker threads in the thread pool!
I do hope I'm wrong...
Post by McGeeky
Thanks for that. I'll give it a go and see what happens. You are right that
its a concern if it doesn't scale up.
--
McGeeky
http://mcgeeky.blogspot.com
Post by Brendan Whelan
Try increasing maxWorkerThreads and maxIOThreads in the
<processModel> section of <machine.config>.
RS and ASP.NET share threads from the thread pool, and (by default)
there are only 25. If RS is using too many, there are none available
for ASP.NET to handle requests.
I've been getting the same problem - the Report Server log shows
a warning 'thread pool pressure' when it happens.
Problem is, I increased worker threads and IO threads to 100, but it
didn't have an effect on RS report concurrency. I think something
strange is happening with RS threads. Would be great if microsoft
could clarify this - it is a major issue if their enterprise report solution
can not scale up.
Post by McGeeky
I fired off about 13 report render requests at the report server
using
HTTP
The remote server returned an error: (403) Forbidden.
I retried the remaining 4 simultaneously and then it worked.
does SSRS limit its workload in someway?
Thanks
--
McGeeky
http://mcgeeky.blogspot.com
Loading...