Actually I did have the ftp log ticked for my extended test yesterday - in the spirit of a beta test!
There was an ftp session every 5 minutes between 09:50 and 17:35
This is the last session at 17:35, but it is typical of all of them. On this occasion it uploaded 577kb which is in keeping with your estimate. They range between 300 and 580kb each time.
There may, or may not be a clue amongst all these 4 letter abbreviations and 3 number codes!
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 11 of 50 allowed.
220-Local time is now 17:35. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
USER greetham
331 User greetham OK. Password required
PASS <omitted>
230 OK. Current restricted directory is /
FEAT
211-Extensions supported:
EPRT
IDLE
MDTM
SIZE
MFMT
REST STREAM
MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
MLSD
AUTH TLS
PBSZ
PROT
UTF8
TVFS
ESTA
PASV
EPSV
SPSV
ESTP
211 End.
Text encoding: System.Text.UTF8Encoding
OPTS UTF8 ON
200 OK, UTF-8 enabled
2015-07-16 17:35:16.342 Uploading web/index.htm to public_html/weather/index.htm
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/index.htmtmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||36661|)
STOR public_html/weather/index.htmtmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 2.191 seconds (measured here), 2.79 Kbytes per second
RNFR public_html/weather/index.htmtmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/index.htm
250 File successfully renamed or moved
2015-07-16 17:35:28.306 Uploading web/today.htm to public_html/weather/today.htm
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/today.htmtmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||20907|)
STOR public_html/weather/today.htmtmp
150 Accepted data connection
Disposing FtpSocketStream...
Disposing FtpSocketStream...
226-File successfully transferred
226 2.210 seconds (measured here), 2.30 Kbytes per second
RNFR public_html/weather/today.htmtmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/today.htm
250 File successfully renamed or moved
2015-07-16 17:35:40.792 Uploading web/yesterday.htm to public_html/weather/yesterday.htm
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/yesterday.htmtmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||15979|)
STOR public_html/weather/yesterday.htmtmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 1.865 seconds (measured here), 1.93 Kbytes per second
RNFR public_html/weather/yesterday.htmtmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/yesterday.htm
250 File successfully renamed or moved
2015-07-16 17:35:51.412 Uploading web/record.htm to public_html/weather/record.htm
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/record.htmtmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||33427|)
STOR public_html/weather/record.htmtmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 2.175 seconds (measured here), 3.15 Kbytes per second
RNFR public_html/weather/record.htmtmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/record.htm
250 File successfully renamed or moved
2015-07-16 17:36:02.454 Uploading web/trends.htm to public_html/weather/trends.htm
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/trends.htmtmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||13022|)
STOR public_html/weather/trends.htmtmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 1.174 seconds (measured here), 1.23 Kbytes per second
RNFR public_html/weather/trends.htmtmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/trends.htm
250 File successfully renamed or moved
2015-07-16 17:36:10.591 Uploading web/gauges.htm to public_html/weather/gauges.htm
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/gauges.htmtmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||45355|)
STOR public_html/weather/gauges.htmtmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 2.322 seconds (measured here), 12.99 Kbytes per second
RNFR public_html/weather/gauges.htmtmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/gauges.htm
Disposing FtpSocketStream...
Disposing FtpSocketStream...
Disposing FtpSocketStream...
Disposing FtpSocketStream...
250 File successfully renamed or moved
2015-07-16 17:36:21.420 Uploading web/thismonth.htm to public_html/weather/thismonth.htm
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/thismonth.htmtmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||8178|)
STOR public_html/weather/thismonth.htmtmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 2.309 seconds (measured here), 3.22 Kbytes per second
RNFR public_html/weather/thismonth.htmtmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/thismonth.htm
250 File successfully renamed or moved
2015-07-16 17:36:33.698 Uploading web/thisyear.htm to public_html/weather/thisyear.htm
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/thisyear.htmtmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||46652|)
STOR public_html/weather/thisyear.htmtmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 2.225 seconds (measured here), 3.46 Kbytes per second
RNFR public_html/weather/thisyear.htmtmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/thisyear.htm
250 File successfully renamed or moved
2015-07-16 17:36:46.666 Uploading web/monthlyrecord.htm to public_html/weather/monthlyrecord.htm
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/monthlyrecord.htmtmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||12226|)
STOR public_html/weather/monthlyrecord.htmtmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 2.346 seconds (measured here), 10.62 Kbytes per second
RNFR public_html/weather/monthlyrecord.htmtmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/monthlyrecord.htm
250 File successfully renamed or moved
2015-07-16 17:36:58.888 Uploading graphconfig.json to public_html/weather/graphconfig.json
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/graphconfig.jsontmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||28671|)
STOR public_html/weather/graphconfig.jsontmp
Disposing FtpSocketStream...
Disposing FtpSocketStream...
Disposing FtpSocketStream...
Disposing FtpSocketStream...
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 1.376 seconds (measured here), 133.76 bytes per second
RNFR public_html/weather/graphconfig.jsontmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/graphconfig.json
250 File successfully renamed or moved
2015-07-16 17:37:10.825 Uploading tempdata.json to public_html/weather/tempdata.json
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/tempdata.jsontmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||17767|)
STOR public_html/weather/tempdata.jsontmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 3.686 seconds (measured here), 39.58 Kbytes per second
RNFR public_html/weather/tempdata.jsontmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/tempdata.json
250 File successfully renamed or moved
2015-07-16 17:37:23.846 Uploading pressdata.json to public_html/weather/pressdata.json
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/pressdata.jsontmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||32464|)
STOR public_html/weather/pressdata.jsontmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 2.358 seconds (measured here), 13.69 Kbytes per second
RNFR public_html/weather/pressdata.jsontmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/pressdata.json
250 File successfully renamed or moved
2015-07-16 17:37:35.560 Uploading winddata.json to public_html/weather/winddata.json
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/winddata.jsontmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||18105|)
STOR public_html/weather/winddata.jsontmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 2.699 seconds (measured here), 20.86 Kbytes per second
RNFR public_html/weather/winddata.jsontmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/winddata.json
250 File successfully renamed or moved
2015-07-16 17:37:47.922 Uploading wdirdata.json to public_html/weather/wdirdata.json
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/wdirdata.jsontmp
550 Can't check for file existence
EPSV
Disposing FtpSocketStream...
Disposing FtpSocketStream...
Disposing FtpSocketStream...
Disposing FtpSocketStream...
229 Extended Passive mode OK (|||33601|)
STOR public_html/weather/wdirdata.jsontmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 2.973 seconds (measured here), 18.58 Kbytes per second
RNFR public_html/weather/wdirdata.jsontmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/wdirdata.json
250 File successfully renamed or moved
2015-07-16 17:38:00.931 Uploading humdata.json to public_html/weather/humdata.json
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/humdata.jsontmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||17874|)
STOR public_html/weather/humdata.jsontmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 2.722 seconds (measured here), 19.60 Kbytes per second
RNFR public_html/weather/humdata.jsontmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/humdata.json
250 File successfully renamed or moved
2015-07-16 17:38:13.530 Uploading raindata.json to public_html/weather/raindata.json
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/raindata.jsontmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||18145|)
STOR public_html/weather/raindata.jsontmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 2.800 seconds (measured here), 20.05 Kbytes per second
RNFR public_html/weather/raindata.jsontmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/raindata.json
250 File successfully renamed or moved
2015-07-16 17:38:26.129 Uploading solardata.json to public_html/weather/solardata.json
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/solardata.jsontmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||9194|)
STOR public_html/weather/solardata.jsontmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 3.013 seconds (measured here), 26.64 Kbytes per second
RNFR public_html/weather/solardata.jsontmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/solardata.json
250 File successfully renamed or moved
2015-07-16 17:38:39.720 Uploading dailyrain.json to public_html/weather/dailyrain.json
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/dailyrain.jsontmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||30521|)
STOR public_html/weather/dailyrain.jsontmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 1.843 seconds (measured here), 346.12 bytes per second
RNFR public_html/weather/dailyrain.jsontmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/dailyrain.json
250 File successfully renamed or moved
2015-07-16 17:38:50.846 Uploading sunhours.json to public_html/weather/sunhours.json
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/sunhours.jsontmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||28999|)
STOR public_html/weather/sunhours.jsontmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 1.351 seconds (measured here), 470.13 bytes per second
RNFR public_html/weather/sunhours.jsontmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/sunhours.json
250 File successfully renamed or moved
2015-07-16 17:39:00.008 Uploading dailytemp.json to public_html/weather/dailytemp.json
TYPE I
200 TYPE is now 8-bit binary
SIZE public_html/weather/dailytemp.jsontmp
550 Can't check for file existence
EPSV
229 Extended Passive mode OK (|||14040|)
STOR public_html/weather/dailytemp.jsontmp
150 Accepted data connection
Disposing FtpSocketStream...
226-File successfully transferred
226 1.931 seconds (measured here), 1.00 Kbytes per second
RNFR public_html/weather/dailytemp.jsontmp
350 RNFR accepted - file exists, ready for destination
RNTO public_html/weather/dailytemp.json
250 File successfully renamed or moved
Disposing FtpClient object...
QUIT
221-Goodbye. You uploaded 577 and downloaded 0 kbytes.
221 Logout.
Disposing FtpSocketStream...
Disposing FtpClient object...
Disposing FtpSocketStream...
Disposing FtpSocketStream...
Disposing FtpSocketStream...
Disposing FtpSocketStream...
Disposing FtpSocketStream...
Disposing FtpSocketStream...
Disposing FtpSocketStream...