1

I have a web application that is hosted on an embedded device. This device has its own basic web server that can serve content just like any other web server.

The web application in question is pretty data hungry. It requests about 15 XML files (usually less than 1kb) every few seconds to update a wide variety of modules on the application page. This is done with jquery / ajax. Each module has an independent timer to update itself, usually every 5-10 seconds, so often these timers align and requests are done in bursts.

In long term tests, the web application begins to fail. Within a few hours, requests begin to fail, not due to timeouts, but due to web connection resets. Using Wireshark, it is evident that it is the browser requesting to reset the connection. I am able to look directly into the web server, and there are no errors/timeouts/resets/etc from the server end. It is directly the browser deciding to reset the connection.

I am in no way asking the browser to do this. My application is basic and is simply requesting data endlessly. I can't think of any reason for the browser itself to decide to reset the connection on its own. This occurs in firefox and chrome. My only suspects are myself and jQuery's AJAX.

Any ideas are appreciated.

5
  • 1
    As far as I know there is a hard limit of concurrent connections at any time (6 for most browsers last time I checked). Did you try to queue the requests and handle the next one only if the last one has finished? A brutal and bad way to do this would be to use async: false, this would block the browser and totally fail if there is any server side problem. But for testing it may give you some idea what's going on. Commented Feb 1, 2016 at 14:25
  • This sounds right - where can I read about this limit? I guess I need a queue... Commented Feb 1, 2016 at 14:33
  • 1
    browserscope.org/?category=network Commented Feb 1, 2016 at 14:35
  • Thank you. Which field am I concerned with? Connections per hostname or Max connections? Final question - is a javascript/css or other external request considered a concurrent connection? If my page requests, as an extreme example, 30 javascript files, are these handled synchronously? Commented Feb 1, 2016 at 14:43
  • 1
    It's connections per hostname since all go to the same server. Not 100% sure about the javascript on page load but as far as I know this is limited the same way. Merging files into one single file (or as few as possible) is often recommended to increase load speed. (also moving files to a CDN can help since this would be a different host) Commented Feb 1, 2016 at 15:08

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.