Size Estimates for Redis and MongoDB


#1

Is there some type of calculator for Tyk configurations. I wondering how to plan for the size of Redis, MongoDB and Tyk itself.

Given an estimated load of API calls (100,000 a day, 1 million a day, 100 million a day), how big should components be?

How many shards of what size, CPU , Memory, IOPS, Network?


#2

With 1 million requests per day, expect to be generating about 3-4 GB of analytics data, this should help you size MongoDB

A gateway (v2.2) can handle about 1,3k requests per second on a 2 core / 2GB Ram box, more cores = better performance

Redis can be a bottleneck, so you’ll want to go big.


#3

3-4 GB per day? How long should we plan for keeping the data, 1 year?

BIG Redis? How big 4GB, 400 GB?


#4

You can cap the data TTL to wherever you like, Tyk can add expire indexes to the analytics data, you can also set a hard cap on your data collections to completely manage that and keep performance.

Redis - depends on your setup and load, I wouldn’t go less than 4GB. if you have very high load (10-50 million per day plus) then you’ll need to look at a cluster setup in the c3 large ranges on ec2).


#5

So for the start I need to setup a system that can handle < 250,000 calls per day more likely 100,000 per day on most days. What would a redundant configuration look like? Assuming we wanted to look at analytics for a year of data.