5 ms·
I wonder what kind of stuff can be done with 1Tb of SSDs, much cheaper than RAM, but also somewhat slower...
by hyuen 15y ago
I wonder what kind of stuff can be done with 1Tb of SSDs, much cheaper than RAM, but also somewhat slower...
- lallysingh 15y agoWell, it's 256 GB of ram each for 13 servers. I do wonder if the second half of that RAM, with the money used for SSDs, would result in better performance -- as your cache could be larger for the same budget. I think it'd really come down to your cache hit rate / cache size.
- TylerE 15y agoNot for a memached server. If it ain't RAM, memcached can't use it.
- robotresearcher 15y agoDoes memcached not use virtual memory?
- wmf 15y agoIIRC memcached is event-driven and swapping is death for event-driven programs because it blocks the whole event loop.
- TylerE 15y agoIn theory it probably could, but you're losing all benefit at that point. The big selling point of memcahce is that it's VERY fast. Our memcache server (Ours is only 8GB, not nearly as impressive as some) averages under 1ms object fetch times, even accounting for network overhead.
- danudey 15y agoMemcached is designed to be fast. Anything that makes it slower that doesn't need to be there isn't there. For example: authentication (anyone who can access the port can fetch data), indexing (you need to know the key), deallocating memory (you configure memcached with an upper bound; it keeps allocating memory as needed until it gets there), etc. Virtual memory (I assume you actually mean 'does memcached not page data out to disk') would make it much slower. Since memcached is just that - a memory cache - if you're out of memory it just expires the least-recently-used data. In your application, you fetch the key, and if that fails you fetch it from the primary data store (or wherever else you can find it).
- lallysingh 15y agoCan you tie two copies of memcached together? One that's small and all-in-RAM, and a second-level cache that's using the VM.
- wlll 15y agomemcached is standalone, no one server knows about any other server, so at a simple level, no. It also can't go out and fetch data from else where, it's either got the data or it hasn't. You could write a more complex cacheing layer on top of memcached that looked first in memcached, then fetched from solid state storage if it wasn't there. That's kind of what we will be using it for by wrapping Rails around it.
- meatmanek 15y ago> You could write a more complex cacheing layer on top of memcached that looked first in memcached, then fetched from solid state storage if it wasn't there. I wonder how that would compare to just setting up an SSD as swap space.
- sciurus 15y agoDramatically slower. RAM latency is measured in nanoseconds. SSD latency is measured in microseconds. Your CPU already thinks RAM is slow. http://duartes.org/gustavo/blog/post/what-your-computer-does-while-you-wait http://duartes.org/gustavo/blog/post/what-your-computer-does... http://h18000.www1.hp.com/products/quickspecs/13379_na/13379_na.HTML http://h18000.www1.hp.com/products/quickspecs/13379_na/13379...