Engineering Blog

Blog posts tagged 'Optimization'

Carlos BuenoFixer at Facebook

The Mature Optimization Handbook

Posted about 4 years ago
blog post · Data · Culture · Testing · Performance · Optimization · Languages

I spent a good chunk of the past year working on an internal training class and a short book about performance measurement and optimization. You can download it here. Below is an excerpt. Read more...

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...

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...

Product engineering at Facebook

Posted about 5 years ago

Only a few years ago, 10 engineers were responsible for innovating, building and maintaining all of the products (a.k.a. features) on Facebook, including Profiles, Pages, Groups, Messages, Photos, and Events. These people were our first product engineers, a role that is a mix of generalist engineer, product designer, and product manager. 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 SimpkinsEngineering

Back-end build systems and toolchain: Adam Simpkins

Posted about 6 years ago
blog post · Infra · Culture · Backend · Compute · Optimization

Adam Simpkins is a software engineer on the traffic infrastructure team. Read more...

Michael AdkinsSoftware engineer at Facebook

DMARC: Building Open-Source Email Authentication Technologies

Posted about 6 years ago
blog post · Infra · Security · Open Source · Optimization · User Experience

As one of the largest senders of email on the Internet, Facebook is also one of the largest phishing targets. After working at an ISP on email security and abuse issues for several years, I came to Facebook because I wanted to have a greater impact on the email ecosystem. Supported by Facebook’s commitment to open technologies, in 2010 I started working with a handful of other email security experts on a major anti-phishing effort called DMARC. 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...

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

Read more...

Alethea PowerSite Reliability Engineer at Facebook

Making Facebook Self-Healing

Posted about 6 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 6 years ago
blog post · Infra · Web · Data · Culture · Optimization · Performance · Backend · Platform · Chat · PHPmore

Read more...

Carlos BuenoFixer at Facebook

Doppler: Internet Radar

Posted about 6 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...

Amir MichaelEngineering

Inside the Open Compute Project Server

Posted about 7 years ago
blog post · Infra · Data · Data Centers · Hardware · Open Compute · Open Source · Optimization

We launched the Open Compute Project, an effort to nurture industry collaboration on the best practices and implementation of power- and cost-efficient compute infrastructure, yesterday. At the heart of the project lies the Open Compute server, a highly optimized server layout developed by Facebook engineers and industry partners. Read more...

Jonathan HeiligerVP Tech Operations at Facebook

Building Efficient Data Centers with the Open Compute Project

Posted about 7 years ago

A small team of Facebook engineers spent the past two years tackling a big challenge: how to scale our computing infrastructure in the most efficient and economical way possible. 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...

Alex HimelEngineering at Facebook

Building Realtime Insights

Posted about 7 years ago
blog post · Web · Compute · Platform · Analytics · Optimization

Social plugins have become an important and growing source of traffic for millions of websites over the past year. We released a new version of Insights for Websites last week to give site owners better analytics on how people interact with their content and to help them optimize their websites in real time. Read more...

Stefan ParkerUI Engineer at Facebook
Liyin TangSoftware engineer at Facebook

Join Optimization in Apache Hive

Posted about 7 years ago
blog post · Infra · Data · Open Source · Optimization · Performance

With more than 500 million users sharing a billion pieces of content daily, Facebook stores a vast amount of data, and needs a solid infrastructure to store and retrieve that data. This is why we use Apache Hive and Apache Hadoop so widely at Facebook. Hive is a data warehouse infrastructure built on top of Hadoop that can compile SQL queries as MapReduce jobs and run the jobs in the cluster. Read more...

Yan YuEngineering

Crowdsourcing Mobile Device Capabilities

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

Unlike desktop browsers, the capabilities of mobile browsers vary widely from phone to phone. This presents a number of challenges to large scale mobile web development. For example, what can be fit on a 128x96 low-end phone is obviously different from what can be fit on an iPhone or a Nokia N900 with an 800x480 screen. In addition, only about 50% of smartphones today support JavaScript let alone HTML5. Read more...

Scott MacVicarEngineering

HipHop for PHP: six months later

Posted about 7 years ago

It's been six months since we released HipHop and I wanted to share an update on its progress. In February we released 693,613 lines of source code which on average reduced our CPU usage here at Facebook by about 50%. Since February, the team has made HipHop another 1.8 times faster and all of that code is open source. We’ve also seen improvements to PHP itself with the additions to PHP's trunk in April being about 10% faster than 5.3. Read more...

Carlos BuenoFixer at Facebook

Internet Cartography

Posted about 7 years ago

A telegram from San Francisco to Hong Kong in 1901 must have taken many hops through British Empire cables to Europe, through the Middle East, and so on. London to New York was fast and direct. The vestiges of the Spanish and Portuguese Empires show up in the many links between South America, the Caribbean archipelago, and the Iberian peninsula. A cool thing is that you can measure these relative latencies yourself, using the present-day internet. If you run a website with a decent amount of worldwide traffic, you can use that traffic to map out how the internet responds with regards to you, and see how that matches with the gross structure of the 'net. I wrote about a cheap and cheerful way to generate this data last year, and the code has since been open-sourced as part of Yahoo's Boomerang measurement framework. Read more...

Changhao JiangEngineering at Facebook

BigPipe: Pipelining web pages for high performance

Posted about 8 years ago
blog post · Web · Compute · Optimization · JavaScript · Performance · User Experience

Site speed is one of the most critical company goals for Facebook. In 2009, we successfully made Facebook site twice as fast, which was blogged in this post. Several key innovations from our engineering team made this possible. In this blog post, I will describe one of the secret weapons we used called BigPipe that underlies this great technology achievement. BigPipe is a fundamental redesign of the dynamic web page serving system. The general idea is to decompose web pages into small chunks called pagelets, and pipeline them through several execution stages inside web servers and browsers. This is similar to the pipelining performed by most modern microprocessors: multiple instructions are pipelined through different execution units of the processor to achieve the best performance. Although BigPipe is a fundamental redesign of the existing web serving process, it does not require changing existing web browsers or servers; it is implemented entirely in PHP and JavaScript. Read more...

Jason SobelEngineer at Facebook

Making Facebook 2x Faster

Posted about 8 years ago

Everyone knows the internet is better when it's fast. At Facebook, we strive to make our site as responsive as possible; we've run experiments that prove users view more pages and get more value out of the site when it runs faster. Google and Microsoft presented similar conclusions for their properties at the 2009 O'Reilly Velocity Conference. So how do we go about making Facebook faster? The first thing we have to get right is a way to measure our progress. We want to optimize for users seeing pages as fast as possible so we look at the three main components that contribute to the performance of a page load: network time, generation time, and render time. Read more...

Haiping ZhaoSenior Server Engineer at Facebook
Yishan WongEngineering

Inviting you all to Hackathon

Posted about 8 years ago

As you might be aware, one of Facebook's oldest and greatest traditions is the Hackathon. Sometimes the best way to find out if an idea is good is to try it out, and that's part of what Hackathon lets us do. 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.

Subscribe
Facebook © 2017