當我們在斯坦福大學完成 Yahoo 開發的時候,使用的兩台計算機分別是:運行 OSF 的 DEC Alpha 和運行 SunOS 的 Sparc 20。最初這兩台機器完全能滿足工作需要,但不久我們就發現所用的操作系統在設計時都不具備處理大量 HTTP 請求的能力。事實上,當時還沒有任何商業系統可以解決我們所面臨的擴展問題,這也是身處網絡技術最前沿所必須面對的無奈現實。
離開斯坦福之後,我們又用過幾種平台包括 SGI IRIX,Linux 和 BSDI,但其性能和穩定性都不能令人滿意,我們只得繼續尋找。隨著 Yahoo 的日漸流行,平台的可擴展能力和穩定性是最關鍵的。那時我們 FreeBSD 還一無所知,但當讀到有關介紹時,我決定試它一試。
以前我經歷過許多次 PC 操作系統那惱人的漫長的安裝過程,所以現在有些懷疑是否還想再用三天來安裝另一個系統。然而 FreeBSD 的安裝卻出乎意料的順利:到 FreeBSD 站點下載一張啟動軟盤映象文件,再用它引導計算機,並回答幾個問題,幾分鐘就通過網絡安裝完成了。這是我所遇到的安裝過程最簡單省力的操作系統。
幾天之後我安裝一台 FreeBSD 服務器加進我們的 Web 服務器集群中,結果它的性能明顯優於其它機器,而且運行也更穩定。試驗時間持續了幾個星期,我們對 FreeBSD 很滿意。除了誘人的價格之外,主要應歸功於 FreeBSD 的穩定性、運行性能和允許訪問源代碼的特點。從此,我們的產品和開發環境就幾乎離不開它了。
初時我們還對 FreeBSD 的技術支持和發展方向心存疑問,但事實證明我們能夠從其核心小組(core team)及其他用戶處得到大力的支持。有了這些支持和源代碼,我們遇到的問題幾乎都可以立即得到解決。在過去的兩年中,我們對 FreeBSD 及其工作人員有了更多的了解,也明確了它的組織結構和發展方向。
我們最初使用 Pentium 100 來運行 FreeBSD 2.0.5.,隨後逐漸把其余的服務器也轉向 FreeBSD,到現在我們有 50 多台服務器全都運行不同版本的 2.1 STABLE。同時我們還在測試 2.2版,希望能在半年內取代 2.1。我們的機型從 64MB 內存的 Pentium 100 到 256MB 內存的 PPro200 都有,當需要進行額外的 I/O 操作時,就利用能掃描多重磁盤的 ccd,網絡則采用100Mbps 的以太網。整體的系統配置性價比極高。(編者注:ccd 可將多個物理磁盤鏡象成一個大的邏輯磁盤)。
FreeBSD 運行非常穩定,我們已連續 180 天每天接受 400 萬以上 HTTP 請求。在一台 128MB 內存的 PPro200 上,結合 ccd 磁盤掃描技術,我們可一天處理 1200 萬 HTTP 請求。美中不足的就是,為 FreeBSD 寫的第三方軟件極少。盡管這種情況已在改變,但短期內也難見成效。目前唯一的途徑就是由 Yahoo! 和其他公司聯合起來,讓軟件開發商們把注意力轉向這個龐大的市場。
為了能在快速發展的同時升級我們的服務,我們期望能利用 SMP 來達到更優的性能價格比。從這個角度看,在其它平台(如 Alpha)上運行 FreeBSD 也是可行的。FreeBSD 還可能提供更多的服務如大型的可靠的 RAID 文件服務器。總之,我們認為 FreeBSD 在性能,穩定性,技術支持方面都十分出色,在使用它兩年之後,我們還未發現任何其它產品能取而代之。