Yahoo! and FreeBSD
by David Filo, Co-Founder of Yahoo!
Yahoo! began life at Stanford University on a DEC Alpha box running OSF and a Sparc 20 running SunOS. They served us well for the first year but we learned that neither system was really designed for handling a large number of HTTP requests. In fact we were unable to find any commercial system that addressed the problems we were facing with scalability. This was one of the unfortunate realities of being at the forefront of Web technology.

After leaving Stanford we used a few platforms including SGI IRIX, Linux, and BSDI. Not being impressed with anything we'd used (in terms of performance and stability), we were still looking for alternatives. As Yahoo! grew more popular, both scalability and stability were becoming critical to our success. At the time none of us knew anything about FreeBSD, but after seeing references to it I thought I'd give it a try.

Having spend many frustrating hours trying to install other PC OS's, I was a bit skeptical. I had no intention of spending three days trying to install yet another one. To my surprise I went to the FreeBSD Web site, downloaded the floppy boot image, booted a PC with the created floppy, answered a few install questions, and a few minutes later FreeBSD was installing over the Net. The real surprise was when I cam back later to a fully configured system that actually worked. If anything had gone wrong with that install it would likely been the end of that trial. Luckily for us that it was the easiest and most painless OS installs I had ever experienced.

A couple of days later we added a FreeBSD box to our cluster of Web servers. Not only did it out-perform the rest of our machines, but it was more stable. A few weeks into this experiment and we were sold. Although the

price was certainly attractive, it was the stability, performance, and access to the sourcode that sold us. Ever since then we've used FreeBSD almost exclusively for production as well as our development environment.

Early on the two big unknowns were support issues and the future direction of FreeBSD. The support we've received from the core team as well as other users has been excelent. This support along with the source code has allowed us to solve any issues we've had almost immediately. Likewise we were pleasantly surprised with the organization and direction of the FreeBSD project as we learned more about it and the people involved over the last two years.

We started with a single Pentium 100 box running FreeBSD 2.0.5. We eventually migrated the rest of our production servers to FreeBSD and today we have over 50 servers running various versions of 2.1 STABLE. We are in the process of testing 2.2 STABLE and hope to convert during the next 6 months. The machines we use range from a Pentium 100 with 64MB of memory to a PPro200 with 256MB of memory. When additional I/O performance is needed we use ccd with stripping over multiple disks. 100Mbps fast ethernet is used for networking. Overall an extremely cost effective solution.

FreeBSD has been extremely stable for us. We've seen over 180 days of uptime on a machine serving over 4 million HTTP requests per day. Performance has been impressive too. With disk striping using ccd we've been able to serve over 12 million HTTP requests per day on a PPro200 with 128MB of memory. One of the only negative things we've found with FreeBSD has been

the lack of third party software. Fortunately this is changing, but there's still a long way to go. The only way for this to change is for Yahoo! along with other organizations to convince the software vendors that there is a big enough market for their products.

One of our big technical challenges is scaling our services in the face of rapid growth. Looking forward we are very interested in using SMP to achieve even better price/performance. FreeBSD on other platforms (e.g. Alpha) is also interesting from the price/performance perspective. We are also looking at FreeBSD to provide other services such as large reliable RAID file servers. Overall we've found FreeBSD to excel in performance, stability, technical support, and of course price. Two years after discovering FreeBSD, we have yet to find a reason why we should switch to anything else.

David Filo,

Co-founder of Yahoo!

Taken from FreeBSD News

Issue 1