All Projects → twitter → cache-trace

twitter / cache-trace

Licence: CC-BY-4.0 License
A collection of Twitter's anonymized production cache traces.

Programming Languages

shell
77523 projects
TeX
3793 projects

Projects that are alternatives of or similar to cache-trace

Node Cached
A simple caching library for node.js, inspired by the Play cache API
Stars: ✭ 85 (-4.49%)
Mutual labels:  memcached, cache
Cachego
Golang Cache component - Multiple drivers
Stars: ✭ 148 (+66.29%)
Mutual labels:  memcached, cache
Overlord
Overlord是哔哩哔哩基于Go语言编写的memcache和redis&cluster的代理及集群管理功能,致力于提供自动化高可用的缓存服务解决方案。
Stars: ✭ 1,884 (+2016.85%)
Mutual labels:  memcached, cache
Outputcache
Cache api responses using Redis, Memcached or any cache provider for NodeJS
Stars: ✭ 9 (-89.89%)
Mutual labels:  memcached, cache
Simple Spring Memcached
A drop-in library to enable memcached caching in Spring beans via annotations
Stars: ✭ 185 (+107.87%)
Mutual labels:  memcached, cache
Easycaching
💥 EasyCaching is an open source caching library that contains basic usages and some advanced usages of caching which can help us to handle caching more easier!
Stars: ✭ 1,047 (+1076.4%)
Mutual labels:  memcached, cache
Sequelize Transparent Cache
Simple to use and universal cache layer for Sequelize
Stars: ✭ 137 (+53.93%)
Mutual labels:  memcached, cache
Libmc
Fast and light-weight memcached client for C++ / #python / #golang #libmc
Stars: ✭ 429 (+382.02%)
Mutual labels:  memcached, cache
Phpfastcache
A high-performance backend cache system. It is intended for use in speeding up dynamic web applications by alleviating database load. Well implemented, it can drops the database load to almost nothing, yielding faster page load times for users, better resource utilization. It is simple yet powerful.
Stars: ✭ 2,171 (+2339.33%)
Mutual labels:  memcached, cache
Ansible Role Redis
Ansible Role - Redis
Stars: ✭ 176 (+97.75%)
Mutual labels:  memcached, cache
Weixinmpsdk
微信全平台 SDK Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 6.0。已支持微信公众号、小程序、小游戏、企业号、企业微信、开放平台、微信支付、JSSDK、微信周边等全平台。 WeChat SDK for C#.
Stars: ✭ 7,098 (+7875.28%)
Mutual labels:  memcached, cache
WP-Stash
Bridge between WordPress and StashPHP, providing a PSR6-compliant caching system for WordPress
Stars: ✭ 31 (-65.17%)
Mutual labels:  memcached, cache
Xmemcached
High performance, easy to use multithreaded memcached client in java.
Stars: ✭ 715 (+703.37%)
Mutual labels:  memcached, cache
Ansible Role Memcached
Ansible Role - Memcached
Stars: ✭ 54 (-39.33%)
Mutual labels:  memcached, cache
Aiocache
Asyncio cache manager for redis, memcached and memory
Stars: ✭ 496 (+457.3%)
Mutual labels:  memcached, cache
Wp Spider Cache
Your friendly neighborhood caching solution for WordPress
Stars: ✭ 133 (+49.44%)
Mutual labels:  memcached, cache
Senparc.co2net
支持 .NET Framework & .NET Core 的公共基础扩展库
Stars: ✭ 289 (+224.72%)
Mutual labels:  memcached, cache
Cache
Cache library
Stars: ✭ 310 (+248.31%)
Mutual labels:  memcached, cache
Cachemanager
CacheManager is an open source caching abstraction layer for .NET written in C#. It supports various cache providers and implements many advanced features.
Stars: ✭ 2,049 (+2202.25%)
Mutual labels:  memcached, cache
Caching
⏱ Caching library with easy-to-use API and many cache backends.
Stars: ✭ 234 (+162.92%)
Mutual labels:  memcached, cache

Anonymized Cache Request Traces from Twitter Production

Trace Overview

This repository describes the traces from Twitter's in-memory caching (Twemcache/Pelikan) clusters. The current traces were collected from 54 clusters in Mar 2020. The traces are one-week-long. More details are described in the following paper and blog.


Trace Format

The traces are compressed with zstd, to decompress run zstd -d /path/file. The decompressed traces are plain text structured as comma-separated columns. Each row represents one request in the following format.

  • timestamp: the time when the cache receives the request, in sec
  • anonymized key: the original key with anonymization
  • key size: the size of key in bytes
  • value size: the size of value in bytes
  • client id: the anonymized clients (frontend service) who sends the request
  • operation: one of get/gets/set/add/replace/cas/append/prepend/delete/incr/decr
  • TTL: the time-to-live (TTL) of the object set by the client, it is 0 when the request is not a write request.

Note that during key anonymization, we preserve the namespaces, for example, if the anonymized key is nz:u:eeW511W3dcH3de3d15ec, the first two fields nz and u are namespaces, note that the namespaces are not necessarily delimited by :, different workloads use different delimiters with different number of namespaces.

A sample of the traces are attached under samples.


Trace Download

The full traces are large (2.8 TB in compressed form, 14 TB uncompressed), and can be downloaded from the following places.

Carnegie Mellon University PDL cluster

https://ftp.pdl.cmu.edu/pub/datasets/twemcacheWorkload/open_source

SNIA

http://iotta.snia.org/tracetypes/17

Storj

see storj for how to access (Good for worldwide access, especially Asia and Europe, but not available after Dec 2020)

Baidu pan

https://pan.baidu.com/s/1Jm2nAW-UhsjXU6JYoA07LA access code: wcws (Good for Asia access, but UI only has Chinese)

These traces are splitted into smaller files of 1000000000 lines (smaller for SNIA) each and compressed with zstd, so a file with name clusterN.0.zst means this file contains the first 1000000000 requests of cluster N.

Feel free to contact us if you have problem downloading the traces.


Choice of traces for different evaluations

For different evaluation purposes, we recommend the following clusters/workloads

  • miss ratio related (admission, eviction): cluster52, cluster17 (low miss ratio), cluster18 (low miss ratio), cluster24, cluster44, cluster45, cluster29.

  • write-heavy workloads: cluster12, cluster15, cluster31, cluster37.

  • TTL-related: mix of small and large TTLs: cluster 52, cluster22, cluster25, cluster11; small TTLs only: cluster18, cluster19, cluster6, cluster7.

others?: feel free to contact us if you are looking for a trace for specific purpose.


More information about each workload is included under stat/

We release a computed statistics of each cluster workload under stat/, the latest is here. This table includes the following fields, each field is the mean value of the metric either from production or from the traces.

The fields include production miss ratio, workload category (1: storage, 2: computation, 3: transient item), key size, value size, request rate, mean object frequency, one-hit-wonder ratio (%), compulsory miss ratio (%), common TTLs, working set size, operations, Zipf alpha.


Misc

  • Please join our discussion channel for questions and updates.
  • We provide a trace bibliography of papers that have used and/or analyzed the traces, and encourage anybody who publishes one to add it to the bibliography by creating an issue or pull request on GitHub.

Acknowledgement

We thank Carnegie Mellon University PDL, SNIA and Storj for hosting the traces.

License

Creative Commons CC-BY license The data and trace documentation are made available under the CC-BY license. By downloading it or using them, you agree to the terms of this license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].