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

RE: httpapi speed



Does anyone have cURL installed on their IBMi? I am curious how it performs versus HTTPAPI.



-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Sawatzki, Peter
Sent: Wednesday, May 28, 2014 4:18 PM
To: HTTPAPI and FTPAPI Projects
Subject: AW: httpapi speed

Scott,

thanks, we will try this. I was not aware of these methods. 

(And I guess this is already the solution  to my speed problems: I had an app written in C on the AS/400 that was performing really slow when it retrieved data via TCP from a custom server and it turned out that the performance killer was opening and closing the connection.)

Peter

-----Ursprüngliche Nachricht-----
Von: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] Im Auftrag von Scott Klement
Gesendet: Mittwoch, 28. Mai 2014 19:25
An: HTTPAPI and FTPAPI Projects
Betreff: 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
-----------------------------------------------------------------------