Evaluating in-memory caching strategies for distributed web services

Loading...
Thumbnail Image

Date

Type

Examensarbete för masterexamen
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

Citation

Architect

Location

Type of building

Build Year

Model type

Scale

Material / technology

Index

Endorsement

Review

Supplemented By

Referenced By