cancel
Showing results for 
Search instead for 
Did you mean: 

Web Dispatcher Issue

Former Member
0 Kudos

Dear Experts,

I have a load balanced PI system to which we have connected a web dispatcher.

When i put the web dispatcher in a different subnet spanning one firewall and start it, the CPU usage on my PI system goes 100% after 10-15 mins of normal operation. Particularly the dispatcher process on my PI server get locked and shows 100% CPU utilization.

We have opened message server port, http and https port, enqueue port and almost all required in the firewall.

We have also checked the firewall logs if any port is getting blocked somewhere. No signs of that.

We tried everything possible but the issue is same.

Then we tried putting the web dispatcher in the same subnet as the PI server so that there is no firewall.

We observed the system for one day and it works great.

My Web dispatcher and the PI server run on Linux.

Please suggest.

Best Regards

Raghu.

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Another thought.

You state this is only occuring when using SSL.

SSL can be configured in one of 3 ways when using SAP Web Dispatcher.

1) SSL temination: SAP Web Dispatcher terminates the https connection and forwards the request to PI over http

2) SSL reencryption: SAP Web Dispatcher terminates the https connection, the reencrypts the request and sends it to PI over https

3) End to end SSL: SAP Web Dispatcher just frowards the https connection to PI.

Each have there own parameters you will need to set for SAP Web Dispatcher.

Take a look at http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/60d6de2e-085b-2b10-7a8f-bc9ae1e0b...

Former Member
0 Kudos

Hi,

I can't say I actually know what is going on but since this occurs only when SAP Web Dispatcher operates in a different subnet it is likely that your routing or firewall is the culprit.

I can recommend you try a few tests:

From you SAP Web Dispatcher hosts try the following:

ping <PI hostname> - this is to make sure the hostname reolves to th correct IP. So don't worry if ping itself is blocked.

telnet <PI Hostname> <http message server port>

- Get the message server http port of your PI system from transaction SMMS --> Goto --> Services

This should return something like this:

telnet <PI hostname> <ms http port>

Trying...

Connected to <PI hostname>

Escape character is '^]'.

HTTP/1.0 400 BAD REQUEST

Date: Mon, 21 Sep 2009 02:43:12 GMT

SAP Message Server, release 700 (<PI SID>)

content-type: text/html

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<HTML><HEAD>

<TITLE>400 BAD REQUEST</TITLE>

</HEAD><BODY>

<H1>400 BAD REQUEST</H1>

<p>The following error occured:

<p>MsHttpGenHeader: required field ~server_protocol not found (msxxhttp_mt.c [7755])

<p>SAP Message Server, release 700 (<PI SID>)

</BODY></HTML

If it doesn't you SAP Web Dipstacher is unable to communicate fully with the PI message server.

From the PI server make sure you can can get to the SAP Web Dispatcher:

ping <SAP Web Disp host> - to check the hostname resolves correctly.

telnet <SAP Web Disp host> <http port> - to check PI can open new connections back to SAP Web Dispatcher if it needs to.

BTW for <SAP Web Disp host> in the above tests make sure to use what the clients use to connect. i.e. if you connections are to http://mySAPwebDisp.mycompany.net then you need to check mySAPwebDIsp.mycompany.net resolves to the correct IP when testing from the host of PI.

Also make sue in you SAP Web Dispatcher profile you have the following set:

wdisp/handle_webdisp_ap_header = 1 - This parameter let's PI know it is operating behind SAP Web Dispatcher. (If you need to supprt HTTP1.0 clients you will also need to maintain table HTTPURLLOC and Java parameter ProxyMapping)

Best of luck.

Marcel.

Former Member
0 Kudos

Hi Everyone,

I am still facing the issue and i am not able to figure out the problem.

I installed a web dispatcher in the LAN where i have a PI QA server. I connected the web dispatcher to that and even that works fine without any issues.

As i said in my earlier post, the issue occurs only when i use a web dispatcher in a different network subnet and my PI application server is in different subnet.

Once i start the web dispatcher, it works fine for 15-20 mins and after that the CPU usage on my PI application server goes to 100%. The dispatcher thread hangs.

I see the default trace log file of the dispatcher with the entries as below contnuously.

#1.#001F29CF7E9A002D0000008000006624000473EE226F7071#1253366523981#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Starting handshake (iSaSiLk 4.01)...#

#1.#001F29CF7E9A002D0000008100006624000473EE226F70DB#1253366523982#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Received v3 client_hello handshake message.#

#1.#001F29CF7E9A002D0000008200006624000473EE226F713A#1253366523982#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Client requested SSL version 3.1, selecting version 3.1.#

#1.#001F29CF7E9A002D0000008300006624000473EE226F717E#1253366523982#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Client is trying to resume session 94:A2:1E:87:1F:6B:1B:32...#

#1.#001F29CF7E9A002D0000008400006624000473EE226F71C6#1253366523982#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Resuming previous session...#

#1.#001F29CF7E9A002D0000008500006624000473EE226F71F5#1253366523982#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Sending server_hello handshake message.#

#1.#001F29CF7E9A002D0000008600006624000473EE226F721B#1253366523982#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Selecting CipherSuite: SSL_RSA_WITH_RC4_128_MD5#

#1.#001F29CF7E9A002D0000008700006624000473EE226F7238#1253366523982#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Selecting CompressionMethod: NULL#

#1.#001F29CF7E9A002D0000008800006624000473EE226F76A2#1253366523983#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Sending change_cipher_spec message...#

#1.#001F29CF7E9A002D0000008900006624000473EE226F76CF#1253366523983#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Sending finished message...#

#1.#001F29CF7E9A002D0000008A00006624000473EE226F7D8A#1253366523985#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Received change_cipher_spec message.#

#1.#001F29CF7E9A002D0000008B00006624000473EE226F7DC7#1253366523985#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Received finished message.#

#1.#001F29CF7E9A002D0000008C00006624000473EE226F7EDD#1253366523985#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Session added to session cache.#

#1.#001F29CF7E9A002D0000008D00006624000473EE226F7EFF#1253366523985#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Handshake completed, statistics:#

#1.#001F29CF7E9A002D0000008E00006624000473EE226F7F21#1253366523985#com.sap.engine.services.ssl##com.sap.engine.services.ssl#######SAPEngine_System_Thread[impl:6]_11##0#0#Debug##Plain###ssl_debug(470): Read 145 bytes in 3 records, wrote 106 bytes in 3 records.#

#1.#001F29CF7E9A002D0000008F00006624000473EE226F8149#1253366523986#com.sap.engine.services.httpserver.dispatcher##com.sap.engine.services.httpserver.dispatcher#######SAPEngine_System_Thread[impl:6]_11##0#0#Error##Plain###Error in parsing the HTTP request for load balancing. The request is:

<GET /

>.

com.sap.engine.services.httpserver.exceptions.ParseException: Illegal request line. [HTTP version] is not found.

at com.sap.engine.services.httpserver.dispatcher.loadbalance.HttpLoadbalance.getAliasLength(HttpLoadbalance.java:536)

at com.sap.engine.services.httpserver.dispatcher.loadbalance.HttpLoadbalance.getServerIdFromRequest(HttpLoadbalance.java:210)

at com.sap.engine.services.httpserver.dispatcher.Processor.setServerId(Processor.java:1219)

at com.sap.engine.services.httpserver.dispatcher.Processor.parseBodyCommand(Processor.java:1001)

at com.sap.engine.services.httpserver.dispatcher.Processor.parseRequest(Processor.java:397)

at com.sap.engine.core.manipulator.TCPRunnableConnection.sleepRead(TCPRunnableConnection.java:847)

at com.sap.engine.core.manipulator.TCPRunnableConnection$ReadThread.run(TCPRunnableConnection.java:1189)

at com.sap.engine.frame.core.thread.Task.run(Task.java:64)

at com.sap.engine.core.thread.impl6.SingleThread.execute(SingleThread.java:82)

at com.sap.engine.core.thread.impl6.SingleThread.run(SingleThread.java:154)

Any clues on how to resolve this.

My PI application server is running on SP18 with latest Java Engine Patch and Web dispatcher is running on Patch 215, the latest.

Best Regards

Raghu

Former Member
0 Kudos

Dear Experts,

To give more info, i have configured the web dispatcher on ports 80 and 443.

When i start HTTPS on port 443, the issue reoccurs i.e my CPU usage goes high almost 100%.

Kindly suggest if any solution for the same.

Best Regards

Raghu