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 » Problems with >1000 concurrent users of HTTP input node

Post new topic  Reply to topic
 Problems with >1000 concurrent users of HTTP input node « View previous topic :: View next topic » 
Author Message
4integration
PostPosted: Thu Dec 13, 2007 12:05 am    Post subject: Problems with >1000 concurrent users of HTTP input node Reply with quote

Disciple

Joined: 04 Sep 2006
Posts: 197
Location: Gothenburg, Sweden

Hello,

We are facing problems with many concurrent users using a WebService in WMB (WMB 6.0.0.3).

We have a HTTP Input node in a flow with 25 additional instances.
When running a test client, simulating 1000 users we get "Connection Reset" This happens around 500 users and 280 users executing the service. Each user "sleeps" 15 sec between requests, therefore 500/280 users above.

We have executed:

Code:
mqsiservice MyBroker -r HttpListenerThreadPoolSize=100

and restarted the broker. This didn't help.


I have seen other properties in this area such as maxthreads as:
Code:
mqsichangeproperties MyBroker -b httplistener -o HTTPConnector -n maxThreads -v <some-number>

Before making to much changes I would like to get some guidance from the experts (you) first.
Do you have any suggestions?
_________________
Best regards
4 Integration
Back to top
View user's profile Send private message
David.Partridge
PostPosted: Thu Dec 13, 2007 12:27 am    Post subject: Reply with quote

Master

Joined: 28 Jun 2001
Posts: 249

My initial thought was to increase the TCP/IP backlog for the httplistener, but AFAICT there isn't a property of the httplistener for this you can set with mqsichangeproperties.

So, I'll be very interested to see what you find out.

Do you have a PMR open to ask about this?
_________________
Cheers,
David C. Partridge
Back to top
View user's profile Send private message
4integration
PostPosted: Thu Dec 13, 2007 12:34 am    Post subject: Reply with quote

Disciple

Joined: 04 Sep 2006
Posts: 197
Location: Gothenburg, Sweden

Do you have any hint of where to find more info on this and how to set the configuration?
_________________
Best regards
4 Integration
Back to top
View user's profile Send private message
Michael Dag
PostPosted: Thu Dec 13, 2007 1:08 am    Post subject: Reply with quote

Jedi Knight

Joined: 13 Jun 2002
Posts: 2607
Location: The Netherlands (Amsterdam)

Isn't this the reason why you would put an HTTP server or something like DataPower in between your users and the http input node of your broker?
_________________
Michael



MQSystems Facebook page
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
jefflowrey
PostPosted: Thu Dec 13, 2007 7:19 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Isn't this what SupportPac IE01 is for?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
4integration
PostPosted: Thu Dec 13, 2007 11:57 pm    Post subject: Reply with quote

Disciple

Joined: 04 Sep 2006
Posts: 197
Location: Gothenburg, Sweden

Hello,

I somewhat agree with you, but as we are running quite small number of users it should work, right.

In the article http://www.ibm.com/developerworks/websphere/library/techarticles/0608_braithwaite/0608_braithwaite.html it says:
Quote:
Message Broker can support about 1200 concurrent connections to a broker biphttplistener process. Of course if you need to support fewer than 1200 concurrent sessions, then you do not need to use the Proxy Servlet in this role.


The project are currently investigating for real figures on how many concurrent users we need to support. I may be that we end up with the proxy etc .

Would it help to have a single servlet container (WAS/Tomcat/...) with the proxy servlet deployed, running towards a single WMB instance?
_________________
Best regards
4 Integration
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Dec 14, 2007 7:56 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

You don't say what platform you're running broker on... If you're running on Windows and trying to support a largish number of HTTP inputs AND a largish number of MQ channels....
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
4integration
PostPosted: Tue Jan 29, 2008 12:21 am    Post subject: Reply with quote

Disciple

Joined: 04 Sep 2006
Posts: 197
Location: Gothenburg, Sweden

Sorry for being away for long...We are using Windows 2003 server.

We have tested with a clustered WAS with IE01 and it works much better even if we need to optimize HTTP connection pools etc.

However, when running IE01 quite hard (2000 concurrent users) and the servlet gets MQ connections. When the WAS appserver are restarted it will not release the MQ connections nor reuse the previously allocated. It starts to allocate new connections and the old ones remains and if that continue we will not be able to connect at all since all connections are allocated. Then manual work has to be performed in the qmgr (manual stop of the connection).

Any ideas?
_________________
Best regards
4 Integration
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Jan 29, 2008 1:32 am    Post subject: Reply with quote

Grand High Poobah

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

4integration wrote:
Sorry for being away for long...We are using Windows 2003 server.

We have tested with a clustered WAS with IE01 and it works much better even if we need to optimize HTTP connection pools etc.

However, when running IE01 quite hard (2000 concurrent users) and the servlet gets MQ connections. When the WAS appserver are restarted it will not release the MQ connections nor reuse the previously allocated. It starts to allocate new connections and the old ones remains and if that continue we will not be able to connect at all since all connections are allocated. Then manual work has to be performed in the qmgr (manual stop of the connection).

Any ideas?

What version of WAS / MQ are you using?
Make sure you use JMS and close the sender, session and connection correctly.

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
4integration
PostPosted: Tue Jan 29, 2008 1:59 am    Post subject: Reply with quote

Disciple

Joined: 04 Sep 2006
Posts: 197
Location: Gothenburg, Sweden

We are using the following versions:
WAS: 6.1.0.11 (AIX 5.3)
WMQ: 6.0.2.0 (Win 2k3)
WMB: 6.0.0.3 (Win 2k3)

Since we are using IE01 we have not that many options/control how the connection is handled....or do you have any golden tip?

The configuration for IE01 is handled in web.xml and our looks like:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app id="WebApp">
   <!-- Proxy servlet for WBIMB HTTP input nodes -->
   <display-name>WBIMB Proxy Servlet V2 - SupportPac IE01</display-name>
   <servlet>
      <servlet-name>WBIMBServlet</servlet-name>
      <display-name>WBIMBServletV2</display-name>
      <servlet-class>
         com.ibm.broker.httpproxy.WBIMBServlet
      </servlet-class>
      <init-param>
         <param-name>brokerName</param-name>
         <!-- Set the message broker name here -->
         <param-value>EOWYN_B3</param-value>
         <description>Set the message broker name here</description>
      </init-param>
      <init-param>
         <param-name>configFilePath</param-name>
         <!-- This would be /var/mqsi/config/wsplugin.conf on UNIX -->
         <param-value>
            config/wsplugin6.conf
         </param-value>
         <description>
            This would be
            /var/mqsi/components/[broker_name]/config/wsplugin6.conf
            on UNIX or C:\\Documents and Settings\\All Users\\
            Application Data\\IBM\\MQSI\\components\\WBRK6_DEFAULT_BROKER\\config\\wsplugin6.conf
         </description>
      </init-param>
        <init-param>
            <param-name>ccsidForWsplugin</param-name>
            <!-- Set the code page required for web.xml here -->
            <param-value></param-value>
            <description>Set the ccsid for wsplugin.conf</description>
        </init-param>
      <init-param>
         <param-name>turnTraceOn</param-name>
         <!-- Set 0 for no trace, 1 for normal or 2 for debug -->
         <param-value>0</param-value>
         <description>
            Set 0 for no trace, 1 for normal or 2 for debug
         </description>
      </init-param>
      <init-param>
         <param-name>useClientMode</param-name>
         <param-value>true</param-value>
         <description>
            Use MQ client (true) or bindings connection (false)
         </description>
      </init-param>
      <init-param>
         <param-name>clientModeHostname</param-name>
         <param-value>eowyn-b3.it.domian.net</param-value>
         <description>
            Hostname or IP for the Queue Manager
         </description>
      </init-param>
      <init-param>
         <param-name>clientModeChannelName</param-name>
         <param-value>PLSCM.SRV01</param-value>
         <description>MQ SVRCONN channel name</description>
      </init-param>
      <init-param>
         <param-name>clientModePortNumber</param-name>
         <param-value>1419</param-value>
         <description>MQ Listener port number</description>
      </init-param>
      <!--init-param>
         <param-name>clientModeChannelName</param-name>
         <param-value>SYSTEM.DEF.SVRCONN</param-value>
         <description>MQ SVRCONN channel name</description>
      </init-param>
      <init-param>
         <param-name>clientModePortNumber</param-name>
         <param-value>2414</param-value>
         <description>MQ Listener port number</description>
      </init-param-->

      <init-param>
         <param-name>
            useQueueManagerDataInsteadOfConfigFile
         </param-name>
         <!--Queue manager name or blank for none -->
         <param-value>EOWYN_B3</param-value>
         <description>
            Queue manager name (remote proxy) or blank for none
            (local proxy). Supported on WMB6 Fix Pack 1 or later.
         </description>
      </init-param>

      <init-param>
         <param-name>sleepBeforeGet</param-name>
         <param-value>0</param-value>
         <description>Sleep time in seconds</description>
      </init-param>

      <init-param>
         <param-name>disconnectBeforeSleep</param-name>
         <param-value>true</param-value>
         <description>
            To release MQ handle while sleeping
         </description>
      </init-param>

      <init-param>
         <param-name>useFastpathBindingsConnection</param-name>
         <param-value>false</param-value>
         <description>
            Used when useClientMode is false. Be careful with this
            option it can compromise the integrity of the queue
            manager
         </description>
      </init-param>
   </servlet>
   <servlet-mapping>
      <servlet-name>WBIMBServlet</servlet-name>
      <url-pattern>/*</url-pattern>
   </servlet-mapping>
   <welcome-file-list>
      <welcome-file>index.html</welcome-file>
   </welcome-file-list>
</web-app>

_________________
Best regards
4 Integration
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Jan 29, 2008 3:37 am    Post subject: Reply with quote

Grand High Poobah

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

Have you checked the JMS Topologies red book?
May be you just do not have enough channels configured on your qmgr for what you are attempting to do...

What is you maxchannels / maxactivechannels stanza?


_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
jefflowrey
PostPosted: Tue Jan 29, 2008 4:20 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

fjb_saper wrote:
Have you checked the JMS Topologies red book?


FJ -
This is not JMS... Please read this thread a little more closely...


fjb_saper wrote:
May be you just do not have enough channels configured on your qmgr for what you are attempting to do...

What is you maxchannels / maxactivechannels stanza?


_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Jan 29, 2008 2:29 pm    Post subject: Reply with quote

Grand High Poobah

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

jefflowrey wrote:

FJ -
This is not JMS... Please read this thread a little more closely...

Sorry I read WAS and MQ and I'm off on a JMS scenario...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Problems with >1000 concurrent users of HTTP input node
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.