Wireshark-users: Re: [Wireshark-users] Regarding server's acknowledgement to httpRequest sent
Date: Tue, 19 Aug 2008 20:22:23 +0300
Hi Naveen,
the resone that on case 1 you get first an ack and on the 2nd case you get both the answer and the ack in the same frame is becuase the time it takes to process each request. TCP will wait for a while and if it has some data to send with the ack it will send them together (and save the overhead of sending an empty packet just for the ack).
what you should ask yourself is way the first request takes longer to proccess?
first i would make sure it's consistenet between the two request, if it is them my first guess for way the first is longer is becuase it's a POST rather then a simple GET, you should try to see what happens in other POST and compare (even though i think a POST will alwas be longer then a GET, and bigger more complex packet then short simple ones, the question is how much, and if that is the real bottleneck of your application)
 
shafran
---------- Forwarded message ----------
From: naveen duniwal <mail_naveend@xxxxxxxxx>
To: wireshark-users@xxxxxxxxxxxxx
Date: Mon, 18 Aug 2008 18:28:36 +0530 (IST)
Subject: [Wireshark-users] Regarding server's acknowledgement to httpRequest sent
Hi,

I am working on a project for improving performance, for this I am using wireshare to observe time taken by response to come back for a particular request.

for some request's , I get server acknowledgment to that request and then later i get response for that request ( say it is case 1) , but for other request ( different request url ) I get server's acknowledgment and response in the same frame ( say it is case 2).

# Case 1
I am copying wireshark frames in this case.

Request sent
"788","83.609659","192.168.130.73","192.168.133.101","HTTP","POST /FXTrader/Workflow.do?requestURI=dropdownCcy&event=dropdownCcySelected&workflowMessage.ccyPair=USDJPY&workflowMessage.customField=DirectFXTrader_DirectFXTrader_Tradi    ngTab0_DealingRateCcPair5&workflowMessage.activetab=DirectFXTrader_TradingTab0&workflowMessage.index=5        &workflowMessage.resetCFs=false&workflowMessage.tenor=SPOT&workflowMessage.validate=tenor&workflowMessage.ccyCustomFieldsList= HTTP/1.1         (application/x-www-form-urlencoded)"

Server's acknowledgement to my request
"789","83.709141","192.168.133.101","192.168.130.73","TCP","http > pptp [ACK] Seq=86180 Ack=42783 Win=32767 Len=0"
    This is acknowledgement to the segment in frame in :788
  
Response to my request
"794","84.024469","192.168.133.101","192.168.130.73","HTTP/XML","HTTP/1.1 200 OK"
    <qtPanel><tenors val='SPOT~IMM1~IMM2~1W~2W~1M~2M'/><tenor val='SPOT'/> <isBD val='false'/></qtPanel>


# Case 2

Request Sent
"265","20.797080","192.168.130.73","192.168.133.101","HTTP","GET /jmsproxy/?cmd=P&uid=524504&c=20&wMs=5000&p=1&aIL=&rL=125&mI=125&mpt=250&lmc=20&QTpt=16&IRpt=0&sts=200&ld=18:216:230&ts=1219051797502&nTQ=11&nTI=3 HTTP/1.1"

This frame shows that it is Server's acknowledgement to my request as well as it contains response, so i am assuming that it is response.
"266","20.899251","192.168.133.101","192.168.130.73","HTTP","HTTP/1.1 200 OK (text/html)"
    This is acknowledgement to the segment in frame in :265

    <script>parent.p([["TQ",1,0,"TQAUDUSD",{"V":"AUD/USD~TRD2cbe1d01ed11bd5263b743ea9d7~USD~4~2~0.0~0.0~0.0~0.0~0.0~0.0~0~20080820~10000~1.0$T1    #0.6875#0.6850#2.5E7#3.0E7#A#0#0#$T2#0.6874#0.6851#5.0E7#6.0E7#A#0#0#$T3#0.6873#0.6852#7.5E7#9.0E7#A

So my doubt is why there is a difference between these two cases ? Actually my concern is that in case#1 , I am getting response after around 400ms but in case#2 that is only 100 ms.I want to modify my case#1 to reduce this delay.


I can think of following possible differences:
    1.    The size of the request is higher in case#1 as compared to case#2.
    2.    response is http/xml in  cases#1
    3.    content-type is application/x-www-form-urlencoded in Case#1.

I will appreciate any help or suggestiong in this regard.

Thanks in advance.

Regards
Naveen