Our warehouse asset tracking system uses the ThingWorx API to update forklift and pallet locations in real-time, but we’re experiencing 5-10 second delays between actual movement and UI updates. This causes operational delays as operators rely on accurate positioning.
We need guidance on API queue monitoring to identify bottlenecks, batch update optimization strategies, and whether server resource scaling would help. The asset location updates come from edge devices every 2 seconds, but the platform seems unable to keep up with the volume.
Current implementation pushes updates immediately upon receiving GPS coordinates, but something in the processing pipeline is causing the lag. Has anyone optimized asset tracking APIs for true real-time performance?
Look at your Value Stream indexes. If you have too many indexed properties, each write becomes slower. For asset tracking, you probably only need indexes on assetId and timestamp. Remove indexes from location coordinates and other frequently updated fields that don’t need query optimization.
Definitely separate real-time from historical. Update Thing properties every 2 seconds for the UI, but only write to the Stream every 30-60 seconds or when significant position changes occur. You can also implement a change threshold - only persist if the asset moved more than X meters. This dramatically reduces database load while maintaining accurate tracking.
Enable the SubsystemMonitor for detailed queue metrics. You can see exactly where updates are backing up - whether it’s the event queue, persistence queue, or subscription delivery. This will tell you if you need to scale resources or optimize your data model. Check the MonitoringSettings in Composer.