You never mentioned you were testing the synchronous methods of the
component, that is not a fair test of ICS performance, you should be
using proper events and the async component methods.


I'm observing the same issue with async calls though, did the same test
from above but this time with PostAsync, waited for RequestDone: 49 seconds.



On Mon, Apr 18, 2016 at 6:06 PM, brian - <hikarito...@gmail.com> wrote:

> Captured with Microsoft Network Monitor, non-SSL post to my server:
>
> Synapse: 3.8s http://pasted.co/1f69a8a8
> ICS: 46.5s
> https://mega.nz/#!b05jyRzT!hLB8_xKHeHJyRb7nAXcQDM2mv0_RW9uf4y-iN3e6gkc
> (too large for text paste sites)
>
> few lines from each:
>
> Frame, time, time offset, process, source, destination, protocol,
> description, conv id
>
> SYN
> 520    17:41:32 2016-Apr-18    10.0849405    Project1.exe
> 192.168.0.2    **dest host**    TCP    TCP:[Continuation to
> #474]Flags=...A...., SrcPort=58338, DstPort=HTTP(80), PayloadLen=1436,
> Seq=61535050 - 61536486, Ack=220751404, Win=258 (scale factor 0x8) =
> 66048    {TCP:75, IPv4:18}
> 521    17:41:32 2016-Apr-18    10.0849470    Project1.exe
> 192.168.0.2    **dest host**    TCP    TCP:[Continuation to
> #474]Flags=...A...., SrcPort=58338, DstPort=HTTP(80), PayloadLen=1436,
> Seq=61536486 - 61537922, Ack=220751404, Win=258 (scale factor 0x8) =
> 66048    {TCP:75, IPv4:18}
> 522    17:41:32 2016-Apr-18    10.1643870    Project1.exe    **dest
> host**    192.168.0.2    TCP    TCP:Flags=...A...., SrcPort=HTTP(80),
> DstPort=58338, PayloadLen=0, Seq=220751404, Ack=61391450, Win=1167 (scale
> factor 0x7) = 149376    {TCP:75, IPv4:18}
> 523    17:41:32 2016-Apr-18    10.1644469    Project1.exe
> 192.168.0.2    **dest host**    TCP    TCP:[Continuation to
> #474]Flags=...A...., SrcPort=58338, DstPort=HTTP(80), PayloadLen=1436,
> Seq=61537922 - 61539358, Ack=220751404, Win=258 (scale factor 0x8) =
> 66048    {TCP:75, IPv4:18}
> 524    17:41:32 2016-Apr-18    10.1644572    Project1.exe
> 192.168.0.2    **dest host**    TCP    TCP:[Continuation to
> #474]Flags=...A...., SrcPort=58338, DstPort=HTTP(80), PayloadLen=1436,
> Seq=61539358 - 61540794, Ack=220751404, Win=258 (scale factor 0x8) =
> 66048    {TCP:75, IPv4:18}
> 525    17:41:32 2016-Apr-18    10.1647476    Project1.exe    **dest
> host**    192.168.0.2    TCP    TCP:Flags=...A...., SrcPort=HTTP(80),
> DstPort=58338, PayloadLen=0, Seq=220751404, Ack=61394322, Win=1167 (scale
> factor 0x7) = 149376    {TCP:75, IPv4:18}
> 526    17:41:32 2016-Apr-18    10.1647476    Project1.exe    **dest
> host**    192.168.0.2    TCP    TCP:Flags=...A...., SrcPort=HTTP(80),
> DstPort=58338, PayloadLen=0, Seq=220751404, Ack=61397194, Win=1167 (scale
> factor 0x7) = 149376    {TCP:75, IPv4:18}
> 527    17:41:32 2016-Apr-18    10.1647476    Project1.exe    **dest
> host**    192.168.0.2    TCP    TCP:Flags=...A...., SrcPort=HTTP(80),
> DstPort=58338, PayloadLen=0, Seq=220751404, Ack=61402938, Win=1167 (scale
> factor 0x7) = 149376    {TCP:75, IPv4:18}
> 528    17:41:32 2016-Apr-18    10.1647731    Project1.exe
> 192.168.0.2    **dest host**    TCP    TCP:[Continuation to
> #474]Flags=...A...., SrcPort=58338, DstPort=HTTP(80), PayloadLen=1436,
> Seq=61540794 - 61542230, Ack=220751404, Win=258 (scale factor 0x8) =
> 66048    {TCP:75, IPv4:18}
> 529    17:41:32 2016-Apr-18    10.1647817    Project1.exe
> 192.168.0.2    **dest host**    TCP    TCP:[Continuation to
> #474]Flags=...A...., SrcPort=58338, DstPort=HTTP(80), PayloadLen=1436,
> Seq=61542230 - 61543666, Ack=220751404, Win=258 (scale factor 0x8) =
> 66048    {TCP:75, IPv4:18}
>
> ICS
> 2251    17:50:17 2016-Apr-18    177.9631709    Project1.exe
> 192.168.0.2     **dest host**    HTTP    HTTP:HTTP Payload, URL:
> /test/upload.php     {HTTP:289, TCP:288, IPv4:18}
> 2252    17:50:17 2016-Apr-18    177.9631750    Project1.exe
> 192.168.0.2     **dest host**    TCP    TCP:[Continuation to
> #2251]Flags=...AP..., SrcPort=58460, DstPort=HTTP(80), PayloadLen=24,
> Seq=458800455 - 458800479, Ack=3147579723, Win=258 (scale factor 0x8) =
> 66048    {TCP:288, IPv4:18}
> 2253    17:50:17 2016-Apr-18    177.9631908    Project1.exe
> 192.168.0.2     **dest host**    HTTP    HTTP:HTTP Payload, URL:
> /test/upload.php     {HTTP:289, TCP:288, IPv4:18}
> 2254    17:50:17 2016-Apr-18    177.9631942    Project1.exe
> 192.168.0.2     **dest host**    TCP    TCP:[Continuation to
> #2253]Flags=...AP..., SrcPort=58460, DstPort=HTTP(80), PayloadLen=24,
> Seq=458801915 - 458801939, Ack=3147579723, Win=258 (scale factor 0x8) =
> 66048    {TCP:288, IPv4:18}
> 2255    17:50:17 2016-Apr-18    177.9632252    Project1.exe
> 192.168.0.2     **dest host**    HTTP    HTTP:HTTP Payload, URL:
> /test/upload.php     {HTTP:289, TCP:288, IPv4:18}
> 2256    17:50:17 2016-Apr-18    177.9632296    Project1.exe
> 192.168.0.2     **dest host**    TCP    TCP:[Continuation to
> #2255]Flags=...AP..., SrcPort=58460, DstPort=HTTP(80), PayloadLen=24,
> Seq=458803375 - 458803399, Ack=3147579723, Win=258 (scale factor 0x8) =
> 66048    {TCP:288, IPv4:18}
> 2257    17:50:17 2016-Apr-18    177.9632594    Project1.exe
> 192.168.0.2     **dest host**    HTTP    HTTP:HTTP Payload, URL:
> /test/upload.php     {HTTP:289, TCP:288, IPv4:18}
> 2258    17:50:17 2016-Apr-18    177.9632631    Project1.exe
> 192.168.0.2     **dest host**    TCP    TCP:[Continuation to
> #2257]Flags=...AP..., SrcPort=58460, DstPort=HTTP(80), PayloadLen=24,
> Seq=458804835 - 458804859, Ack=3147579723, Win=258 (scale factor 0x8) =
> 66048    {TCP:288, IPv4:18}
> 2259    17:50:17 2016-Apr-18    178.0811555    Project1.exe    **dest
> host**    192.168.0.2     TCP    TCP:Flags=...A...., SrcPort=HTTP(80),
> DstPort=58460, PayloadLen=0, Seq=3147579723, Ack=458800479, Win=501 (scale
> factor 0x7) = 64128    {TCP:288, IPv4:18}
> 2260    17:50:17 2016-Apr-18    178.0811555    Project1.exe    **dest
> host**    192.168.0.2     TCP    TCP:Flags=...A...., SrcPort=HTTP(80),
> DstPort=58460, PayloadLen=0, Seq=3147579723, Ack=458801939, Win=501 (scale
> factor 0x7) = 64128    {TCP:288, IPv4:18}
>
>
>
> On Mon, Apr 18, 2016 at 5:14 PM, brian - <hikarito...@gmail.com> wrote:
>
>> Hm not sure if you can see my previous thread messages, I did some little
>> analysis:
>>
>> ICS: ~23s, 377 x 8KB, 55-60ms between packets:
>> http://pastebin.com/Uq5mphUH
>> ICS @ 64KB: ~22s, 48 x 64KB, 450-470ms between packets:
>> http://pastebin.com/wTat71Qe
>> SYN: ~6s, 49 x 64KB, 110-120ms between packets:
>> http://pastebin.com/g5svt11P
>> Indy: ~9s, 95 x 32KB, 70-80ms between packets:
>> http://pastebin.com/Dt2PydTR
>> WinInet: ~6s, 190 x ~16KB, 5-55ms between packets,
>> http://pastebin.com/jZLvua5u
>>
>> then tried to log timings through various stages of the post, albeit not
>> being that helpful, I think the main issue lies on OverbyteIcsHttpProt
>> around
>>
>>     while FState <> httpReady do begin
>>>       {$IFDEF MSWINDOWS}
>>>         if MsgWaitForMultipleObjects(0, Pointer(nil)^, FALSE, 1000,
>>>                                      QS_ALLINPUT) = WAIT_OBJECT_0 then
>>>       {$ENDIF}
>>>             MessagePump;
>>>
>>
>> I'll check on wireshark.
>>
>>
>> On Mon, Apr 18, 2016 at 4:44 PM, RTT <p...@sapo.pt> wrote:
>>
>>> On 18/04/2016 15:15, brian - wrote:
>>>
>>>> I know ICS is made for free by volunteers, I'm not expecting/demanding a
>>>> fix, but I think this is an issue that we could look into to try to
>>>> find a
>>>> solution/find the core problem together.
>>>>
>>>
>>> To start, you could compare the characteristics of the packets being
>>> sent (e.g. using Wireshark), and the times involved, so we can get a
>>> general idea of what is being done differently in these HTTP components.
>>> Maybe this general analyzes offers the clues for what code needs to be
>>> optimized/profiled.
>>>
>>> --
>>> To unsubscribe or change your settings for TWSocket mailing list
>>> please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
>>> Visit our website at http://www.overbyte.be
>>>
>>
>>
>
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to