Is Tyk's baseline resource utilization stable?

Hello, Tyk Team.
I’m Jinyong Kwon of SRE part of Lotte ON TECH team in South Korea.
I would like to ask if there is a stable figure based on Tyk’s resources used by Lotte ON system.
I am organizing it into 4 categories as below.

  1. CPU
  2. Memory
  3. Storage(Capacity, IOPS)
  4. Network Bandwidth(Threshold, IO)

I am writing to find out if there is a standard figure set by performance test or load test in the above criteria.
I don’t know if I can organize it like this, but I’m sending this messages because I don’t know where to ask.
Please reply after reviewing it.
I hope you have a great day.
Thank you.

Best Regards,
Jinyong Kwon

Hi Jinyong!

Thanks for the question! We are also reaching out to your team to discuss more about this. In the meantime, I will be putting together a full reply to answer your queries. Hang tight!

Hi Jin Yong,

It is worth noting that there are many variables that may affect resource consumption of Tyk. This could span from your payload size, type of authentication, number of API calls per second, how Tyk is deployed to even your overall architecture. But we have created a benchmark test to give users a rough idea of how lightweight and performant Tyk is. Below is a base benchmark test we have created with a vanilla Tyk deployment with the Dashboard running the usual middleware features - rate-limiting, authentication via Auth Token and capturing of analytics. We can see that with Tyk deployed on a 2 core, 2GB RAM VM, it could easily handle 3000RPS. Again, this is based on a payload size of 1kb with no complicated architecture.

To iterate again, how different architectures can differ with the performance, we do have a customer running a complex multi-zone deployment with gateway to gateway proxy running on 1 CPU, 2GB RAM EC2 instance handling up to 621TPS. So it is recommended that you go with a smaller VM and run a full load and performance test.
https://tyk.io/why-tyk/benchmark/

For storage capacity, as Lotte is running the Gateway with the Dashboard, you can follow the documentation to correctly size both Redis and mongoDB. This would take in a number of factors for sizing such as number of API keys, TPS, duration of log browser data retention etc.
https://tyk.io/docs/planning-for-production/redis-mongodb-sizing/

As for Network Bandwidth, again, this depends on the throughput that goes through the Gateway and the bandwidth that the hardware has. It is always a good practice that if the network bandwidth reaches 60% of the maximum capacity for a particular node i.e 6Gbit for a 10Gbit bandwidth, you should add additional nodes to be able to handle the bandwidth.

We’ve reached out to the Lotte team via email. We can continue the conversation further there if needed.

Hi Rahmat,

Thank you so much to your reply. It is meaningful information for me.
As you told me, your colleague reached out by phone-call in my country.
In fact, I need to get more information about that is how to decide the value of measure about the autoscaling. For example, I have to do the scale-out when if cpu, memory, storage, network is not enough. Therefore, I need to get the definitely calculation value.
Please refer to it so I will have to continue the conversation with your colleague.
Thanks a lot. Have a nice day!