Identifying Execute Threads as Socket Readers
Hi All,
Preface: I am trying to identify at any given instance the percentage of
socket reader threads that are in use - this will help me to identify when
all threads are in use and unable to service user requests. Thus my goal is
to identify threads that are socket readers and whether they are active or
idle.
Through JMX I can obtain an instance of each
weblogic.management.runtime.ExecuteThread, which lists the same information
that you see in the console if you drill down to the thread level, for
example:
mydomain> Servers> myserver> Active Execute Queues> default> Execute Threads
That information includes:
- thread number
- total requests
- last request
- current request
- transaction
- user
- is the thread idle?
Now my question is from this information can you identify which of these
threads are being used as socket readers?
Here are some excerpts from my JMX calls:
Name: ExecuteThread: '0' for queue: 'default'
Execute Queue Runtime Name: default
Current Request: null
Last Request: Http Request: /bookstore/en/authors/showauthors.jsp
User: null
Is Idle?: true
Name: ExecuteThread: '15' for queue: 'default'
Execute Queue Runtime Name:default
Current Request: null
Last Request: Scheduled Trigger
User: null
Is Idle?: true
Name: ExecuteThread: '26' for queue: 'default'
Execute Queue Runtime Name:default
Current Request: null
Last Request: ListenRequest for a new connection on: 'Socket
addr=127.0.0.1,port=2061,localport=7001]'
User: null
Is Idle?: true
Name: ExecuteThread: '59' for queue: 'default'
Execute Queue Runtime Name:default
Current Request: Socket Reader Request
Last Request:
we[email protected]
User: null
Is Idle?: false
It would appear that the "ListenRequest" last request would identify a
socket reader, only I have 60 threads in my default execute queue with 70%
dedicated to socket readers and the number of threads that say their last
request was "ListenRequest ..." is only 5.. Furthermore there is only one
"Socket Reader Request" identified thread.
Are threads identified as socket readers permanently or constantly reused
for whatever purpose is required (with a cap of use based off of the socket
reader perspective)?
Thanks in advance for your help!
Steve
Hi Achhi,
Socket Reader Threads are the Threads which are responsible for reading the incoming request data. We can divide the Socket reader threads in two categories:
Pure Java Socket Reqders: The pure-Java socket reader implementation, where the socket reader threads continually poll all opened sockets to determine whether they contain data to be read, even if the sockets have no data to read. (From Performance Point This is Not Good that the Sockets will be in Opened Mode even if there is no Data to read)
Native Socket Readers: (These are the Dafault Socket Readers) The native IP socket reader provided by the host machine's operating system, where the socket reader threads target only active sockets that contain data to be read. Native socket readers never poll sockets because they are immediately notified when a socket needs to be serviced. For Better Performance You should always prefer using Native Socket Readers.
To Enable Native Socket Readers You can Login to AdminConsole--->Servers ---><SERVER_NAME>--->configuration (Tab)--->Tuning (SubTab)---> "Enable Native IO" (This checkbox must be checked)
Still If you want to use the Java Socket Readers .... still you can improve the performance of socket communication by configuring the proper number of socket reader threads for each server instance. For best performance, the number of socket reader threads in WebLogic Server should equal the potential maximum number of opened sockets.
Thanks
Jay SenSharma
http://weblogic-wonders.com/weblogic (WebLogic Wonders Are here)
Similar Messages
-
What does mean by Socket Readers?
How it improves the performance of Application by configuring percentage of threads as socket readers?
Can someone please answer my questions?Hi Achhi,
Socket Reader Threads are the Threads which are responsible for reading the incoming request data. We can divide the Socket reader threads in two categories:
Pure Java Socket Reqders: The pure-Java socket reader implementation, where the socket reader threads continually poll all opened sockets to determine whether they contain data to be read, even if the sockets have no data to read. (From Performance Point This is Not Good that the Sockets will be in Opened Mode even if there is no Data to read)
Native Socket Readers: (These are the Dafault Socket Readers) The native IP socket reader provided by the host machine's operating system, where the socket reader threads target only active sockets that contain data to be read. Native socket readers never poll sockets because they are immediately notified when a socket needs to be serviced. For Better Performance You should always prefer using Native Socket Readers.
To Enable Native Socket Readers You can Login to AdminConsole--->Servers ---><SERVER_NAME>--->configuration (Tab)--->Tuning (SubTab)---> "Enable Native IO" (This checkbox must be checked)
Still If you want to use the Java Socket Readers .... still you can improve the performance of socket communication by configuring the proper number of socket reader threads for each server instance. For best performance, the number of socket reader threads in WebLogic Server should equal the potential maximum number of opened sockets.
Thanks
Jay SenSharma
http://weblogic-wonders.com/weblogic (WebLogic Wonders Are here) -
Identifying Execute Queue Threads as Socket Readers
Hi All,
Preface: I am trying to identify at any given instance the percentage of
socket reader threads that are in use - this will help me to identify when
all threads are in use and unable to service user requests. Thus my goal is
to identify threads that are socket readers and whether they are active or
idle.
Through JMX I can obtain an instance of each
weblogic.management.runtime.ExecuteThread, which lists the same information
that you see in the console if you drill down to the thread level, for
example:
mydomain> Servers> myserver> Active Execute Queues> default> Execute Threads
That information includes:
- thread number
- total requests
- last request
- current request
- transaction
- user
- is the thread idle?
Now my question is from this information can you identify which of these
threads are being used as socket readers?
Here are some excerpts from my JMX calls:
Name: ExecuteThread: '0' for queue: 'default'
Execute Queue Runtime Name: default
Current Request: null
Last Request: Http Request: /bookstore/en/authors/showauthors.jsp
User: null
Is Idle?: true
Name: ExecuteThread: '15' for queue: 'default'
Execute Queue Runtime Name:default
Current Request: null
Last Request: Scheduled Trigger
User: null
Is Idle?: true
Name: ExecuteThread: '26' for queue: 'default'
Execute Queue Runtime Name:default
Current Request: null
Last Request: ListenRequest for a new connection on: 'Socket
addr=127.0.0.1,port=2061,localport=7001]'
User: null
Is Idle?: true
Name: ExecuteThread: '59' for queue: 'default'
Execute Queue Runtime Name:default
Current Request: Socket Reader Request
Last Request:
we[email protected]
User: null
Is Idle?: false
It would appear that the "ListenRequest" last request would identify a
socket reader, only I have 60 threads in my default execute queue with 70%
dedicated to socket readers and the number of threads that say their last
request was "ListenRequest ..." is only 5.. Furthermore there is only one
"Socket Reader Request" identified thread.
Are threads identified as socket readers permanently or constantly reused
for whatever purpose is required (with a cap of use based off of the socket
reader perspective)?
Thanks in advance for your help!
SteveHi Achhi,
Socket Reader Threads are the Threads which are responsible for reading the incoming request data. We can divide the Socket reader threads in two categories:
Pure Java Socket Reqders: The pure-Java socket reader implementation, where the socket reader threads continually poll all opened sockets to determine whether they contain data to be read, even if the sockets have no data to read. (From Performance Point This is Not Good that the Sockets will be in Opened Mode even if there is no Data to read)
Native Socket Readers: (These are the Dafault Socket Readers) The native IP socket reader provided by the host machine's operating system, where the socket reader threads target only active sockets that contain data to be read. Native socket readers never poll sockets because they are immediately notified when a socket needs to be serviced. For Better Performance You should always prefer using Native Socket Readers.
To Enable Native Socket Readers You can Login to AdminConsole--->Servers ---><SERVER_NAME>--->configuration (Tab)--->Tuning (SubTab)---> "Enable Native IO" (This checkbox must be checked)
Still If you want to use the Java Socket Readers .... still you can improve the performance of socket communication by configuring the proper number of socket reader threads for each server instance. For best performance, the number of socket reader threads in WebLogic Server should equal the potential maximum number of opened sockets.
Thanks
Jay SenSharma
http://weblogic-wonders.com/weblogic (WebLogic Wonders Are here) -
Error message when access WLS: active sockets and socket readers configuration
Hi,
I got the following error when I tried to access the WLS using a program to get
the mbeans data.
This error happens when I have 3 or more servers running ( 1 admin server, 2 or
more managed servers). With cluster with more than 2 servers running, this error
also occurs.
<Sep 10, 2001 8:35:01 PM CDT> <Warning> <JavaSocketMuxer> <There are: '3' active
sockets, but the maximum number of socket readers allowed by theconfiguration
is: '2', you may want alter your configuration.>
I creased the socket readers from 33% to 66%, but I still got the same error.
I'm using WLS version 6.0 sp2
My configuration is:
Execute Threads = 15,
Socket Readers = 33% or 66%
Does anyone know how to fix this ? I am really appreciate for any suggestions.
thanks,
Kieuthank you, I just found out about setting those sockets using command line options
an hour ago. But thanks a lot.
-Kieu
Kaye Wilcox <[email protected]> wrote:
Kieu,
You could try increasing the number of execute threads, you can do this
via
the admin console on the <server> --> Tuning tab.
See http://edocs.bea.com/wls/docs60/perform/WLSTuning.html#1104317 for
guidelines on setting the thread pool size and the number of socket readers.
Here is a link that talks about socket communication in a cluster
http://edocs.bea.com/wls/docs60/cluster/features.html#1007001. -
Error message on active sockets & socket readers configuration
hi Kieu,
I am having the same problem. Were you able to figure out why you had that
problem and how you resolved that issue. I am seeing slow performance on client
as well. I am assuming this could be the reason for slow performance.
thanks,
Zeeshan.
"Kieu Tram" <[email protected]> wrote:
>
Hi,
I got the following error when I tried to access the WLS using a program
to get
the mbeans data.
This error happens when I have 3 or more servers running ( 1 admin server,
2 or
more managed servers). With cluster with more than 2 servers running,
this error
also occurs.
<Sep 10, 2001 8:35:01 PM CDT> <Warning> <JavaSocketMuxer> <There are:
'3' active
sockets, but the maximum number of socket readers allowed by theconfiguration
is: '2', you may want alter your configuration.>
I creased the socket readers from 33% to 66%, but I still got the same
error.
I'm using WLS version 6.0 sp2
My configuration is:
Execute Threads = 15,
Socket Readers = 33% or 66%
Does anyone know how to fix this ? I am really appreciate for any suggestions.
thanks,
Kieu -
I'm running a cluster of 3 WL 6.0 servers and when I do a JNDI lookup to run methods
on a remote interface stub on the client side it gives me the following:
<Apr 26, 2001 2:16:34 PM MST> <Warning> <JavaSocketMuxer> <There are: '3' active
sockets, but the maximum number of socket readers allowed by theconfiguration
i
s: '2', you may want alter your configuration.>
I re-ran my client with the two following properties:
-Dweblogic.system.executeThreadCount=5
-Dweblogic.system.percentSocketReaders=60
it still gives me the exception. How do I get this to work properly so I have
as many socket readers as servers?
Thanks in advance.
Thanks,
I had understood this wrong, I was configuring on the server, not the client
application,
it's all working well now.
Cheers
Sioux
"Kumar Allamraju" <[email protected]> wrote in message
news:[email protected]...
> i.e. if percentSocketReaders = 50, and execute Threadcount is 20, 50% of
20 = x?
>
> you will get x percentSocketReaders. You might want to tune this value ,
> according to the above
> formula.
>
>
> Sioux France wrote:
>
> > Hi,
> > I'm getting these errors too. I've enabled native IO, upped the number
of
> > Threads to 20 and the percentage of readers to 50% but I still get the
error
> > about 3 active sockets when I am only allowed 2 in a cluster of 3
servers.
> > Did you resolve this?
> > Thanks
> > Sioux
> >
> > "Kumar Allamraju" <[email protected]> wrote in message
> > news:[email protected]...
> > > The following syntax was correct in 510. , not in 60 anymore.
> > > I would suggest you to increase the execute Thread count & percent
socket
> > readers from
> > > console.
> > >
> > > or else set the following from the command line.
> > > -Dweblogic.ThreadPoolPercentSocketReaders
& -Dweblogic.ThreadPoolSize..
> > (i'm not 100%
> > > sure)
> > > --
> > > Kumar
> > >
> > > "W. Wen" wrote:
> > >
> > > > I'm running a cluster of 3 WL 6.0 servers and when I do a JNDI
lookup to
> > run methods
> > > > on a remote interface stub on the client side it gives me the
following:
> > > >
> > > > <Apr 26, 2001 2:16:34 PM MST> <Warning> <JavaSocketMuxer> <There
are:
> > '3' active
> > > > sockets, but the maximum number of socket readers allowed by
> > theconfiguration
> > > > i
> > > > s: '2', you may want alter your configuration.>
> > > >
> > > > I re-ran my client with the two following properties:
> > > >
> > > > -Dweblogic.system.executeThreadCount=5
> > > > -Dweblogic.system.percentSocketReaders=60
> > > >
> > > > it still gives me the exception. How do I get this to work properly
so I
> > have
> > > > as many socket readers as servers?
> > > >
> > > > Thanks in advance.
> > >
>
-
Increasing Weblogic client Socket Readers etc
How can you increase the number of socket readers on a client
application which
uses JMS, EJB and talks to multiple WLAS servers.
I get the following message
Muxer> <There are: '3' active sockets, but the maximum number of socket
readers allowed by theconfiguration is: '2', you may want alter your
configuration.>
But I cant find out how to increase the socket readers or better yet can
I use the native IO for Solaris and NT clients??Hi,
You can control the number of threads and the precent of socket readers
through the properties: weblogic.ThreadPoolSize and
weblogic.ThreadPoolPercentSocketReaders. You would have to pass them to the
jvm machine at startup for example:
-Dweblogic.ThreadPoolSize=10 -Dweblogic.ThreadPoolPercentSocketReaders=50
Guy
"Larry Presswood" <[email protected]> wrote in message
news:[email protected]..
How can you increase the number of socket readers on a client
application which
uses JMS, EJB and talks to multiple WLAS servers.
I get the following message
Muxer> <There are: '3' active sockets, but the maximum number of socket
readers allowed by theconfiguration is: '2', you may want alter your
configuration.>
But I cant find out how to increase the socket readers or better yet can
I use the native IO for Solaris and NT clients?? -
Currently using WebLogic 6.1 SP2 on Win NT 4.0 with jdk 1.3.1. 2 servers in a cluster.
The following message is seen.
<ExecuteThread: '10' for queue: 'default'> <> <> <000000> <There are: '7' active
sockets, but the maximum number of socket readers allowed by the configuration
is: '6', you may want to alter your configuration.>
How do we ensure our configuration is correct? Whenever this message is seen and
the servers need to start. If we do not restart them, after a while they will
hang and we need to restart them. Is there any way to resolve this issue? Thanks.Hi,
Thanks for your info on Native IO.
There is a JVM error message thrown when we are trying to do the thread dump.
From the JDK website, we realise it is a bug for jdk 1.3.1. Thanks.
Regards,
Ai Ling
Arunabh Hazarika <[email protected]> wrote:
When native i/o is used, there are a fixed number of threads that are
dedicated to reading
incoming requests from clients. These threads are non-blocking i.e. they
do not block
waiting for data to arrive at a socket. When using Java i/o, the threads
block waiting for
data to arrive at a socket. In this case, if the number of sockets opened
is greater than
the number of threads available to read them, data on the remaining sockets
will remain
unread, until a thread becomes available to read it and response time
will increase. This is
basically what the message means.
It is not surprising that performance has degraded by turning off native
i/o. The message is
not the problem - turning off native i/o is.
I do not recall there being a problem with taking thread dumps with JDK
1.3.1 - what
indicates that the thread dump is not complete?
Arunabh
apple wrote:
Hi Arunabh,
Is this message critical? As we encounter this message, the server'sperformance
is very slow. Without this message, the access to the server is muchfaster. We
will like to know whether we can ignore this message or this messagehas any implication
to our servers.
As for your proposal to enable the native io and take thread dump,we have already
done that. But due to our jdk version used, we are not able to getthe full thread
dump.
Thanks.
Regards,
apple
Arunabh Hazarika <[email protected]> wrote:
To answer your second message first, yes, this message comes when
native
i/o is
disabled. For the first problem, I am not sure how disabling nativeio
would help
resolve a server hang - Please take a thread dump when the serverhangs
with native
i/o enabled and post it here.
Thanks,
Arunabh
apple wrote:
Hi Arunabh,
Our application server will use up the threads very fast and not
releasing
them
after usage, causing our servers to hang once we enable native io.Thus we have
no choice but to disable the native io. Is there any resolution
for
this? Is it
due to we disable native io which cause the following message to
appear?
<ExecuteThread: '10' for queue: 'default'> <> <> <000000> <Thereare:
'7' active
sockets, but the maximum number of socket readers allowed by the
configuration
is: '6', you may want to alter your configuration.>
Thanks for your prompt reply.
Regards,
Apple
Arunabh Hazarika <[email protected]> wrote:
It looks like you have native io disabled. Is there a reason why?
Arunabh
apple wrote:
Currently using WebLogic 6.1 SP2 on Win NT 4.0 with jdk 1.3.1.
2
servers
in a cluster.
The following message is seen.
<ExecuteThread: '10' for queue: 'default'> <> <> <000000> <There
are:
'7' active
sockets, but the maximum number of socket readers allowed by
the
configuration
is: '6', you may want to alter your configuration.>
How do we ensure our configuration is correct? Whenever this
message
is seen and
the servers need to start. If we do not restart them, after a
while
they will
hang and we need to restart them. Is there any way to resolve
this
issue? Thanks. -
Clearing a Stuck Execute Thread
HI.
If you get a stuck execute thread, is there anyway of clearing it or rolling it back so the action (a POST in this case) can be repeated again?
STUCK] ExecuteThread: '16' for queue: 'weblogic.kernel.Default (self-tuning)'
684959
[email protected][ POST /ols/uds/request HTTP/1.0 Accept: image/gif, image/x-xbitmap,
image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint,
application/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap,
application/x-ms-application, */* Referer: https://www.workcoverqld.com.au/ols/uds/file Accept-Language: en-au
Content-Type: application/x-www-form-urlencoded UA-CPU: x86 User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT
5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Content-Length: 260 Pragma:
no-cache Cookie: JSESSIONID=Tsh3LLqRZrn0pYf4hdyrBbtLTxWf2sVg2Q8LBLgYpvrTThy9LYlJ!1280830650 X-Forwarded-For:
202.158.241.132 Connection: Keep-Alive Proxy-Client-IP: 202.158.241.132 X-WebLogic-KeepAliveSecs: 25
X-WebLogic-Request-ClusterInfo: true x-weblogic-cluster-hash: eu0SzdBVUqV5a6fkg3X2d1IDltA ]Hi,
We can get more info about execute threads by getting thread dumps. Below are few ways to get
1. From weblogic admin console. Servers --> Monitoring --> Performance --> Dump Thread.
2. On the unix box enter the command "kill -3 <pid>".
3. Using WLST
java weblogic.WLST
>connect('<adminUsername>','<adminPassword>','<t3://adminServerUrl:port>')
>threadDump('true','VASLog.txt','<ServerName>')
>exit()
4. Using welogic.Admin command tool
java weblogic.Admin -adminurl t3://<adminServer>:<port> -username <adminUsername> -password <adminPassword> THREAD_DUMP
Except for point 3, all the output is written to "<ManagedServerLog>.out" file.
Thanks.
Vijay Bheemineni. -
Alternative to WebLogic 8.1 Execute thread Qs in Websphere 6.1
Hi All,
We are in the process of migrating from WebLogic 8.1 to WAS 6.1. We have few application in WebLogic that use custom execute threads so that trafic is moved to user defined thread instead of default thread pool. This is done in weblogic using dispatch-policy tag under weblogic.xml.
I appreciate if someone could help me understand the alternative of doing same thing in WebSphere 6.1.
I was going thru some site searching and came across Work Manager that does the same thing which is new to me but does similar job.
Thanks in advanceHi All,
We are in the process of migrating from WebLogic 8.1 to WAS 6.1. We have few application in WebLogic that use custom execute threads so that trafic is moved to user defined thread instead of default thread pool. This is done in weblogic using dispatch-policy tag under weblogic.xml.
I appreciate if someone could help me understand the alternative of doing same thing in WebSphere 6.1.
I was going thru some site searching and came across Work Manager that does the same thing which is new to me but does similar job.
Thanks in advance -
How do you modify the default Execute thread count in Weblogic Server 9.2?
How do you modify the default Execute thread count in Weblogic Server 9.2?
How can you tune the starting number of weblogic.ExecuteThread on server startup and/or set minimum number?
Is there an option from the console?
Please let me know.
ThanksSelf tuning will automatically manage the threads but however you can still control the min and max by adding the min and max values for each instance either directly adding in config.xml or through JVM settings
1) Modifying the config.xml
Just add the following line(s) to each server definition :
<server>
<name>AdminServer</name>
<self-tuning-thread-pool-size-min>100</self-tuning-thread-pool-size-min>
<self-tuning-thread-pool-size-max>200</self-tuning-thread-pool-size-max>
</server>
2) Adding some JVM parameters
It's safer the following way :
add the following option in your command line : -Dweblogic.threadpool.MinPoolSize=100
Regards
RR -
Hello,
I want to create a program that can send 2 or more files through the socket to the same client at the same time. Is it possible? I am trying to use threads to do this but I am not sure what to do in those threads. Should I send the socket to the thread class and create BufferedReader and DataOutputStream again in the thread?
Also should I create threads in the client-side?
Thanks
Edited by: bcaputcu on May 18, 2010 2:19 AMbcaputcu wrote:
Hello,
I want to create a program that can send 2 or more files through the socket to the same client at the same time. Is it possible?No. At least not in the way you're thinking.
I am trying to use threads to do this but I am not sure what to do in those threads. Should I send the socket to the thread class and create BufferedReader and DataOutputStream again in the thread?No, because you can't do that. The socket won't create multiple streams for your threads.
Also should I create threads in the client-side?No.
You need to send the files one at a time. While you could basically send the data interleaved, it would still only involve only one thread, one socket and one set of streams. And it would be a silly thing to do. -
Max no of execute threads in 4.5
Hi,
We have set the no of execute threads in 4.5.1 to >700. During start up of
the weblogic server, we get the following message:
!!!!!!!!!!!!!!!!!!!!!Property
weblogic.system.executeThreadCount has value: 775 > max: 400 setting value
to 400
Does WebLogic not allow the no of execute threads to be more than 400?
Thanks
GauravThanks for that info. That was very helpful.
Gaurav
Wei Guan <[email protected]> wrote in message
news:[email protected]...
400 is a hard-coded upper limit. There is no way you can change it.
From my understanding, ExecuteThreads => UserConnections + ConnPoolSize isa
confusing "rules of thumb".
Number of threads depends on the average request processing time, average
waiting time that your users can accept and average concurrent users. For
Internet application, nobody wants to wait, so, we can assume average
waiting time equals average processing time (this is the mininum waiting
time).
In order to find out how many threads you need, first find out the average
reqeust processing time of your systems. Secondly, find out how many
concurrent users you will have, in your case, it is 100. Keep in mind not
all users send requests to WLAS at the same time. There is a ratio ofnumber
of concurrent users to number of concurrent requests within the average
request processing time. Statistically, the higher the number ofconcurrent
users, the higher this ratio. Normally, this ratio can range from 1 to 20
(Sorry, I do not have any research paper, however, this is a typicalrandom
processing problem). If you have a very powerful machines and the average
processing time is very low, this ratio can be even higher (for example,
your average processing time is 1/2 seconds, and user waiting time is 2
seconds). Threads likes employees in MacDonnald. The number of customersin
MacDonnald likes concurrent users. Customers who actually waiting to be
served is like current requests. If the number of employees equals the
number of customers in MacDonnald, you will see MacDonnald stocks willlike
trash within couple of days. If the number of employees equals the numberof
customers waiting to be served, you will see the stocks will be trashwithin
couple weeks.
Since 100 is a medium size number, let's take 4 as the ratio, 100/4 = 25.
So,
there might be 25 concurrent requests within your average requestprocessing
time. How many threads you need to process 25 concurrent requests? 25!
Start with 25 and monitor weblogic server. If CPU utilization is low andthe
number of requests in WLAS request queue is low, decrease this number. If
CPU utilization is very high and the number of requests in WLAS requests
queue is high, increase this number. Tuning WLAS needs patience and
carefulness.
The default of threads is 15. Normally, WebLogic suggested use 15 to 60
threads.
Large number of threads will not buy you anything. It simply creates lotsof
idle threads and wastes systems resources to do context switching. Those
threads like extra employees in MacDonnald. MacDonnald has to pay them$$$.
One of reason why private companies are more efficient and profitable than
government is that private companies try their best to increase that
"ratio".
I guess, "400" by WebLogic is a way that WebLogic prevents your fromrunning
your WebLogic Server likes a state-owned enterprise where employees can
enjoy coffees at their office most of the time. I guessed :-).
You just have 100 users, where 600 connections are coming from???
My 2 cents.
Cheers - Wei
Gaurav Khanna <[email protected]> wrote in message
news:[email protected]...
Yep,
We have a 4 processor machine and 600 connections and 100 concurrentusers.
BTW, is 400 the upper limit and is that specified by WebLogic or the OS?
Thanks
Gaurav
Srikant Subramaniam <[email protected]> wrote in message
news:[email protected]...
Yes, there is an upper limit (as you discovered)! Any reason why you
would
want to have 700 executeThreads?
Srikant.
Gaurav Khanna wrote:
Hi,
We have set the no of execute threads in 4.5.1 to >700. During start
up
of
the weblogic server, we get the following message:
!!!!!!!!!!!!!!!!!!!!!Property
weblogic.system.executeThreadCount has value: 775 > max: 400 settingvalue
to 400
Does WebLogic not allow the no of execute threads to be more than
400?
>>>>
Thanks
Gaurav -
Query Regarding Execute Thread Count
Hi,
My understanding of Execute Thread Count is the threads which are assigned to service
requests coming to Weblogic Server.
In our current architecture a request for generating report is directed to EJB method
which makes a call to another Server (Report Server for executing reports), the report
Server in turn calls the EJB residing on Weblogic Server for getting the data.
So, is my assumption correct that with our current architecture we are limited to
concurrency of Execute Thread Count -1. (Every request for report will consume 2
Excute threads, and others will have to wait till the first request gets completed
and 2 threads are freed).
I also read from the postings that Weblogic takes some of the threads, so it actually
will be limited to (Execute thread count - Weblogic Held- 1).
Please corect me if I am wrong.
Thanks and Regards
RashmiHi,
Thanks very much for the suggestion. I tried, and it is using 2 Execute Threads.
Thanks
Rashmi
"Dave Martin" <[email protected]> wrote:
>
Rashmi:
If you are interested in answering the question rigorously, why not just
throw a
fake exception along both the report generation path and the runReport method
of
the ReportServer, then record their stack traces to a file for comparison?
From the sounds of it, your app wants to make the actual report generation
asynchronous
from the post of the reporting request. If they're really asynchronous,
then your
ReportServer must have some kind of blocking queue that will "wake up" when
it has
work to be done. Depending on how you implemented this, your runReport
method may
not be running a WebLogic execute thread at all.
Seems to me that you should be thinking of this as consuming one execute
thread regardless.
Even if the two pieces of work are asynchronous, the first thread finished
its work
at the point that it posts to the second thread (at least, per your description).
So at any one time, at max one execute thread is being consumed per request.
But capture the stack traces and have a look for yourself.
Dave Martin
"Rashmi S" <[email protected]> wrote:
Hi,
Thanks for your reply.The reason why I say 2 threads will be consumed is
as follows
1. First execute thread will be used for the request to Weblogic Server
to run the
report originating from a client.
2. Now, within the ReportServices EJB there is a call to Report Serverto
run the
report. The running of report is done on the Report Server which is ona
separate
m/c. Within the runReport method of the Report Server ,the data is fetched
for the
report by making a context look-up of another session EJB which fetches
the data.
So, the second Execute thread will be consumed for executing the EJB that
fetches
the data.
Am I correct?
Thanks and Regards
Rashmi
"Cameron Purdy" <[email protected]> wrote:
Incoming requests (from outside the server) use one thread for the duration
of their processing. Previous to their processing they are queued until
a
thread is available. So you would use one thead per concurrent request,
not
two. Otherwise, it sounds right.
Peace,
Cameron Purdy
Tangosol, Inc.
Clustering Weblogic? You're either using Coherence, or you should be!
Download a Tangosol Coherence eval today at http://www.tangosol.com/
"Rashmi S" <[email protected]> wrote in message
news:[email protected]...
Hi,
My understanding of Execute Thread Count is the threads which are assignedto service
requests coming to Weblogic Server.
In our current architecture a request for generating report is directedto EJB method
which makes a call to another Server (Report Server for executingreports), the report
Server in turn calls the EJB residing on Weblogic Server for getting
the
data.
So, is my assumption correct that with our current architecture we arelimited to
concurrency of Execute Thread Count -1. (Every request for report willconsume 2
Excute threads, and others will have to wait till the first request
gets
completed
and 2 threads are freed).
I also read from the postings that Weblogic takes some of the threads,so
it actually
will be limited to (Execute thread count - Weblogic Held- 1).
Please corect me if I am wrong.
Thanks and Regards
Rashmi -
Log of execute thread pool status
hi guys
We are performing some performance analysis on a application and would
like to log the status of the execute thread pool periodically to a
log file.
The performance tests run for a extended period of time and hence
console is not proving to be effective in monitoring the behaviour
over a long period of time.
What other alternatives exist if I want to do this.
Thanks for your time
anandthanks guys,
I found an answer in one of rob wollens old post.
http://dev2dev.bea.com/resourcelibrary/utilitiestools/index.jsp
Sorry for posting without doing a little research
~anand
Maybe you are looking for
-
Getting Toad 12.6 talking to Microsoft Team Foundation Server 2013 - Visual Studio 2013
Need to know how to setup the "source control" settings in Toad 12.6 to get Toad to speak with Team Foundation Server 2013. Not having any luck. Thanks
-
How can I re-activate my CS3 with connectivity issue?
I received a new MacbookPro for Xmas , migrated successfully but need to "re-activate" my CS3. when i open the app I get the activation screen but when i click "over internet", it attempts then gives me an "Activation-No Connection" screen that loops
-
I am a NEW user to photoshop premiere elements 9. I am trying to make a CD label and everytime it comes up that I need to do a download, but then states it cannot open the file for the download What am I doing wrong?
-
Print colours of community pages
My Community pages (possibly other people's too) are printed as follows. Ths question / subject is in pale blue. The time posted is in black. Is it possible to change these colours or font sizes to meel the individual eyesight needs? Ideally I woul
-
Need help undersatnding resolution.
I exported one picture using different JPG compressions. I ended up with files ranging from 1.3MB to 127KB. I printed each as 4x5 & 8x10 to see what compression was acceptable. I then opened each in Photoshop and was surprised to see that they all ha