We currently have an architectural setup as described below. Our plan is to conduct a load test, but we face a challenge due to the high cost of real switches. We have two options: either build the architecture directly or create a simulation. However, our tasks must pass through a cloud server that only recognizes real switches. Unfortunately, this cloud server lacks a mechanism to recognize simulated or ‘fake’ switch signals.

At present, only a limited number of tasks are processed through this system, and all tests have been successful. However, we plan to transition this system into production in the future, adding more than 50,000 switches. Each task might require control over thousands of switches. We anticipate that problems may arise when the number of switches for a single task increases, potentially causing the lambda function to exceed its 15-minute time limit. We need to test this scenario, or possibly revise the architecture to improve load handling performance. The challenge here is the presence of a cloud server that we cannot control.

My question is, how can we conduct a load test for this type of architecture? We are responsible for building everything except the third-party cloud. We have already built and successfully tested the current setup, but we need to adapt it to handle a larger load in production. Before we do that, we need to test it and possibly modify the current architecture for better performance, while making as few changes as possible.

enter image description here

6

However, our tasks must pass through a cloud server that only recognizes real switches. Unfortunately, this cloud server lacks a mechanism to recognize simulated or ‘fake’ switch signals.

In that case, your best option is to construct a “mock” for the entire third party service.

That may be a substantial amount of work, and it may be difficult to replicate the performance characteristics of the real service, but it also allows you to control “fault injection”. You can simulate the third party being under load and taking longer to respond, for example.