<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 20, 2017 at 10:11 PM, Paul DeBruicker <span dir="ltr"><<a href="mailto:pdebruic@gmail.com" target="_blank">pdebruic@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Are you using HTTP/2 in your nginx config?<br>
<a href="https://en.wikipedia.org/wiki/HTTP/2" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/<wbr>HTTP/2</a>  It both multiplexes & pipelines<br>
requests so the browser's limits have less, if no effect.<br>
<br></blockquote><div><br></div><div>Yes, this is very interesting idea. Do you have such a setup working with Seaside and GemStone?</div><div>I am compiling now newer version of nginx with ALPN support and correct version of SSL on CentOS7. </div><div>But I am not sure what else must be done to close the loop so that to be sure HTTP2 is used everywhere. </div><div>Do I need to do something on the Seaside adaptors? </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
Could also maybe adapt the functionality of the lazy-loading code that is<br>
sometimes used for images.  If the report isn't on the screen & hasn't been<br>
scrolled to do you really need it in the DOM?<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
Mariano Martinez Peck wrote<br>
<div><div class="h5">> Hi guys,<br>
><br>
> In my app I have one scenario where we render huge reports. These reports<br>
> could have say... 20/30 large tables as well as quite some charts and some<br>
> other report elements.<br>
><br>
> Previously we were using a single ajax request to generate the whole<br>
> report<br>
> html but that was a pain because client machine would have a really large<br>
> TTFB. So I was wasting CPU and network at client machine while waiting.<br>
><br>
> What we did now is that each report element renders a title + spinning<br>
> while and does an ajax request which, on success does a #replaceWith:<br>
> with<br>
> the real contents. The idea is to show the report as soon as possible and<br>
> start replacing spinning wheels with real contents as soon as content is<br>
> ready. That way I maximize CPU and network on client side.<br>
><br>
> The second thing is that making this on AJAX calls, that would end up on<br>
> different Gems on my GemStone which was very performant. I have 10 Seaside<br>
> gems on a 8 cores CPU so all those AJAX request were load balanced via<br>
> nginx over the 10 seaside gems, which on the other hand were split across<br>
> all cores. Previously, with a single request, only one Gem took care and<br>
> hence only one CPU core was used.<br>
><br>
> This change was nice and improved performance. However, when I analyze<br>
> requests, I see that I have many that are "Stalled". And yeah, on Chrome,<br>
> they are all stalled when there is more than 6 requests to the same<br>
> location.<br>
><br>
> To conclude, it looks like i am doing what is called "Loading page content<br>
> with many Ajax requests" [1]. But I still don't find an easy workaround. I<br>
> would like to be able to use my 10 Gems over the 8 CPU cores....<br>
><br>
> Any idea?<br>
><br>
> Thanks in advance,<br>
><br>
><br>
> [1]<br>
> <a href="http://sgdev-blog.blogspot.com.ar/2014/01/maximum-concurrent-connection-to-same.html" rel="noreferrer" target="_blank">http://sgdev-blog.blogspot.<wbr>com.ar/2014/01/maximum-<wbr>concurrent-connection-to-same.<wbr>html</a><br>
><br>
><br>
> --<br>
> Mariano<br>
> <a href="http://marianopeck.wordpress.com" rel="noreferrer" target="_blank">http://marianopeck.wordpress.<wbr>com</a><br>
><br>
</div></div>> ______________________________<wbr>_________________<br>
> seaside mailing list<br>
<br>
> seaside@.squeakfoundation<br>
<br>
> <a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" rel="noreferrer" target="_blank">http://lists.squeakfoundation.<wbr>org/cgi-bin/mailman/listinfo/<wbr>seaside</a><br>
<br>
<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://forum.world.st/Workaround-to-browser-maximum-connection-limit-tp4939444p4939450.html" rel="noreferrer" target="_blank">http://forum.world.st/<wbr>Workaround-to-browser-maximum-<wbr>connection-limit-<wbr>tp4939444p4939450.html</a><br>
Sent from the Seaside General mailing list archive at Nabble.com.<br>
______________________________<wbr>_________________<br>
seaside mailing list<br>
<a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.<wbr>squeakfoundation.org</a><br>
<a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" rel="noreferrer" target="_blank">http://lists.squeakfoundation.<wbr>org/cgi-bin/mailman/listinfo/<wbr>seaside</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br></div>
</div></div>