Just wanted to add an extra thought that I
forgot to include in the previous post.
One important aspect missing from my tests
is the actual concurrency testing. In most real world programs, multiple
applications will be reading from/writing to the cache at the same time.
Depending on the cache synchronisation scheme, you'll get varying levels of
performance degradation:
1 being worst, 3 being the
best.
1. Lock entire cache for a
request (Cache::SharedMemoryCache, MySQL normal - table
locks?)
2. Lock some part of cache for a request
(Cache::Mmap buckets, MLDBM pages?)
3. Lock only the key/value for a request
(Cache::FileCache, MySQL InnoDB - row locks?)
Uggg, to do a complete test you really need
to generate an entire modelling system:
1. Number of concurrent
processes
2. Average reads/writes to cache per
second
3. Ratio of reused/new entries
etc
Rob
|
- Comparison of different caching schemes Rob Mueller (fastmail)
- Re: Comparison of different caching schemes Perrin Harkins
- Re: Comparison of different caching scheme... Jeremy Howard
- Re: Comparison of different caching sc... Perrin Harkins
- Re: Comparison of different caching schemes Rob Mueller (fastmail)
- Re: Comparison of different caching scheme... Perrin Harkins
- Re: Comparison of different caching scheme... Rob Mueller (fastmail)
- Re: Comparison of different caching schemes Olivier Poitrey
- Re: Comparison of different caching schemes DeWitt Clinton
- Re: Comparison of different caching scheme... Rob Mueller (fastmail)
- RE: Comparison of different caching sc... Rob Bloodgood
- Re: Comparison of different cachin... Paul Lindner
- RE: Comparison of different c... Rob Bloodgood
- Re: Comparison of different cachin... Perrin Harkins
- Re: Comparison of different c... Dave Rolsky