呵呵...我在想,姑且不論kernel, 光就Debian stable and FreeBSD 4.x, 到底哪一個又適合production environment呢?
No OS war intended here.
我用Debian的時間比Gentoo還長,自己的服務的單位所有Server都是Debian, 但自己個人管理的server全都是Gentoo.
Debian提供一個非常conservative yet highly reliable的production環境,而FreeBSD/Gentoo則提供bleeding-edge software with brandnew features! 穩定度跟功能性永遠是一個trade-off, 端看你應用的server場合是否你掌握到必要的穩定度了。舉例來說,如果今天只是單純的需要apache/php/mysql的話,那Gentoo 2004.1跟Debian woody/stable應該都是同樣穩定好用的,但Gentoo ships mysql4.0 whereas Debian ships mysql 3.23, 光mysql4的query cache機制, 更穩定的InnoDB storage engine, 動態調整的system variables機制,Full-Text search等就讓你覺得想拋棄mysql3.23了(相信我,尤其是query cache)...而Gentoo的PHP4.3.x跟Debian stable的4.1.2比起來,功能更是強上非常多,許多PHP 4.1.2要10行才能寫出來的code, 用PHP 4.3.x新的function可能一兩行就解決了,更增加developer開發的方便性與延展性。Apache2.0的好處更是了...前幾天我手上的postfix機器收到一封病毒信,Debian stable的postfix-amavis解該zip夾檔出現error, 但Gentoo的amavis and amavisd-new都可以迎韌而解,我實在沒力氣去trace到底Debian的那個老舊perl module造成uncompress的error了...我只知道Gentoo server會不斷的evolve! 用保守穩定的方式來編譯環境,永遠可以帶來同樣穩定的server平台,相反的Debian的保守,侷限於Debian stable本身的使用範圍,你不會想在Debian stable上面自己compile或打包軟體,甚至stable/testing/unstable的deb交叉混用,相對而言保守打造的Gentoo環境,在穩定性/效能性/功能性三者之間的tradeoff,整體來說又比Debian好太多了(Debian stable是以穩定性and安全性做為優先考量,效能性與功能性都並不突出)
話說回來,一旦碰到enterprise environment, 比方要安裝fiber card, 使用shared storage, multipathing, cluster filesystem或搭配Veritas, Oracle, CA等商用軟體的場合,那還是乖乖用Redhat or SuSE吧!因為那時後,穩定性的需求絕對大於功能性與效能性,你在怎樣tweak編譯的方式,永遠不及你換更快的CPU或是加一條RAM來得直接,甚至SQL的寫法都會讓你的query執行時間從30分鐘變成30秒(no kidding!), 此時使用certified Linux distribution並把效能調整focus在network topology, system architecture, overall performance analysis, storage I/O tuning, load balancing,etc.都會比堅持用Gentoo來得聰明。
謝謝scsi po的這篇文章,害我又忍不住寫了一堆...