I’ve been sending messages (about 400 bytes of data each) through the Nova to the Hologram Cloud and then routing it to my own server for a while now, and I wanted to investigate the average latency experienced by the messages.
- I use the SGP-M1 / StarHub carriers in Singapore
- I send a 360 byte message through the Nova with the Python SDK’s
- I use the
time command available on my Ubuntu box to see how long one message send + response reception cycle takes.
- When using
HologramCloud (straight to the Hologram servers), my average latency is about 6 seconds
- When using
CustomCloud (to my own servers, with
netcat running to receive the message), my average latency is negligibly less (within a half-second) than the Hologram Cloud messages.
- From both endpoints to my local ground control station over standard TCP/IP takes less than a second.
It seems that the bulk of the latency experienced is between the point where
sendMessage is called and the reception of the message by the remote server. This means that the latency must either be because of
- the time taken to prepare a message to leave the Nova or
- the time taken for the message to transit through the cellular network
I’m looking for ways that I can cut down this 5 - 6 second latency number for each message (I’m sending telemetry data from an unmanned aircraft back to a ground station).
Does anyone know if it’s mainly due to the cellular network or something on the Nova’s / SDK’s end? Do you all get similar latency numbers when sending a message?