« Facebook is Hiring | Main | Strategy: Facebook Tweaks to Handle 6 Time as Many Memcached Requests »
Sunday
Dec142008

Scaling MySQL on a 256-way T5440 server using Solaris ZFS and Java 1.7

How to scale MySQL on a 32 core system with 256 threads? Diagonal scalability in a box.
An impressive benchmark that achieved more than 79,000 SQL queries per second on a single 4 RU server! Is this real? If so what is the role of good old horizontal scalability?

The goals of the benchmark:
  1. Reach a high throughput of SQL queries on a 256-way Sun SPARC Enterprise T5440

  2. Do it 21st century style i.e. with MySQL and ZFS , not 20th century style i.e with OraSybInf... and VxFS

  3. Do it with minimal tuning i.e as close as possible as out-of-the-box

Reader Comments (4)

"If so what is the role of good old horizontal scalability?"

Horizontal scalability or at least architectures that support it bring another benefit in the form of incremental upgrade. One can upgrade one chunk of the system, test it against some users and if it works right roll it out further.

One could of course, achieve a similar effect by running a bunch of VMs atop the T5440 but if you lose the machine you lose all the VMs. Thus architectures that offer horizontal scalability can also be more resilient (especially once we consider the effects of localized network problems).

December 31, 1999 | Unregistered CommenterDan Creswell

I'm a bit confused by this sentence: "We are caching the entire 1 Gbyte database." This would indicate to me that they're not testing real world performance. Doesn't this sort of negate the ZFS part of the test?

December 31, 1999 | Unregistered CommenterRichard

> I'm a bit confused by this sentence: "We are caching the entire 1 Gbyte database." This would indicate to me that they're not testing real world performance. Doesn't this sort of negate the ZFS part of the test?

Benchmarks always have limitations in terms of correlation to real world performance. Caching the entire database means that it will not be limited by the storage and ZFS I/O. However 80K MySQL queries per seconds is impressive in spite of the DB being fully cached. With the falling costs of RAM
it is getting more and more common to cache the entire database (and generally cache everything if possible).

This benchmark measured read intensive load. The question is what would happen with write (UPDATE) statements? Those need to be written to disk. How would the T5440 and MySQL scale for such load?

December 31, 1999 | Unregistered Commentergeekr

Dear moderator, these commenters seem remarkably prescient given that MySQL didn't exist in 1990. :) just a heads up!

December 20, 2012 | Unregistered CommenterJamieson Becker

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>