[Glass] rest api returning large result

Paul DeBruicker pdebruic at gmail.com
Mon May 20 17:50:56 PDT 2024


Oh also - I wonder if you're hitting the request timeout so retry logic 
the Seaside/GemStone handlers have.  It would take no time in a profiler 
but cause the response generation to happen up to 10 times.




On 5/20/24 23:46, Paul DeBruicker wrote:
> Have you tried the WAGsZincStreamingServerAdaptor or WAStreamedResponse 
> classes?
> 
> In the WAGsZincStreamingServerAdaptor you'd need to override the 
> #responseTo: method to use the WAStreamedResponse explicitly to get rid 
> of all adaptor buffering.  *I think*
> 
> 
> Not sure that it would help but they're there and when I was messing 
> with this https://github.com/SeasideSt/Seaside/pull/1319 I think they 
> were working OK.
> 
> 
> 
> On 5/20/24 17:08, Otto Behrens via Glass wrote:
>>     Okay, I’ll give that a try and see what I can get when using the
>>     Zinc adaptor in GemStone…
>>
>>
>> Thanks
>>
>>     Btw, if you have the file on disk, consider using X-Sendfile
>>     protocol to nginx.
>>     Something like this, where ‘document url’ is the url where it is
>>     reachable through nginx:
>>
>>
>> Yes, we use this extensively. We serve pdf documents and things like 
>> that. The rest API data can possibly also be written to a file. But 
>> not for all the api endpoints, maybe for this specific one that's 
>> giving us trouble. But that surely just bypasses the issue?
>>
>>     self requestContext
>>     respond: [ :response |
>>     response headerAt: 'X-Accel-Redirect' put: document url ]
>>
>>>         I’m using FastCGI in production, and serving large json files
>>>         as well. Did not see this performance issue pop up though.
>>>
>>>
>>>     O dear, we did use FastCGI many moons ago and ended up reverting
>>>     to an HTTP proxy. It was a bit easier to work with as HTTP is more
>>>     readable, but I just remember it was a bit of a battle.
>>
>>     I would not recommend it anymore in the sense that the protocol
>>     itself is outdated and prohibits things like websockets.
>>     But I mentioned it to say that the performance issue might very well
>>     be in the Zinc Adaptor for GemStone.
>>     _______________________________________________
>>     Glass mailing list
>>     Glass at lists.gemtalksystems.com 
>> <mailto:Glass at lists.gemtalksystems.com>
>>     https://lists.gemtalksystems.com/mailman/listinfo/glass
>>     <https://lists.gemtalksystems.com/mailman/listinfo/glass>
>>
>>
>> _______________________________________________
>> Glass mailing list
>> Glass at lists.gemtalksystems.com
>> https://lists.gemtalksystems.com/mailman/listinfo/glass


More information about the Glass mailing list