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

Re: httpapi speed



   Try running it without debug turned on.
   Charles

   On Fri, May 30, 2014 at 7:45 AM, Sawatzki, Peter
   <[1]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

     [2]2014-05-30-13.15.01.574000 New iconv() objects set, PostRem=819.
     PostLoc=0. ProtRem=819. ProtLoc=0
     [3]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: [4]WESTFALIA.NET
     [5]2014-05-30-13.15.02.187000 DNS server found: 192.168.101.2
     [6]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

     [7]2014-05-30-13.15.02.208000 recvresp(): entered
     [8]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

     [9]2014-05-30-13.15.02.491000 after comm_lineread
     [10]2014-05-30-13.15.02.491000 before comm_lineread
     Accept-Ranges: bytes
     [11]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: [12]ASP.NET
     [13]2014-05-30-13.15.02.492000 after comm_lineread
     [14]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: [15]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   [mailto:[16]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 "[17]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
   [18]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: [19]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: [20]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: [21]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: [22]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: [23]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   [mailto:[24]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
   >
   [25]http://192.168.101.27/dwhsvc/dwhsvc.dll/datasnap/rest/TServermethod
   s/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:
   > [26]http://www.scottklement.com/mailman/listinfo/ftpapi
   >
   ----------------------------------------------------------------------
   > -
   >
   -----------------------------------------------------------------------
   This is the FTPAPI mailing list. �To unsubscribe, please go to:
   [27]http://www.scottklement.com/mailman/listinfo/ftpapi
   -----------------------------------------------------------------------
   -----------------------------------------------------------------------
   This is the FTPAPI mailing list. �To unsubscribe, please go to:
   [28]http://www.scottklement.com/mailman/listinfo/ftpapi
   -----------------------------------------------------------------------
   -----------------------------------------------------------------------
   This is the FTPAPI mailing list. �To unsubscribe, please go to:
   [29]http://www.scottklement.com/mailman/listinfo/ftpapi
   -----------------------------------------------------------------------

References

   1. mailto:Sawatzki@xxxxxxxxxxxx
   2. tel:2014-05-30-13
   3. tel:2014-05-30-13
   4. http://WESTFALIA.NET/
   5. tel:2014-05-30-13
   6. tel:2014-05-30-13
   7. tel:2014-05-30-13
   8. tel:2014-05-30-13
   9. tel:2014-05-30-13
  10. tel:2014-05-30-13
  11. tel:2014-05-30-13
  12. http://ASP.NET/
  13. tel:2014-05-30-13
  14. tel:2014-05-30-13
  15. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  16. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  17. http://192.168.101.5/ping.htm
  18. tel:2014-05-30-11
  19. http://WESTFALIA.NET/
  20. http://ASP.NET/
  21. http://ASP.NET/
  22. http://ASP.NET/
  23. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  24. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  25. http://192.168.101.27/dwhsvc/dwhsvc.dll/datasnap/rest/TServermethods/p
  26. http://www.scottklement.com/mailman/listinfo/ftpapi
  27. http://www.scottklement.com/mailman/listinfo/ftpapi
  28. http://www.scottklement.com/mailman/listinfo/ftpapi
  29. 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
-----------------------------------------------------------------------