News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Ole Markus' Blog:
High load websites A lock on Memcachedget
December 27, 2010 @ 12:34:14

Ole Markus has a new post to his blog looking at a technique for working with memcached and fetching data out of the store using a binary semaphore for better performance.

A typical document takes but a few hundred milliseconds to generate when a single request for the document enters the backend. The problem is that this is a highload website. In its current form, the backend serves hundreds of pages per second. This pretty much guarantees that the backend will concurrently receive cache miss on multiple languages and at the same time also receive cache miss on the pre-translated document.

Given that he wants the translated version to be the one that's always shared, a problem can come up when the cache request is "missed" and the document starts generating from multiple places. His fix for the situation is that only the first miss generates and all others see a lock on it and wait for it to be removed before successfully fetching the result. He provides code in a "LockedMemcached" class to help make it all more useful.

0 comments voice your opinion now!
lock memcache get set high load website varnish


blog comments powered by Disqus

Similar Posts

Chris Roane's Blog: Options for Building a Website from a Developers Perspective

Justin Carmony's Blog: Working with Middle-Scale Websites

Stuart Herbert's Blog: Quick Tip: Get, Set and Query in One Method

Manuel Pichler's Blog: Howto create custom rule sets for PHPMD

Floss Valley Blog: Developing AJAX Application using Smarty and Xajax


Community Events





Don't see your event here?
Let us know!


security framework community series tool podcast list artisanfiles symfony opinion laravel introduction voicesoftheelephpant conference library language composer release version interview

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework