ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Execution group port not reachable under loads...

Post new topic  Reply to topic Goto page 1, 2  Next
 Execution group port not reachable under loads... « View previous topic :: View next topic » 
Author Message
vinumon
PostPosted: Thu Nov 27, 2014 10:34 pm    Post subject: Execution group port not reachable under loads... Reply with quote

Acolyte

Joined: 06 May 2014
Posts: 59

We are having Broker V8.0.0.1 with 4 EG, running on ports 7800,7801,7802,7803.

EG with port 7800 is having 13 message flows... Under performance test with message load high, we are getting port 7800 not reachable for few secs and later it comes up automatically... In a 3 hour test, there will be 1000 such occurances...

Is there any tuning parameter that I need to set at EG level....

We have kept additional instances for flows.....

Note: Similar issue we faced for Broker version V8.0.0.3...
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Nov 27, 2014 11:14 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20696
Location: LI,NY

Find the bottleneck, remove it!
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
zpat
PostPosted: Fri Nov 28, 2014 12:26 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

I would avoid using the default port of 7800, too much chance of someone creating another broker and it trying to use that port as well.

As for volume load, best to use a decent protocol like MQ, which simply queues any traffic not yet processed, without rejecting it. Web services are inherently unreliable and also non transactionally safe.

But to increase throughput - you can look at increases the instances of each message flow. Try to avoid any waiting in the flow (i.e. any use of inferior synchronous protocols like web services).

Make sure that your maxthreads value is suitable for the number of flow instances that you have. Finally set the acceptCount value higher.

Each incoming request consumes a tomcat thread to process and maxThreads controls the size of the Tomcat thread pool. The accept count parameter controls how many connection requests are accepted and queued when all tomcat threads are in use.

However if you have an http load-balancer in front of the broker - it may use the rejected requests to decide how to distribute load. So queueing more requests inside the EG may reduce the effectiveness of the balancer.

All in all - it's an unreliable mess of a situation that would be avoided simply by using MQ for all forms of integration. But this is "the modern way" - we can't have a proven and robust solution when we can have the industry "standard" rubbish one instead....
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
vinumon
PostPosted: Fri Nov 28, 2014 12:35 am    Post subject: Reply with quote

Acolyte

Joined: 06 May 2014
Posts: 59

What is meant by acceptCount and what value can I set for high volume brokers..., and currently maxthreads for EG is blank....do i need to set any values...?
Back to top
View user's profile Send private message
ruimadaleno
PostPosted: Fri Nov 28, 2014 1:19 am    Post subject: Reply with quote

Master

Joined: 08 May 2014
Posts: 274

another check you should do: are you using broker wide http listener or embedded listener ?

currently maxthreads for EG is blank means it is running with default value which is 200 (please confirm this value in documentation).
_________________
Best regards

Rui Madaleno
Back to top
View user's profile Send private message
vinumon
PostPosted: Fri Nov 28, 2014 1:57 am    Post subject: Reply with quote

Acolyte

Joined: 06 May 2014
Posts: 59

We are using embedded listener..... There are almost 2000 users sending requests to the Broker.....so can I set maxThreads at EG level to 2000 and acceptCount 1500...?
Back to top
View user's profile Send private message
ruimadaleno
PostPosted: Fri Nov 28, 2014 2:19 am    Post subject: Reply with quote

Master

Joined: 08 May 2014
Posts: 274

have you investigated message flows behaviour ? are you shure you have no contention/sync/delay issues in message flows ?
_________________
Best regards

Rui Madaleno
Back to top
View user's profile Send private message
vinumon
PostPosted: Fri Nov 28, 2014 2:23 am    Post subject: Reply with quote

Acolyte

Joined: 06 May 2014
Posts: 59

There is no issue when 500 users are connecting to broker.....but this issue happens only when more than 1000 users connect.....
There are no issues on message flows...
Back to top
View user's profile Send private message
zpat
PostPosted: Fri Nov 28, 2014 2:27 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

No!

Maxthreads are for the in-process requests - set to a number slightly greater than the number of flow instances allowed in that EG.

Do not set huge values, think in hundreds, not thousands, or you will run out of memory in the EG JVM.

The flow instance count will be the number of actual message flows in the EG, plus any additional instance value set. If you don't set it - you don't get it! Each user does not automatically create a new flow instance.

The default accept count is 100, I believe. When I increase values I usually try doubling them.

You set this on the http(s) connector parameter (same place as the you set the explicit port number for the EG).

The option to use the EG embedded listener needs to be set as well.

How are your incoming requests load-balanced?

READ this

http://www-01.ibm.com/support/docview.wss?uid=swg21504029
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.


Last edited by zpat on Fri Nov 28, 2014 3:06 am; edited 1 time in total
Back to top
View user's profile Send private message
vinumon
PostPosted: Fri Nov 28, 2014 3:00 am    Post subject: Reply with quote

Acolyte

Joined: 06 May 2014
Posts: 59

No: of flow instance u mean is the additional instance set ?
I have set it to 250...as total...

Where can I find the option to use the EG embedded listener needs to be set ? Command to set ?

Current values for maxThreads and acceptcount is blank....which means its taking default values 200 and 100....so shall Iincrease to 400 and 200..?
Back to top
View user's profile Send private message
zpat
PostPosted: Fri Nov 28, 2014 3:07 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

Read the product documentation on the points raised. We are not your personal assistants.

Don't go over the top on additonal instances - you may run out of memory.

Make sure the requests are being processed quickly in the flow. If you have too long a delay (even if accepted and queued) - the requests may time out.

It's not a simple - here is the answer matter. You need to use your professional skills to understand the application and tune accordingly.
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.


Last edited by zpat on Fri Nov 28, 2014 3:10 am; edited 1 time in total
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Nov 28, 2014 3:08 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20696
Location: LI,NY

vinumon wrote:
No: of flow instance u mean is the additional instance set ?
I have set it to 250...as total...

Where can I find the option to use the EG embedded listener needs to be set ? Command to set ?

Current values for maxThreads and acceptcount is blank....which means its taking default values 200 and 100....so shall Iincrease to 400 and 200..?

Before tweeking the numbers you should be focusing on the flows.
Is there a legitimate bottle neck? If yes what is it? How can you get rid of it?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
vinumon
PostPosted: Fri Nov 28, 2014 5:08 am    Post subject: Reply with quote

Acolyte

Joined: 06 May 2014
Posts: 59

most of the flows are connected to WAS server, and we used to get timeout from WAS , if the requests are getting more time to get processed...Is this one factor for EG port going to stopped state....
Back to top
View user's profile Send private message
ruimadaleno
PostPosted: Fri Nov 28, 2014 8:10 am    Post subject: Reply with quote

Master

Joined: 08 May 2014
Posts: 274

so your main problem is not value of maxthreads, and the "eg port stopped state" is a side effect.

If your message flow (which connects to WAS server somehow .. maybe another web service???) takes too long to process requests and you end with a bunch of new requests trying to get it's work done but waiting as the message flows instances are "busy" waiting for the WAS_server_Connect_Thing.

please note that this "message flows busy waiting for WAS_Server_connect_thing" are killing the ability to scale, which is what you are trying to validate with the load tests your are performing: Can your message flow scale to handle 2000 requests ? ... no it can't because from a certain point you get this "eg port stopped state". Incresing maxthreads can give you more "scalability" ? yes, a little, but you are always bounded to the "message flow busy waiting for WAS_Server_connect_thing"
_________________
Best regards

Rui Madaleno
Back to top
View user's profile Send private message
vinumon
PostPosted: Sun Nov 30, 2014 5:33 am    Post subject: Reply with quote

Acolyte

Joined: 06 May 2014
Posts: 59

@ruimadaleno, you mean to say there is time taken at Broker side to send request to WAS ?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Execution group port not reachable under loads...
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.