Imported Google Group message.
Date:Friday, 15 May 2015 15:45:41 UTC+1.
Tyk is CPU-bound, so the more CPU's the better - it will also need Redis, the closer the better - recommend it being Elasticache for scalability.
We benchmarked about 480 requests per second on a 4-core 8GB Tyk node (all in), you may need to tweak some environment variables to get that kind of performance (e.g. tell the Golang runtime to use all the cores, there's advice on these forums around that). This was a regular install, not dockerised. that might help you decide on a base box to use, I'd be carefull around the t2.small instances or smaller as their network throuput (outbound seems to limit at 180 mb/s which could cause latency. I'd say a t2.medium or higher for production jsut because of the two cores.
Also, depending on how your networking is set up, e.g. if you're using things like Weave to connect boxes, then expect latency, but otherwise it should be pretty performant.
You can monitor tyk using the healthcheck API (https://tyk.io/v1.6/rest-api/health-checks/), which you could roll into a nagios script or something to make it ore meaningful. In the newest builds (not released yet, but master branch), there's support for pushing errors to sentry. Apart form that, Cloudwatch is your friend, basically if you're seeing ~60% CPU utilisation the it's time to scale out.
Hope that helps
- show quoted text -