Engineering Blog

Blog posts tagged 'Performance'

Domas MituzasInfrastructure Engineer at Facebook

Flashcache at Facebook: From 2010 to 2013 and beyond

Posted about 4 years ago
blog post · Infra · Data · Storage · Caching · Performance · Optimization

We recently released a new version of Flashcache, kicking off the flashcache-3.x series. We’ve spent the last few months working on this new version, and our work has resulted in some performance improvements, including increasing the average hit rate from 60% to 80% and cutting the disk operation rate nearly in half. Read more...

Ragavan SrinivasanEngineering at Facebook

Introducing the Facebook for Android Beta Testing Program

Posted about 5 years ago
blog post · Mobile · Infra · Android · Testing · Performance · Platform

Performance and reliability are top priorities across Android, but when we marry the platform's diversity of devices and OS versions with Facebook scale, the ability to test quality across experiences can become a challenge. Beginning today, we are announcing a beta program for Facebook for Android. This new tool will help us get performance data and feedback from more people ahead of release across a wider range of devices and versions of Android. The ultimate goal of the program is to release updates to Facebook for Android that are more reliable and better performing. Read more...

Paul SaabEngineering at Facebook

Adding :face: to every IP: Celebrating IPv6's one-year anniversary

Posted about 5 years ago

One year ago, Facebook joined several other major Internet companies to adopt IPv6 in support of the World IPv6 Launch. This was a particularly big milestone for the Internet because without IPv6, the number of people and devices connecting to the Internet cannot continue to grow. By creating new addresses, IPv6 is helping us keep Facebook (and the Internet) fast, responsive, and reliable. Read more...

Wez FurlongEngineering

Watchman: Faster builds with large source trees

Posted about 5 years ago
blog post · Infra · Performance

Like with many modern and complex web applications, much of the code behind Facebook goes through a series of build steps to transform it from PHP source code and assets into the running application. These steps include identifying where source code classes live, mapping web controller paths, spriting images, using CSS and JavaScript to package it up, and more. Some of these steps are only necessary when we're prepping for one of our twice-daily release pushes, but the rest are necessary for our engineers to have a functioning development environment. Read more...

Stoyan StefanovEngineer at Facebook

Speeding up the Activity social plugin

Posted about 5 years ago
blog post · Web · Infra · Platform · Performance · Optimization · Testing · JavaScript · User Experience

Last week we launched a lighter and faster Activity social plugin that we rewrote from the ground up. This is yet another plugin relaunched with page-loading performance in mind, following our recent Send, Like, Likebox, Login, Facepile, and Recommendations plugin optimizations. Read more...

Tim ArmstrongEngineering

LinkBench: A database benchmark for the social graph

Posted about 5 years ago
blog post · Data · Infra · Graph · MySQL · Performance · Optimization · Open Source · Testing · Storage

MySQL offers a good mix of flexibility, performance, and administrative ease, but the database engineering team continues to explore alternatives to MySQL for storing social graph data. There are several generic open-source benchmarks that could provide a starting point for comparing database systems. However, the gold standard for database benchmarking is to test the performance of a system on the real production workload, since synthetic benchmarks often don't exercise systems in the same way. When making decisions about a significant component of Facebook's infrastructure, we need to understand how a database system will really perform in Facebook's production workload. Read more...

Alex GartrellEngineering

McDipper: A key-value cache for Flash storage

Posted about 5 years ago
blog post · Infra · Data · Web · Storage · Caching · Performance · Server Infrastructure · Data Centers · Photos

Memcache has been used at Facebook for everything from a look-aside cache for MySQL to a semi-reliable data-store for ads impression data. Of course RAM is relatively expensive, and for working sets that had very large footprints but moderate to low request rates, we believed we could make Memcached much more efficient. Compared with memory, flash provides up to 20 times the capacity per server and still supports tens of thousands of operations per second, so it was the obvious answer to this problem. Read more...

Stoyan StefanovEngineer at Facebook

Like Box plugin: Now 2-4x faster

Posted about 5 years ago
blog post · Web · Platform · Performance · JavaScript · User Experience

Following in the footsteps of the new, faster Like button plugin, we've been busy rewriting the Like Box from the ground up, focusing on performance. Read more...

Drew ParoskiSoftware Engineer at Facebook

Speeding up PHP-based development with HipHop VM

Posted about 5 years ago
blog post · Infra · HipHop · Open Source · PHP · Performance

Here at Facebook, the HipHop team constantly strives to improve the efficiency of PHP execution and increase productivity for our PHP developers. In late 2011 we announced that we were pursuing a just-in-time (JIT) compilation approach called HipHop VM (HHVM) as a successor to the HipHop PHP-to-C++ compiler (HPHPc). The goals of the HHVM project are two-fold: build a production-ready virtual machine that delivers superior performance, and unify our production and development environments. Read more...

Sean LynchEngineering

Monitoring cache with Claspin

Posted about 5 years ago

When I started at Facebook, I joined the newly formed cache performance team in production engineering. Our goal was to get a handle on the health of our various cache systems and to facilitate quick troubleshooting, starting with answering the question, "Is this problem being caused by the cache?". Read more...

Optimizing for the MacBook Pro with Retina display

Posted about 5 years ago

As an intern on the user interface engineering team this summer, I helped build UI components that can be used across Facebook. The last project I completed before I left was to help improve the user experience on Apple's MacBook Pro with Retina display and future high resolution displays. Read more...

Adam WolffEngineering at Facebook

Under the hood: Improving messages

Posted about 6 years ago
blog post · Infra · Messages · Performance

Starting today, we're rolling out improved features and a new look for messages. Behind the scenes, we've also been improving the reliability of messages across the site. To address issues with disconnection, incorrect message counts, and missed and duplicated messages, we recently undertook an effort we called the "mercury project.". Read more...

Bob BaldwinEngineering at Facebook

Hackathon: Building a better Events view

Posted about 6 years ago
blog post · Culture · Web · Hacking · User Experience · Performance

One of our greatest traditions at Facebook is hackathons, a time when engineers across the company get together to hack on new ideas and try to build a prototype overnight. About a year ago, I decided to try working on Events at a hackathon and ended up building the Events permalink on the homepage. More recently, a couple of us felt there should be a better way for people to see their friends' birthdays a few days in advance and make plans for the weekend. So we built it. Read more...

Jordan DeLongEngineering

Folly: The Facebook Open Source Library

Posted about 6 years ago
blog post · Infra · Backend · Open Source · Compute · Development Tools · Performance

Facebook is built on open source from top to bottom, and could not exist without it. As engineers here, we use, contribute to, and release a lot of open source software, including pieces of our core infrastructure such as HipHop and Thrift. Read more...

Mary PimenovaEngineering

Moving Fast and Staying Reliable: Mary Pimenova

Posted about 6 years ago

Mary Pimenova is a recent grad and software engineer on the Site Performance team. Read on to learn how her team keeps the site reliable, how she got her start, and her advice for people breaking into software engineering. Read more...

MySQL and Database Engineering: Mark Callaghan

Posted about 6 years ago

Mark Callaghan joined Facebook in 2009. Now, working from home in Oregon on the database infrastructure team, he does whatever it takes to keep the database running and users like Trekkie George Takei, a favorite person to get updates from amongst Mark's team, happy. Read on for Mark's insights into fast-storage challenges, Facebook's MySQL roadmap, and more. Read more...

Benjamin K. BillingsSoftware engineer at Facebook

Meet a Facebook Engineer: Ben Billings

Posted about 6 years ago
blog post · Culture · Infra · Performance

Ben Billings has worn many hats since coming to Facebook in 2008. He began by building internal tools to help the business run and then moved to Infrastructure, where he managed the Site Speed team for a year and a half. As of last week, Ben has made the choice to return to day-to-day coding as a software engineer on the Ads team. Read on to learn more about how his goals changed over the years and what he’s learned about balancing growth and site performance while moving fast. Read more...

Clément GenzmerEngineering

My First Year Fighting Spam

Posted about 6 years ago
blog post · Infra · Security · User Experience · Performance · JavaScript

Fighting spam is really an arms race. As technology evolves, new threats emerge and keeping up is an absolute necessity. The Site Integrity team at Facebook works to protect people from spam, scams, account compromises, and other forms of abuse by building real-time classification systems that process millions of interactions per second and investigate and respond to new threats. Read more...

Carlos BuenoFixer at Facebook

Meet a Facebook Engineer: Carlos Bueno

Posted about 6 years ago
blog post · Culture · Performance · Optimization · Analytics · Tooling

At Facebook, our engineers collaborate to create an open environment where ideas win and are executed quickly. Beginning this week, our engineers will give you a look into what it's like to ideate and build at Facebook in our new "Meet a Facebook Engineer" Q&A series. Check back every week to hear from different engineers about what problems they're passionate about solving right now, what they're up to at Facebook and what advice they have for you. Read more...

Jason EvansEngineering

The HipHop Virtual Machine

Posted about 6 years ago
blog post · Infra · Open Source · HipHop · PHP · Performance · Languages


Minghui YangSoftware engineer at Facebook

Making HPHPi Faster

Posted about 6 years ago
blog post · Infra · Web · PHP · HipHop · Open Source · Performance · Development Tools · Languages · C++ · Optimization · Caching · Testingmore


Alethea PowerSite Reliability Engineer at Facebook

Making Facebook Self-Healing

Posted about 7 years ago

When your infrastructure is the size of Facebook’s, there are always broken servers and pieces of software that have gone down or are generally misbehaving. In most cases, our systems are engineered such that these issues cause little or no impact to people using the site. But sometimes small outages can become bigger outages, causing errors or poor performance on the site. If a piece of broken software or hardware does impact the site, then it's important that we fix it or replace it as quickly as possible. Even if it's not causing issues for users yet, it could in the future so we need to take care of it quickly. Read more...

Qiang WuInfrastructure Software Engineer at Facebook

Keeping the Site Reliable While Moving Fast

Posted about 7 years ago
blog post · Infra · Web · Data · Culture · Optimization · Performance · Backend · Platform · Chat · PHPmore


Lucy ZhangEngineering

Building Facebook Messenger

Posted about 7 years ago
blog post · Mobile · Messages · Android · iOS · Performance · Testing


Carlos BuenoFixer at Facebook

Doppler: Internet Radar

Posted about 7 years ago
blog post · Infra · Data · Web · Mobile · Performance · Optimization

The basic strategy for all performance and optimization work is the delicious measurement sandwich: measure, change something, then measure again. Detailed network measurements are especially hard to do because we only control one side of the transaction, our own servers. So we design network experiments that are lightweight, continuous, and gather as many samples as possible, even at the expense of detail and accuracy. A billion data points can cover a lot of methodological sins. Read more...

Xin QiResearch Scientist at Facebook

HipHop for PHP: More Optimizations for Efficient Servers

Posted about 7 years ago

Facebook switched all its production servers to HipHop in early 2010, also releasing the project’s source code at that time. At the time of the switch, HipHop reduced our average CPU usage by 50%, the six months after its release saw an additional 1.8x performance improvement, and in the past six months the team in conjunction with the open source community has made an additional 1.7x improvement. Read more...

Keep Updated

Stay up-to-date via RSS with the latest open source project releases from Facebook, news from our Engineering teams, and upcoming events.

Facebook © 2018