Maximise FMS’s VOD performance with SSDs

Finally I have started to play with my first SSD (Solid State Disk), an Intel X25-M. If you don’t already know, in the last months the price of SSDs is fallen and the average performances improved.

The main advantage of this kind of storage is the access time which is around 100 times lower than a traditional mechanical drive. This performance mark is usually not so important in a desktop environment, but on a server that handles tens or hundreds of concurrent access to different parts of the disk, it becomes crucial.

Have you ever try to understand why the OS (especially Windows) takes so many seconds to load even on an high end machine ?
Well, the problem is the degraded performance of a mechanical drive when multiple reads of little files are performed.
A fast 1TB traditional HD with a sequential read of 100MB/s can slow down to a few MB/s in such situations.

Usually a well designed software can compensate the limited access time of the storage, but there is a limit.

On the other hand these new SSDs are very fast both in sequential and random access. For example my X25-M sports an outstanding 260MB/s of sequential read speed and an absolutely excellent 50MB/s at random read access (4K files).

Random concurrent access performance is tens time higher !

This excellent technology has only two problems today: price and capacity. X25-M costed me 450€ and is only 160GB wide.

But now let’s talk about the performance increase that such tecnology can bring to Flash Media Server.

As you know, in live streaming a FMS installed on an high end server (now very affordable) can handle also thousands concurrent connections. This is because memory, cpu and especially disk usage are low for any new user. So the main limit is the connection card speed (but now the 10GbE standard is becoming affordable…).

What about VOD performance ? VOD is much different because the streamed data is specific, virtually, for every connected user (let’s exclude the effect of caching which is very sensible to the statistical distribution of the requested segments of data). So, even with two 15.000 rpm 300GB SAS disks, probably you will be able to serve at most few hundreds streams.

SSDs can enhance this capability. I think (and in the next weeks I’m going to verify…) that a RAID 10 with four X25 would be able to provide 1 – 1.5 Gbit/s of VOD streams. At least a 2-3x factor over mechanical drives.

Obviously the storage cost will rise, but the benefits are very high because more concurrent users per server means less delivery cost (fewer servers, fewer FMS licenses, fewer maintainance costs).

If you like to know more about SSD I suggest this reading: