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 - <[email protected]> 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 - <[email protected]> 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 <[email protected]> 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
