SlideShare a Scribd company logo
Fusion-io and MySQL 5.5at CraigslistJeremy ZawodnyJeremy@Zawodny.comjzawodn@craigslist.org
Story Time(but first, some architectureand numbers)
Some Numbers~100,000,000 postings in live databaseOver 1,000,000,000 page views dailyHigh churn rate (avg lifetime ~14 days)~350-500GB on diskMySQL 5.5.x and InnoDB CompressionUsed to be ~100-150GB larger (or more!)All records touched multiple times98% of queries are OLTP
The Posting CacheWeb Server Tier(apache/mod_perl)Posting Cache Tier(memcached + perl)Database Tier(MySQL)
The ProblemAdding more memcached nodesLots of cache misses initiallyMySQL boxes take a big query load(time passes)MySQL boxes pegged many hours later(time passes)Next day: WTF?!
Fire!Web Server Tier(apache/mod_perl)We were sending nearly 30% of requests all the way back to the DB tier instead of the normal 2-5%Posting Cache Tier(memcached + perl)Database Tier(MySQL)
SolutionLet’s put the New Hardware in the poolAdd 4 machinesAnd it still sucked…The 4 were fast but only took ~20% of the hitsRemove all the Old HardwareRemove 14 of 18 machinesSounds totally sane, right?
Old Hardware3 years old3U, Dual AMD 2218 HE32GB RAM16 15k RPM SAS disksRAID-10~2,000 iops/sec~325 watts
New HardwareHP DL-380G6Intel Xeon X5570Dual Proc, Quad Core, HT16 “cores”Dual Fusion-io 640GB SLCSoftware RAID-0~80,000 iops/sec (conservative)~200 watts
Before and AfterLoad AverageI/O Capacity of Data DisksNight and Day!Old boxes return to “steady state”
This Chart Should be GreenAverage power for Fusion-io equipped server: ~200 watts.It was closer to 160 when replicating but not serving traffic.
Fusion-io FTWCan you tell when this machine started getting live traffic?OLTP means disk matters WAY more than CPUInto the fire!
The NumbersOld: 2,000iops / 325W = 6.15 iops/wattNew: 40,000iops / 200W = 200 iops/wattConservatively assumes a lot of degradation33-66x performance/wattBut let’s just call it 50x
EpilogueA week later, we re-purposed 1 Fusion-io boxThe cache eventually did fillPoor slab size configuration had been causing early expiration of cached objects14 “old” servers: 4,500 watts28,000 iops/sec capacity3 “new” servers: 570 watts240,000+ iops/sec capacityWhat to do with 10+ spare “db class” boxes?

More Related Content

ODP
MySQL And Search At Craigslist
KEY
Sphinx at Craigslist in 2012
PPTX
Lessons Learned Migrating 2+ Billion Documents at Craigslist
PDF
Realtime Search Infrastructure at Craigslist (OpenWest 2014)
KEY
Living with SQL and NoSQL at craigslist, a Pragmatic Approach
PDF
Zero to 1 Billion+ Records: A True Story of Learning & Scaling GameChanger
PPTX
Understanding and tuning WiredTiger, the new high performance database engine...
PDF
Real time fulltext search with sphinx
MySQL And Search At Craigslist
Sphinx at Craigslist in 2012
Lessons Learned Migrating 2+ Billion Documents at Craigslist
Realtime Search Infrastructure at Craigslist (OpenWest 2014)
Living with SQL and NoSQL at craigslist, a Pragmatic Approach
Zero to 1 Billion+ Records: A True Story of Learning & Scaling GameChanger
Understanding and tuning WiredTiger, the new high performance database engine...
Real time fulltext search with sphinx

What's hot (20)

PPTX
Managing 50K+ Redis Databases Over 4 Public Clouds ... with a Tiny Devops Team
PDF
Optimizing MongoDB: Lessons Learned at Localytics
PDF
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
PDF
«Scrapy internals» Александр Сибиряков, Scrapinghub
PPTX
Introduction to Redis
PDF
MongoUK - Approaching 1 billion documents with MongoDB1 Billion Documents
PDF
Webinar - Approaching 1 billion documents with MongoDB
PDF
Using Sphinx for Search in PHP
PDF
Boosting Machine Learning with Redis Modules and Spark
KEY
MongoFr : MongoDB as a log Collector
PDF
企業・業界情報プラットフォームSPEEDAにおけるElasticsearchの活用
PPTX
Attack monitoring using ElasticSearch Logstash and Kibana
PPTX
A simple introduction to redis
PDF
MyRocks Deep Dive
PPTX
Ops Jumpstart: Admin 101
PDF
Fluentd - Flexible, Stable, Scalable
PPTX
Webinar Back to Basics 3 - Introduzione ai Replica Set
PDF
Monitoramento com ELK - Elasticsearch - Logstash - Kibana
PDF
PostgreSQL - масштабирование в моде, Valentine Gogichashvili (Zalando SE)
PDF
Mongodb
Managing 50K+ Redis Databases Over 4 Public Clouds ... with a Tiny Devops Team
Optimizing MongoDB: Lessons Learned at Localytics
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
«Scrapy internals» Александр Сибиряков, Scrapinghub
Introduction to Redis
MongoUK - Approaching 1 billion documents with MongoDB1 Billion Documents
Webinar - Approaching 1 billion documents with MongoDB
Using Sphinx for Search in PHP
Boosting Machine Learning with Redis Modules and Spark
MongoFr : MongoDB as a log Collector
企業・業界情報プラットフォームSPEEDAにおけるElasticsearchの活用
Attack monitoring using ElasticSearch Logstash and Kibana
A simple introduction to redis
MyRocks Deep Dive
Ops Jumpstart: Admin 101
Fluentd - Flexible, Stable, Scalable
Webinar Back to Basics 3 - Introduzione ai Replica Set
Monitoramento com ELK - Elasticsearch - Logstash - Kibana
PostgreSQL - масштабирование в моде, Valentine Gogichashvili (Zalando SE)
Mongodb
Ad

Viewers also liked (10)

PPT
SphinxSearch
PDF
Managing Big Data with MySQL
PPTX
Sphinx - High performance full-text search for MySQL
PPTX
MySQL Indexing - Best practices for MySQL 5.6
PPTX
MySQL Performance Tips & Best Practices
PPT
Fast querying indexing for performance (4)
PDF
MySQL Performance Tuning: Top 10 Tips
PDF
How to Design Indexes, Really
PDF
10 SQL Tricks that You Didn't Think Were Possible
PPTX
Indexing with MongoDB
SphinxSearch
Managing Big Data with MySQL
Sphinx - High performance full-text search for MySQL
MySQL Indexing - Best practices for MySQL 5.6
MySQL Performance Tips & Best Practices
Fast querying indexing for performance (4)
MySQL Performance Tuning: Top 10 Tips
How to Design Indexes, Really
10 SQL Tricks that You Didn't Think Were Possible
Indexing with MongoDB
Ad

Similar to Fusion-io and MySQL at Craigslist (20)

PDF
The Smug Mug Tale
PDF
My Sql Performance On Ec2
PDF
Pilot Hadoop Towards 2500 Nodes and Cluster Redundancy
PPTX
IO Dubi Lebel
ODP
Sanger HPC infrastructure Report (2007)
PDF
SUE 2018 - Migrating a 130TB Cluster from Elasticsearch 2 to 5 in 20 Hours Wi...
PDF
My Sql Performance In A Cloud
PDF
Scaling an invoicing SaaS from zero to over 350k customers
PPT
Again music
PPTX
Sql server scalability fundamentals
PDF
IMCSummit 2015 - Day 2 IT Business Track - 4 Myths about In-Memory Databases ...
PPTX
Scaling an ELK stack at bol.com
PDF
Redundancy for Big Hadoop Clusters is hard - Stuart Pook
PPTX
Hoodie: Incremental processing on hadoop
PPTX
Nexcess Magento Imagine 2014 Performance Breakout
PDF
Architecting a 35 PB distributed parallel file system for science
PDF
How We Use MongoDB in Our Advertising System
PDF
LUG 2014
PDF
Apache con na_2013_updated_2016
PPTX
Oracle Open World 2014: Lies, Damned Lies, and I/O Statistics [ CON3671]
The Smug Mug Tale
My Sql Performance On Ec2
Pilot Hadoop Towards 2500 Nodes and Cluster Redundancy
IO Dubi Lebel
Sanger HPC infrastructure Report (2007)
SUE 2018 - Migrating a 130TB Cluster from Elasticsearch 2 to 5 in 20 Hours Wi...
My Sql Performance In A Cloud
Scaling an invoicing SaaS from zero to over 350k customers
Again music
Sql server scalability fundamentals
IMCSummit 2015 - Day 2 IT Business Track - 4 Myths about In-Memory Databases ...
Scaling an ELK stack at bol.com
Redundancy for Big Hadoop Clusters is hard - Stuart Pook
Hoodie: Incremental processing on hadoop
Nexcess Magento Imagine 2014 Performance Breakout
Architecting a 35 PB distributed parallel file system for science
How We Use MongoDB in Our Advertising System
LUG 2014
Apache con na_2013_updated_2016
Oracle Open World 2014: Lies, Damned Lies, and I/O Statistics [ CON3671]

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
PDF
REPORT: Heating appliances market in Poland 2024
PDF
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
PPTX
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
PDF
Event Presentation Google Cloud Next Extended 2025
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Omni-Path Integration Expertise Offered by Nor-Tech
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Newfamily of error-correcting codes based on genetic algorithms
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Modernizing your data center with Dell and AMD
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
20250228 LYD VKU AI Blended-Learning.pptx
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
REPORT: Heating appliances market in Poland 2024
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
Event Presentation Google Cloud Next Extended 2025
Understanding_Digital_Forensics_Presentation.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
GamePlan Trading System Review: Professional Trader's Honest Take
madgavkar20181017ppt McKinsey Presentation.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Omni-Path Integration Expertise Offered by Nor-Tech
Advanced Soft Computing BINUS July 2025.pdf
Newfamily of error-correcting codes based on genetic algorithms
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Modernizing your data center with Dell and AMD
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Electronic commerce courselecture one. Pdf
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift

Fusion-io and MySQL at Craigslist

  • 1. Fusion-io and MySQL 5.5at CraigslistJeremy [email protected]@craigslist.org
  • 2. Story Time(but first, some architectureand numbers)
  • 3. Some Numbers~100,000,000 postings in live databaseOver 1,000,000,000 page views dailyHigh churn rate (avg lifetime ~14 days)~350-500GB on diskMySQL 5.5.x and InnoDB CompressionUsed to be ~100-150GB larger (or more!)All records touched multiple times98% of queries are OLTP
  • 4. The Posting CacheWeb Server Tier(apache/mod_perl)Posting Cache Tier(memcached + perl)Database Tier(MySQL)
  • 5. The ProblemAdding more memcached nodesLots of cache misses initiallyMySQL boxes take a big query load(time passes)MySQL boxes pegged many hours later(time passes)Next day: WTF?!
  • 6. Fire!Web Server Tier(apache/mod_perl)We were sending nearly 30% of requests all the way back to the DB tier instead of the normal 2-5%Posting Cache Tier(memcached + perl)Database Tier(MySQL)
  • 7. SolutionLet’s put the New Hardware in the poolAdd 4 machinesAnd it still sucked…The 4 were fast but only took ~20% of the hitsRemove all the Old HardwareRemove 14 of 18 machinesSounds totally sane, right?
  • 8. Old Hardware3 years old3U, Dual AMD 2218 HE32GB RAM16 15k RPM SAS disksRAID-10~2,000 iops/sec~325 watts
  • 9. New HardwareHP DL-380G6Intel Xeon X5570Dual Proc, Quad Core, HT16 “cores”Dual Fusion-io 640GB SLCSoftware RAID-0~80,000 iops/sec (conservative)~200 watts
  • 10. Before and AfterLoad AverageI/O Capacity of Data DisksNight and Day!Old boxes return to “steady state”
  • 11. This Chart Should be GreenAverage power for Fusion-io equipped server: ~200 watts.It was closer to 160 when replicating but not serving traffic.
  • 12. Fusion-io FTWCan you tell when this machine started getting live traffic?OLTP means disk matters WAY more than CPUInto the fire!
  • 13. The NumbersOld: 2,000iops / 325W = 6.15 iops/wattNew: 40,000iops / 200W = 200 iops/wattConservatively assumes a lot of degradation33-66x performance/wattBut let’s just call it 50x
  • 14. EpilogueA week later, we re-purposed 1 Fusion-io boxThe cache eventually did fillPoor slab size configuration had been causing early expiration of cached objects14 “old” servers: 4,500 watts28,000 iops/sec capacity3 “new” servers: 570 watts240,000+ iops/sec capacityWhat to do with 10+ spare “db class” boxes?