memcached: All content tagged as memcached in NoSQL databases and polyglot persistence
As you probably already know, in MySQL 5.7.3 release, InnoDB Memcached reached a record of over 1 million QPS on a read only load. The overview of the benchmark and testing results can be seen in an earlier blog by Dimitri. In this blog, I will spend sometime on the detail changes we have made to achieve this number.
There’s another post detailing the benchmark:
The test was executed in “standalone” mode (both server and client are running on the same server). So, we used our biggest HW box we have in the LAB - a 48cores machine.
That’s a_good_ number. But if you think about it, the per-core QPS is not that high; if I remember correctly Redis can go up to 70k/s.
Original title and link: InnoDB Memcached plugin benchmark: 1mil QPS with in MySQL 5.7.3 ( ©myNoSQL)
125 EC2 memcached instances, from which 90 for production and 35 for internal usage:
Another 90 EC2 instances are dedicated towards caching, through memcache. “This allows us to keep a lot of data in memory that is accessed very often, so we can keep load off of our database system,” Park said. Another 35 instances are used for internal purposes.
70 master MySQL databases on EC2
- sharded at 50% capacity
- backup databases in different regions
Behind the application, Pinterest runs about 70 master databases on EC2, as well as another set of backup databases located in different regions around the world for redundancy.
In order to serve its users in a timely fashion, Pinterest sharded its database tables across multiple servers. When a database server gets more than 50% filled, Pinterest engineers move half its contents to another server, a process called sharding. Last November, the company had eight master-slave database pairs. Now it has 64 pairs of databases. “The sharded architecture has let us grow and get the I/O capacity we need,” Park said.
80 million/410TB objects stored in S3
- no details about Redis
Original title and link: Pinterest Architecture Numbers ( ©myNoSQL)