@Bdub @ScruffR I used MDMA’s code for testing the data transfer rates on the Electron using the NO_ACK vs. not using it and I came up with the following results.
I was just checking the data usage updates on the SIM Card Billing page, but its resolution was too small to see what was going on.
Here is the data usage for my Publish Event not using the NO_ACK feature:
Reset counter of sent/received PSD data!
Read counters of sent or received PSD data!
CID: 31 SESSION TX: 0 RX: 0 TOTAL TX: 0 RX: 0
Publish some data!
Read counters of sent or received PSD data!
CID: 31 SESSION TX: 200 RX: 61 TOTAL TX: 200 RX: 61
And here is the data transfer rates after adding the NO_ACK to the Particle Publish event:
Reset counter of sent/received PSD data!
Read counters of sent or received PSD data!
CID: 31 SESSION TX: 0 RX: 0 TOTAL TX: 0 RX: 0
Publish some data!
Read counters of sent or received PSD data!
CID: 31 SESSION TX: 200 RX: 0 TOTAL TX: 200 RX: 0
As you already stated were saving 61 bytes of data on every Publish when using NO_ACK.
If I updated every five mins over 24 hours, that’s 288 publish events.
288 Publish events x 200 bytes = 57,600 bytes per day using the NO_ACK
288 Publish Events x 200 + 61 Bytes = 75,168 bytes when not using the NO_ACK.
So for my testing the NO_ACK is saving me 75,168 - 57,600 = 17,568 bytes.
17,568 bytes of savings / 200 bytes per publish event gives me an extra 87 publish events that otherwise would have been eaten up by the ACK sent from the server. That’s pretty good data savings
As discussed the savings get to be much more if there is a situation where the Electron begins to retry sending the message up to 5 times.