Author |
Message
|
ivan8008 |
Posted: Thu Oct 26, 2006 4:26 am Post subject: Problem with performance using HTTPRequest node |
|
|
Novice
Joined: 26 Oct 2006 Posts: 17 Location: Sofia, Bulgaria
|
hi
I developed several simple MFs using HTTPRequest node, but i find difficulties to achieve good performance (i can reach 5 msg/s for 1 instance). I found that the bottleneck is when calling the web service..
On the other hand the web service is quite simple and is performing quite well - that is tested!
I think that the problem is that the HTTPRequest node generates "connection: close" line in the HTTP Post header...
here is it:
POST /FlexService/FlexService.asmx/BackMeTime HTTP/1.1
Connection: close
Host: 172.20.120.120
Content-Type: application/x-www-form-urlencoded
Content-Length: 59
sendMeTime=TIME1=15:23:42.790154 / TIME2=15:23:42.790154 / HTTP/1.1 200 OK
Connection: close
Date: Thu, 26 Oct 2006 12:22:53 GMT
Server: Microsoft-IIS/6.0
X-AspNet-Version: 1.1.4322
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Content-Length: 155
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">TIME1=15:23:42.790154 / TIME2=15:23:42.790154 / 10/26/2006 3:22:53 PM</string>
Can somebody help me understand how "Connection: close" line is genereated _________________ Ivan Tumbev
MQ Series Administrator & Broker Developer
ICQ 344974669
ivan_tumbev@yahoo.com |
|
Back to top |
|
 |
mgk |
Posted: Thu Oct 26, 2006 4:50 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
What version of the Broker are you using? Version 6, FP1 and above is needed to support HTTP 1.1 Keep-Alive (Persistent Connections)
Regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
ivan8008 |
Posted: Thu Oct 26, 2006 5:16 am Post subject: |
|
|
Novice
Joined: 26 Oct 2006 Posts: 17 Location: Sofia, Bulgaria
|
hi,
thank you for your reply.
I use Broker Version 6 with FP1.
I have tuned the HTTPRequest node to use HTTP 1.1 and I've checked keep-alive checkbox _________________ Ivan Tumbev
MQ Series Administrator & Broker Developer
ICQ 344974669
ivan_tumbev@yahoo.com |
|
Back to top |
|
 |
ivan8008 |
Posted: Thu Oct 26, 2006 5:20 am Post subject: |
|
|
Novice
Joined: 26 Oct 2006 Posts: 17 Location: Sofia, Bulgaria
|
I have only hardcoded
..
Host: 172.20.120.120
Content-Type: application/x-www-form-urlencoded
..
in my ESQL code and assume that the HTTPRequest Node generated the other lines of the HTTP header
I unchecked the option "Generate default HTTP headers from input" _________________ Ivan Tumbev
MQ Series Administrator & Broker Developer
ICQ 344974669
ivan_tumbev@yahoo.com |
|
Back to top |
|
 |
ivan8008 |
Posted: Thu Oct 26, 2006 5:32 am Post subject: |
|
|
Novice
Joined: 26 Oct 2006 Posts: 17 Location: Sofia, Bulgaria
|
does somebody know where can I find information about how the Httprequest node work - IN DETAIL? _________________ Ivan Tumbev
MQ Series Administrator & Broker Developer
ICQ 344974669
ivan_tumbev@yahoo.com |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Oct 26, 2006 5:34 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Where have you looked? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
ivan8008 |
Posted: Thu Oct 26, 2006 5:36 am Post subject: |
|
|
Novice
Joined: 26 Oct 2006 Posts: 17 Location: Sofia, Bulgaria
|
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Oct 26, 2006 5:42 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Then if you haven't found answers to your questions, you may need to open a PMR or do some more experimentation. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
ivan8008 |
Posted: Thu Oct 26, 2006 6:24 am Post subject: |
|
|
Novice
Joined: 26 Oct 2006 Posts: 17 Location: Sofia, Bulgaria
|
Do you think that I can tune the HTTPConnector object to achieve persistent connection? _________________ Ivan Tumbev
MQ Series Administrator & Broker Developer
ICQ 344974669
ivan_tumbev@yahoo.com |
|
Back to top |
|
 |
mgk |
Posted: Thu Oct 26, 2006 7:35 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
How is this flow being driven? Is there an HTTPInput Node driving this flow?
It would be useful to see the output from a trace node before and after the HTTPRequest node, tracing $Root and $LocalEnvrionment.
Also you can look at this paper for more details:
http://www-128.ibm.com/developerworks/websphere/library/techarticles/0608_braithwaite/0608_braithwaite.html
And if I remember correctly there were some further performance tweeks to the HTTPRequest node in FP2
Regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
ivan8008 |
Posted: Thu Oct 26, 2006 9:50 am Post subject: |
|
|
Novice
Joined: 26 Oct 2006 Posts: 17 Location: Sofia, Bulgaria
|
I put Trace nodes before and after the HTTPRequest node. Then I Realized that despite I unchecked "Generate default HTTP headers from input" opiton of the HTTPRequest node it (HTTPRequest node) generated these lines for the HTTP Request header:
POST /FlexService/FlexService.asmx/BackMeTime HTTP/1.1
Connection: close
Content-Length: 59
The problem is that for me it is like a black box. I need to find more deep knowledge how it works, but i can't find such information.
I realize that I should privide persistent connection in order to improve the performance, but the node generates: "Connection: close " in the http request header and thus instructs to close the session.
I just need to get rid of "Connection: close " ! _________________ Ivan Tumbev
MQ Series Administrator & Broker Developer
ICQ 344974669
ivan_tumbev@yahoo.com |
|
Back to top |
|
 |
mgk |
Posted: Thu Oct 26, 2006 11:53 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Hi,
Well I could be wrong about the fix-packs. It is possible you need FP2, or maybe FP1 of the Runtime is not properly installed? The automatic "Connection: close" header was removed in one of these fix-packs (I just can't remember which). Certainly it is possible to use the Request Node without the Connection close as I have done it, but I'm on FP2.
Regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
ivan8008 |
Posted: Thu Oct 26, 2006 12:22 pm Post subject: |
|
|
Novice
Joined: 26 Oct 2006 Posts: 17 Location: Sofia, Bulgaria
|
|
Back to top |
|
 |
mgk |
Posted: Thu Oct 26, 2006 1:12 pm Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Well, you can look for further articles on IBM's developer works, or if you have a specific question you could try asking on this forum.
Regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
ivan8008 |
Posted: Tue Oct 31, 2006 5:21 am Post subject: |
|
|
Novice
Joined: 26 Oct 2006 Posts: 17 Location: Sofia, Bulgaria
|
hi
Finally I installed Fix Pack 2 (v 6.0.0.2) and indeed the record "Connection: Close" disappeared from the http request header, but still I cannot achieve persistent connection....
I use HTTP 1.1 with Keep alive option.....
Any ideas?  _________________ Ivan Tumbev
MQ Series Administrator & Broker Developer
ICQ 344974669
ivan_tumbev@yahoo.com |
|
Back to top |
|
 |
|