[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: httpapi speed



Haha, that's where I'm coming from.

-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Charles Wilt
Sent: Friday, May 30, 2014 2:16 PM
To: HTTPAPI and FTPAPI Projects
Subject: Re: httpapi speed

Try running it without debug turned on.

Charles


On Fri, May 30, 2014 at 7:45 AM, Sawatzki, Peter <Sawatzki@xxxxxxxxxxxx>
wrote:

> I added http_dmsg calls before and after comm_lineread and it seems 
> that the delay is during reading the first line returned from the server:
>
> HTTPAPI Ver 1.25beta2 released 2012-03-06
> OS/400 Ver V6R1M0
>
> 2014-05-30-13.15.01.574000 New iconv() objects set, PostRem=819.
> PostLoc=0. ProtRem=819. ProtLoc=0
> 2014-05-30-13.15.01.555000 http_persist_open(): entered
> 2014-05-30-13.15.02.173000 http_long_ParseURL(): entered
> 2014-05-30-13.15.02.187000 DNS resolver retrans: 2
> 2014-05-30-13.15.02.187000 DNS resolver retry  : 2
> 2014-05-30-13.15.02.187000 DNS resolver options: x'00000136'
> 2014-05-30-13.15.02.187000 DNS default domain: WESTFALIA.NET
> 2014-05-30-13.15.02.187000 DNS server found: 192.168.101.2
> 2014-05-30-13.15.02.187000 DNS server found: 192.168.101.14
> 2014-05-30-13.15.02.189000 http_persist_get(): entered
> 2014-05-30-13.15.02.190000 http_persist_req(GET) entered.
> 2014-05-30-13.15.02.190000 http_long_ParseURL(): entered
> 2014-05-30-13.15.02.190000 do_oper(GET): entered
> 2014-05-30-13.15.02.207000 There are 0 cookies in the cache GET 
> /ping.htm HTTP/1.1
> Host: 192.168.101.5
> User-Agent: http-api/1.24
>
>
> 2014-05-30-13.15.02.208000 recvresp(): entered
> 2014-05-30-13.15.02.208000 before comm_lineread
> HTTP/1.1 200 OK
>
> 2014-05-30-13.15.02.491000 after comm_lineread
> 2014-05-30-13.15.02.491000 before comm_lineread
> Content-Type: text/html
>
> 2014-05-30-13.15.02.491000 after comm_lineread
> 2014-05-30-13.15.02.491000 before comm_lineread
> Last-Modified: Fri, 30 May 2014 07:45:28 GMT
>
> 2014-05-30-13.15.02.491000 after comm_lineread
> 2014-05-30-13.15.02.491000 before comm_lineread
> Accept-Ranges: bytes
>
> 2014-05-30-13.15.02.492000 after comm_lineread
> 2014-05-30-13.15.02.492000 before comm_lineread
> ETag: "a895b20db7bcf1:0"
>
> 2014-05-30-13.15.02.492000 after comm_lineread
> 2014-05-30-13.15.02.492000 before comm_lineread
> Server: Microsoft-IIS/7.5
>
> 2014-05-30-13.15.02.492000 after comm_lineread
> 2014-05-30-13.15.02.492000 before comm_lineread
> X-Powered-By: ASP.NET
>
> 2014-05-30-13.15.02.492000 after comm_lineread
> 2014-05-30-13.15.02.492000 before comm_lineread
> Date: Fri, 30 May 2014 11:15:02 GMT
>
> 2014-05-30-13.15.02.492000 after comm_lineread
> 2014-05-30-13.15.02.492000 before comm_lineread
> Content-Length: 4
>
> 2014-05-30-13.15.02.492000 after comm_lineread
> 2014-05-30-13.15.02.492000 before comm_lineread
>
>
> 2014-05-30-13.15.02.492000 after comm_lineread
> 2014-05-30-13.15.02.492000 SetError() #13: HTTP/1.1 200 OK
> 2014-05-30-13.15.02.492000 recvresp(): end with 200
> 2014-05-30-13.15.02.493000 recvdoc parms: identity 4
> 2014-05-30-13.15.02.501000 header_load_cookies() entered
> 2014-05-30-13.15.02.504000 recvdoc(): entered
> 2014-05-30-13.15.02.504000 SetError() #0:
> pong
> 2014-05-30-13.15.02.504000 http_persist_get(): entered
> 2014-05-30-13.15.02.504000 http_persist_req(GET) entered.
> 2014-05-30-13.15.02.504000 http_long_ParseURL(): entered
> 2014-05-30-13.15.02.505000 do_oper(GET): entered
> 2014-05-30-13.15.02.505000 There are 0 cookies in the cache GET 
> /ping.htm HTTP/1.1
> Host: 192.168.101.5
> User-Agent: http-api/1.24
>
> -----Original Message-----
> From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:
> ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Sawatzki, Peter
> Sent: Friday, May 30, 2014 12:01 PM
> To: 'HTTPAPI and FTPAPI Projects'
> Subject: RE: httpapi speed
>
> Scott,
>
> I implemented the changes you suggested in my test program but 
> unfortunatly the performance didn't impoved at all.
>
> To further eliminate any other issues I may have I used a toString 
> procedure that does nothing (just returns the length) and I'm 
> reuqsting a simple static htm file that has only "pong" as a contents 
> (4 bytes). So I'm simply calling "http://192.168.101.5/ping.htm";.
>
> Here is a log file of the requests, it seems that most of the time is 
> spent receiving the data from the web server ("recvresp() entered":
>
>
> HTTPAPI Ver 1.25beta2 released 2012-03-06
> OS/400 Ver V6R1M0
>
>
> 2014-05-30-11.48.35.494000 http_persist_open(): entered
> 2014-05-30-11.48.35.494000 http_long_ParseURL(): entered
> 2014-05-30-11.48.35.494000 DNS resolver retrans: 2
> 2014-05-30-11.48.35.494000 DNS resolver retry  : 2
> 2014-05-30-11.48.35.494000 DNS resolver options: x'00000136'
> 2014-05-30-11.48.35.494000 DNS default domain: WESTFALIA.NET
> 2014-05-30-11.48.35.494000 DNS server found: 192.168.101.2
> 2014-05-30-11.48.35.494000 DNS server found: 192.168.101.14
> 2014-05-30-11.48.35.495000 http_persist_get(): entered
> 2014-05-30-11.48.35.495000 http_persist_req(GET) entered.
> 2014-05-30-11.48.35.495000 http_long_ParseURL(): entered
> 2014-05-30-11.48.35.495000 do_oper(GET): entered
> 2014-05-30-11.48.35.495000 There are 0 cookies in the cache GET 
> /ping.htm
> HTTP/1.1
> Host: 192.168.101.5
> User-Agent: http-api/1.24
>
>
> 2014-05-30-11.48.35.495000 recvresp(): entered
> HTTP/1.1 200 OK
> Content-Type: text/html
> Last-Modified: Fri, 30 May 2014 07:45:28 GMT
> Accept-Ranges: bytes
> ETag: "a895b20db7bcf1:0"
> Server: Microsoft-IIS/7.5
> X-Powered-By: ASP.NET
> Date: Fri, 30 May 2014 09:48:35 GMT
> Content-Length: 4
>
>
> 2014-05-30-11.48.35.696000 SetError() #13: HTTP/1.1 200 OK
> 2014-05-30-11.48.35.696000 recvresp(): end with 200
> 2014-05-30-11.48.35.696000 recvdoc parms: identity 4
> 2014-05-30-11.48.35.696000 header_load_cookies() entered
> 2014-05-30-11.48.35.696000 recvdoc(): entered
> 2014-05-30-11.48.35.696000 SetError() #0:
> pong
> 2014-05-30-11.48.35.696000 http_persist_get(): entered
> 2014-05-30-11.48.35.696000 http_persist_req(GET) entered.
> 2014-05-30-11.48.35.696000 http_long_ParseURL(): entered
> 2014-05-30-11.48.35.696000 do_oper(GET): entered
> 2014-05-30-11.48.35.696000 There are 0 cookies in the cache GET 
> /ping.htm
> HTTP/1.1
> Host: 192.168.101.5
> User-Agent: http-api/1.24
>
>
> 2014-05-30-11.48.35.696000 recvresp(): entered
> HTTP/1.1 200 OK
> Content-Type: text/html
> Last-Modified: Fri, 30 May 2014 07:45:28 GMT
> Accept-Ranges: bytes
> ETag: "a895b20db7bcf1:0"
> Server: Microsoft-IIS/7.5
> X-Powered-By: ASP.NET
> Date: Fri, 30 May 2014 09:48:35 GMT
> Content-Length: 4
>
>
> 2014-05-30-11.48.35.912000 SetError() #13: HTTP/1.1 200 OK
> 2014-05-30-11.48.35.912000 recvresp(): end with 200
> 2014-05-30-11.48.35.912000 recvdoc parms: identity 4
> 2014-05-30-11.48.35.912000 header_load_cookies() entered
> 2014-05-30-11.48.35.912000 recvdoc(): entered
> 2014-05-30-11.48.35.912000 SetError() #0:
> pong
> 2014-05-30-11.48.35.912000 http_persist_get(): entered
> 2014-05-30-11.48.35.912000 http_persist_req(GET) entered.
> 2014-05-30-11.48.35.912000 http_long_ParseURL(): entered
> 2014-05-30-11.48.35.912000 do_oper(GET): entered
> 2014-05-30-11.48.35.912000 There are 0 cookies in the cache GET 
> /ping.htm
> HTTP/1.1
> Host: 192.168.101.5
> User-Agent: http-api/1.24
>
>
> 2014-05-30-11.48.35.912000 recvresp(): entered
> HTTP/1.1 200 OK
> Content-Type: text/html
> Last-Modified: Fri, 30 May 2014 07:45:28 GMT
> Accept-Ranges: bytes
> ETag: "a895b20db7bcf1:0"
> Server: Microsoft-IIS/7.5
> X-Powered-By: ASP.NET
> Date: Fri, 30 May 2014 09:48:35 GMT
> Content-Length: 4
>
>
> 2014-05-30-11.48.36.115000 SetError() #13: HTTP/1.1 200 OK
> 2014-05-30-11.48.36.115000 recvresp(): end with 200
> 2014-05-30-11.48.36.115000 recvdoc parms: identity 4
> 2014-05-30-11.48.36.115000 header_load_cookies() entered
> 2014-05-30-11.48.36.115000 recvdoc(): entered
> 2014-05-30-11.48.36.115000 SetError() #0:
> pong
> 2014-05-30-11.48.36.115000 http_persist_get(): entered
> 2014-05-30-11.48.36.115000 http_persist_req(GET) entered.
> 2014-05-30-11.48.36.115000 http_long_ParseURL(): entered
> 2014-05-30-11.48.36.115000 do_oper(GET): entered
> 2014-05-30-11.48.36.115000 There are 0 cookies in the cache GET 
> /ping.htm
> HTTP/1.1
> Host: 192.168.101.5
> User-Agent: http-api/1.24
>
> -----Original Message-----
> From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:
> ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Scott Klement
> Sent: Wednesday, May 28, 2014 7:25 PM
> To: HTTPAPI and FTPAPI Projects
> Subject: Re: httpapi speed
>
> Peter,
>
> When you're connecting to the same server repeatedly, I would 
> recommend using the persistent APIs.  They have the ability to create 
> a single connection, and then re-use that connection for multiple 
> requests.  This should greatly improve performance.
>
>
> D comm            s               *
>
>
>   /free
>
>       comm = http_persist_open( url );
>
>       if comm = *null;
>          http_crash();
>       endif;
>
>       for x = 1 to 1000;
>
>          rci = http_persist_get( comm: url: 0: %paddr( toString ));
>
>          if rci <> 1;
>           // handle error
>          endif;
>
>       endfor;
>
>       http_persist_close(comm);
>
>
> On 5/28/2014 5:24 AM, Sawatzki, Peter wrote:
> > I'm unsure whether we are doing something wrong: we are using 
> > httpapi
> successfully in several different projects however I'm wondering why 
> the
> AS/400 is much slower than for example a simple PC that issues a request.
> >
> > To nail this down I wrote a simple web service that can be called 
> > with a GET and that returns a fixed string. The get is called with 
> > this code
> >
> > Rci = http_url_get_raw( Url : 0 : %PAddr( toString ) );
> >
> > in a loop 1000 times.
> >
> > On the PC (client) side I have a simple Delphi app that does
> >
> >   For i:= 1 to 1000 do Idhttp.get(Url);
> >
> > Where URL is
> > http://192.168.101.27/dwhsvc/dwhsvc.dll/datasnap/rest/TServermethods
> > /p
> > ing
> >
> > And the service responds with "pong". 192.168.101.27 is located in 
> > the
> same subnet as the AS/400.
> >
> > The AS/400 takes 210 seconds to issue 1000 calls, the PC takes less 
> > than
> two seconds (or 13 seconds for 10,000 calls).
> >
> > Any idea what I'm doing wrong on the AS/400 side ?
> >
> > Peter
> >
> >
> >
> > --------------------------------------------------------------------
> > --
> > - This is the FTPAPI mailing list.  To unsubscribe, please go to:
> > http://www.scottklement.com/mailman/listinfo/ftpapi
> > --------------------------------------------------------------------
> > --
> > -
> >
>
> ----------------------------------------------------------------------
> - This is the FTPAPI mailing list.  To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> ----------------------------------------------------------------------
> -
> ----------------------------------------------------------------------
> - This is the FTPAPI mailing list.  To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> ----------------------------------------------------------------------
> -
> ----------------------------------------------------------------------
> - This is the FTPAPI mailing list.  To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> ----------------------------------------------------------------------
> -
>
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------