Your new topic does not fit any of the above??? Check first. Then post here. Thanks.

Moderator: igrr

User avatar
By Vicne
#53299 Now wait !

I'm an idiot, I ran the test twice with the same flashed version.

Please accept my apologies for doubting, bbx10node.

Here are the actual results I get with a " 2 * HTTP_DOWNLOAD_UNIT_SIZE " setting:

2016-08-19 16:02:21 (195 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:02:24 (180 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:02:28 (238 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:02:29 (202 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:02:32 (193 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:02:40 (139 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:02:41 (248 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:02:44 (201 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:02:48 (237 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:02:52 (246 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:02:55 (202 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:03:00 (215 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:03:01 (249 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:03:04 (202 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:03:10 (184 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:03:11 (248 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:03:14 (201 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:03:18 (239 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:03:19 (293 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:03:22 (202 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:03:27 (238 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:03:27 (244 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:03:30 (200 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:03:39 (200 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:03:40 (251 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:03:43 (195 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:03:48 (220 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:03:49 (246 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:03:51 (200 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:03:57 (207 KB/s) - `test1MB.jpg' saved [1046750/1046750]

Holy crap, we're at about 10 times faster than with the standard version.

I ran it a second time because I could believe the results, but it's absolutely reproductible.

I tested with 3x but then wget complains that "Connection closed at byte 2920. Retrying." and never succeeds in downloading a single file.

I also tested with 1.5x (2190 bytes) but this leads to the slowest result of all:
2016-08-19 16:20:14 (18,8 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:20:42 (18,2 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:21:38 (18,1 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:21:44 (18,5 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:22:01 (30,5 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:22:57 (18,2 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:23:03 (18,1 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:23:32 (17,7 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:24:29 (18,2 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:24:34 (18,5 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:25:03 (17,6 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:26:00 (18,0 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:26:06 (18,6 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:26:34 (17,8 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:27:31 (18,2 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:27:36 (19,0 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:28:04 (18,1 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:29:01 (18,2 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:29:07 (16,1 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:29:35 (18,3 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:30:33 (17,9 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:30:39 (19,1 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:31:07 (18,2 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:31:46 (26,4 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:31:53 (24,8 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:32:21 (18,1 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:33:17 (18,6 KB/s) - `test1MB.jpg' saved [1046750/1046750]
2016-08-19 16:33:22 (19,1 KB/s) - `test100K.jpg' saved [98828/98828]
2016-08-19 16:33:51 (17,5 KB/s) - `test500K.jpg' saved [512705/512705]
2016-08-19 16:34:47 (18,5 KB/s) - `test1MB.jpg' saved [1046750/1046750]

My conclusion is that the "2x" setting bbx10node has found is not just a "sweet spot", like the top of a curve. It really seems to make the conditions "just right" to trigger extremely fast transfers compared to the default speed.

Now does someone have an idea why it is so ? And can it be made the default ?
I don't see any drawback to it (except its "black magic" side) and as I said all downloaded files have been successfully tested for correctness after download.

Kind regards,

Vicne
User avatar
By bbx10node
#53308 Sorry about the file name typo. ESP8266WebServer.h is the correct file.

There is a fix for this in the next board package release. I assume it will be named 2.4.0. The fix must in the IP stack since this also happens with plain TCP. The 2*MSS workaround will not be needed in the next release. The fix was put in before this discussion so I guess this problem was reported earlier.

You can try out the pending fix by switching to the git version. In my limited testing, transfers with default settings are just as fast as with the 2*MSS workaround.
User avatar
By Vicne
#53321
bbx10node wrote:There is a fix for this in the next board package release. I assume it will be named 2.4.0. The fix must in the IP stack since this also happens with plain TCP. The 2*MSS workaround will not be needed in the next release.


Good to know. I'll test with the latest git version.
Thanks very much for these very interesting findings. All of a sudden, this chip just became 10x faster for transfers :-).

Kind regards,

Vicne