Scalability considerations for resource management API in am-2022.1 high-volume environment

Our manufacturing operations are scaling rapidly and we’re seeing performance degradation in the resource management API under high load. We have 15 production lines querying resource availability every 30 seconds, plus batch jobs that sync equipment status and maintenance schedules.

Response times have increased from 200ms to 3-5 seconds during peak hours, and we occasionally hit rate limits. The API calls fetch equipment lists, check availability status, and retrieve maintenance windows. Most queries return the same data repeatedly since equipment status doesn’t change that frequently.

We’re considering implementing caching at the application level, but I’m concerned about serving stale data when equipment goes offline or enters maintenance. We’re also exploring rate limiting strategies and infrastructure scaling options. What approaches have worked for others dealing with high-volume resource management API usage in am-2022.1?

Rate limiting on the MES side is per-client, so if all your production lines share the same API credentials, they’re competing for the same quota. Create separate API clients for different functional areas - one for real-time production monitoring, another for batch synchronization, maybe another for reporting. This distributes the load across multiple rate limit buckets and prevents batch jobs from starving real-time queries.

The separate API clients approach is clever. How do you handle cache invalidation when using Redis? Are you polling MES for state changes or using some kind of event subscription? Our concern with event-based invalidation is missing events during network issues or system restarts.

We implemented a smart polling strategy that adjusts query frequency based on operational state. During active production, we poll every 15 seconds. During scheduled downtime or maintenance windows, we reduce to 5-minute intervals. This cut our API load by 60% during off-peak times. The resource management API supports bulk queries, so instead of 15 separate requests from each line, we aggregate into a single batch request that fetches all needed resources at once.

Don’t overlook query optimization. Many resource management API calls include unnecessary fields or join too many related entities. Use the fields parameter to request only what you need - if you just need equipment IDs and availability status, don’t fetch maintenance schedules and operational parameters. We cut response payload size by 70% and improved response times proportionally. Also check if you’re using pagination correctly for large equipment lists.