Can anyone suggest a way to breakdown where our cellular data is being used? I can see aggregated data usage by device/by day but I am looking to better understand overhead/handshakes vs data transmitted. The data we are transmitting is only ~1% (I believe) of the total data usage. This leads me to think we have some connectivity or overhead issues going on, but I have not been able to trace that down. I don't see substantial number of disconnects or errors in the particle cloud log files.
Are you saying that you have a large amount of cellular data used, but a low number of data operations?
- Does this seem to affect only specific devices, or in general?
- You mentioned that you are not getting a large number of disconnects. This is one cause of data usage.
- Do the affected devices have poor cellular connectivity? This can increase data usage in several ways: retries for failed transmissions, repeated failure to connect can reset the session so a full handshake is required.
- A full handshake can use several Kbytes of data. Normally, this is not required because a session resume can be done. A full handshake can be required if the device has been powered down for a long time, repeated failures to connect, or the session was manually invalidated.
- Non-cloud data transmission like TCP, UDP, and DNS will all use cellular data but not data operations.
- The mix of data can affect data usage. What is the general size and frequency of your published data?
- Some functions like Particle.syncTime will use data but not data operations.
- Feature like Particle.variable and Particle.subscribe will use both data and data operations, but because since the requests are initiated off-device the design of your off-device systems will affect this usage.
Thank you for your rapid reply
Does this seem to affect only specific devices, or in general?It seems to be affecting most devices, but to different degrees. They should all be sending about the same amount of data, but we are seeing a 3x range of data usage by deviceYou mentioned that you are not getting a large number of disconnects. This is one cause of data usage. Do the affected devices have poor cellular connectivity? This can increase data usage in several ways: retries for failed transmissions, repeated failure to connect can reset the session so a full handshake is required.This is what I was first thinking, but we don't seem too bad. At least from what I am seeing in the device history. There will be days with zero reported disconnects or errors which end up being the periods with the greatest data usage.A full handshake can use several Kbytes of data. Normally, this is not required because a session resume can be done. A full handshake can be required if the device has been powered down for a long time, repeated failures to connect, or the session was manually invalidated.OK. This is helpful. I don't think this is occurring. We will run for many days with no identified outages.Non-cloud data transmission like TCP, UDP, and DNS will all use cellular data but not data operations. We have some of these, but we are seeing very different usage from devices that are running the same way.The mix of data can affect data usage. What is the general size and frequency of your published data?We are pushing data every 5 minutes. Each packet is in the few kb range. It is all text data.Some functions like Particle.syncTime will use data but not data operations. Feature like Particle.variable and Particle.subscribe will use both data and data operations, but because since the requests are initiated off-device the design of your off-device systems will affect this usage.I don't believe we are using any of these, but I will look into them. Thanks for the suggestion.
The actual cellular data used by individual services isn't broken out because usage comes from the CDR (call data records) sent by the mobile providers, which only contains the amount of data used in a period of time per SIM. This can be once per day, though it may be delayed by one or more days depending on the carrier and SIM.
Because cellular usage so hard to measure, the first thing to make sure is that the data isn't being used for a known reason. Get the per-device data operations report and compare that to cellular usage across a representative set of devices to see if you can spot an outlier.
If you have a small number of devices that are exhibiting unusual behavior we might be able to pull up slightly more detailed information on a specific device, but still not detailed cellular usage per service because that's just not available.
DM me a DeviceID that you are concerned with please. I'll take a look.