The Author Online Book Forums are Moving

The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

slangley (2) [Avatar] Offline
#1
Have you run into issues with using too many concurrent Ext.Ajax requests?

I read here that Ext JS doesn't have any native support for queuing its AJAX requests and this causes issues, especially with IE7:

http://www.sencha.com/forum/showthread.php?19171-2.0rc1-Queue-for-concurrent-Ajax-calls

I have this application where a huge amount of server interaction is going on (update views, send data, periodically update data etc.).

There may be cases when more than 2 ajax calls are being made to the server. The Internet Explorer, for example, states itself as standard compliant and does not allow to open more than 2 simultaneously connections from the browser to the server (that goes for HTTP1.1. Using HTTP1.0, IE will allow 4 concurrent connections) - thus, any previously made XMLHttpRequest may be cancelled without even triggering some sort of exception, AFAIK.


Microsoft says IE7 supports 2 to 4 such concurrent AJAX requests and IE8 supports 6:
http://msdn.microsoft.com/en-us/library/cc304129%28VS.85%29.aspx

As of September 29, 2009, the official Ext JS answer was:

http://www.sencha.com/forum/showthread.php?19171-2.0rc1-Queue-for-concurrent-Ajax-calls&p=392333#post392333

In general you should avoid generating many simultaneous requests at the same time. One way to combat this is to use batching with a technology like Ext.Direct to batch together your calls and minimize the HTTP pipeline.

We have considered adding a queuing mechanism but at this time it is not on our roadmap. It's a difficult thing to balance, adding functionality, keeping your file size small, preventing unnecessary complexity and making the lib perform well.

Aaron Conran
Ext JS - Core Development Team


The workaround posted at the top of the first thread seems to fix the issue according to people's comments:

http://www.sencha.com/forum/showthread.php?19171-2.0rc1-Queue-for-concurrent-Ajax-calls

by creating a AJAX queue for 2 concurrent requests.

But the ext-basex <http://code.google.com/p/ext-basex/> add-on library for Ext JS seems to be the more complete solution:

http://code.google.com/p/ext-basex/

with its Ext.lib.Ajax.Queue and Ext.lib.Ajax.QueueManager classes:

http://www2.theactivegroup.com/index.html?class=Ext.lib.Ajax.Queue
http://www2.theactivegroup.com/index.html?class=Ext.lib.Ajax.QueueManager

Or are these problems that don't really exist with Ext.Ajax in your experience?

What do you recommend?

Thanks.

Scott Langley