[Glass] rest api returning large result

Otto Behrens otto at finworks.biz
Sat May 25 01:32:19 PDT 2024


Johan, this is magic, thanks a lot. Wow

On Sat, 25 May 2024, 09:11 Johan Brichau via Glass, <
glass at lists.gemtalksystems.com> wrote:

> Other observations (before I head off doing other worldly things one has
> to do on Saturdays ;-):
>
> - Changing `ZnUtils>>streamingBufferSize` from 16384 to 163840 (i.e. x10)
> also improves the performance (as expected) to 4s response time for the
> 55MB file
> - In Pharo, the same code is used and there it takes 3s for the same file,
> same code (not quite the same Zinc version though, but the methods I
> mentioned are still the same)
>
> Johan
>
> On 25 May 2024, at 08:57, Johan Brichau <johan at yesplan.be> wrote:
>
> The problem seems to be in `ZnUtils>>nextPutAll:on:` that splits the
> collection into chunks to write it to the Socket.
> When I remove that method and just pass through the writing of the
> collection as `stream nextPutAll: collection`, I go from 39s to 1s (see
> below, before and after)
>
> Now: understand why that piece of code is there and if it’s needed or not
> :-)
>
> Johan
>
> johanbrichau at JohansMacBookAir ~ % time curl http://localhost:8383/test
> --output bla.txt
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
>  Current
>                                  Dload  Upload   Total   Spent    Left
>  Speed
> 100 55.2M  100 55.2M    0     0  1465k      0  0:00:38  0:00:38 --:--:--
> 1476k
> curl http://localhost:8383/test -output bla.txt  0.04s user 0.14s system
> 0% cpu 38.657 total
>
>
> johanbrichau at JohansMacBookAir ~ % time curl http://localhost:8383/test
> --output bla.txt
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
>  Current
>                                  Dload  Upload   Total   Spent    Left
>  Speed
> 100 55.2M  100 55.2M    0     0  45.0M      0  0:00:01  0:00:01 --:--:--
> 45.0M
> curl http://localhost:8383/test --output bla.txt  0.01s user 0.07s system
> 6% cpu 1.255 total
>
>
> On 23 May 2024, at 23:45, Johan Brichau <johan at yesplan.be> wrote:
>
> Hi Otto,
>
> On 20 May 2024, at 19:08, Otto Behrens <otto at finworks.biz> wrote:
>
> Okay, I’ll give that a try and see what I can get when using the Zinc
> adaptor in GemStone…
>
>
>
> It took me a bit longer to actually get started since I wanted to debug
> this on my Mac using a GsDevKit_stones setup and I had to dig into another
> rabbit hole first :-)
> Anyway, I setup the simple handler below and I can confirm also notice
> that a file of 60MB takes 40s to be served and 28MB takes 10s.
>
> In Pharo, the 60MB file takes 3s.
> I’ll dive into this a bit more tomorrow…..
>
> get
>
> <get>
> <path: '/'>
> <produces: 'application/json'>
>
> | file |
> file := GsFile openReadOnServer: '/Users/johanbrichau/testfile'.
> ^ file contents
>
>
>
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> https://lists.gemtalksystems.com/mailman/listinfo/glass
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/archives/glass/attachments/20240525/56868399/attachment-0001.htm>


More information about the Glass mailing list