3 ms·
I worked one IoT system. Several hundred thousand devices. Our traffic was bonkers. Until we looked into it. It was one customer causing us like 80% of our
by sumtechguy 3y ago
I worked one IoT system. Several hundred thousand devices. Our traffic was bonkers. Until we looked into it. It was one customer causing us like 80% of our traffic.
Now this customer was one of those 'you really do not want to make them mad as they will make full page ads kinda companies'. But the fun part it was not even all of their devices (which had a flaw) it was like 10 locations where they had the devices (out of their huge fleet) that was causing us 80% of our traffic. Their device would setup a call squirt the data and hangup. These devices were doing that 20k times per hour. Most other devices we supported were maybe 10-15 per day. Being the 'big co' they were they blamed us. Being another 'big co' though we were like if you do not fix this we will walk on your account. That worked because this thing was a big deal for them. It could have easily gone the other way and damaged our whole product line.
The solve was to properly moderate their calls and batch the data.
Also it is dead easy to get this sort of thing wrong. From a programmers PoV send data. Under all of that could be a queue (hopefully), some sort of ppp connection and all sorts of interesting machinations. Yet the programmer PoV it is just a tcp setup, send, and close out cycle. Then there are things like 'do you really need to send all of that data?' 'does it really need to be human readable json?' 'have you tried this in your target environment and not some developers desktop yet?'