Memcached implementation inquiry

marc at corky.net marc at corky.net
Sat Apr 21 06:38:57 UTC 2007


Hi,


mysql's scaling problem, especially on Linux, was recently found to be a 
sub-optimal implementation of malloc when it comes to threads.

If you preload google's malloc lib for mysqld you'll see a huge 
difference past ~1000 TPS allowing it to scale almost linearly as well.

Search for 'mysqld google malloc'


Lexington Luthor wrote:
> Steven Grimm wrote:
>> Try PostgreSQL instead. MySQL has awful concurrency problems. Much 
>> better in 5.x than it was in 4.x, but still not great.
>>
>
> I can confirm that PG is excellent at highly concurrent loads (> 1000 
> transactions), and I have read that it scales linearly to ~32 CPUs.
>
> > Michael Firsikov wrote:
> >> A typical complex search involves 5-10 tables, all properly indexed.
> >> (some
> >> tables have in excess of 12-15 million records) However, the
> >> concurrency is
> >> problematic (1000+ concurrent users).
>
> For this particular problem, memcache seems somewhat inappropriate, 
> and I think you will be better served by using postgresql and 
> materialized views updated by triggers or by cron depending on your 
> mix of reads/writes.
>
> I have a similar set-up where a particular view was being hit very 
> frequently and was too large to cache entirely. It consisted of a 
> complex query joining 14 tables, so materializing it was just perfect 
> for performance and subsets of the view can now be cached in memcached 
> without requiring the entire result-set to be regenerated every cache 
> miss.
>
> Regards,
> LL
>
>



More information about the memcached mailing list