Evaluating in-memory caching strategies for distributed web services
Loading...
Download
Date
Authors
Type
Examensarbete för masterexamen
Master's Thesis
Master's Thesis
Model builders
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Caching is an incredibly common component in modern computer engineering. Present everywhere, caches benefit greatly from domain-specific knowledge. This thesis, in collaboration with Antura AB, targets caching between distributed web services and their database. The state-of-the-art in this caching domain is to have a shared, networked, in-memory, key-value store, such as Redis. This thesis had two goals. Firstly, to implement an alternative to this shared cache system using caches distributed on each server of the web application. Secondly, to implement a test suite for comparing these cache systems. A common interface was created for these cache systems and both were implemented using F#. A test suite was then created using a sample distributed web application and simulated user requests. The user simulation covered different read-write ratios, domain sizes, and behavior with respect to a commonly requested “shared” domain. The results of the tests found cases where either cache system performed better on average. Although the shared cache system performed significantly better as the degree of distribution increased.
Description
Keywords
caching, distributed caching, redis, distributed systems, web caching, database caching, user simulation
