• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 不可抵擋的開源軟件潮流(二)

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    接上一篇 穩定性 在Internet上,有很多有關OSS/FS穩定性的爭論,不過,我們完全可以通過數字來說明問題。 1.1995年的調查顯示,OSS/FS應用程序更加穩定。1995年,Fuzz Revisited的論文(http://www.cs.wisc.edu/~bart/fuzz/fuzz.html )就是通過對給應用程序
    接上一篇

    穩定性

    在Internet上,有很多有關OSS/FS穩定性的爭論,不過,我們完全可以通過數字來說明問題。

    1.1995年的調查顯示,OSS/FS應用程序更加穩定。1995年,Fuzz Revisited的論文(http://www.cs.wisc.edu/~bart/fuzz/fuzz.html)就是通過對給應用程序輸入隨機的字符來查看其抵抗崩潰和死機的能力。雖然有的研究人員對這種方法不以為然,認為這種方法不能夠發現細微的錯誤,但進行研究的作者指出,這種方法還是可以查出很多在編寫程序過程中的錯誤,并且也是發現軟件缺陷的一個好辦法。這種方法的測試中,發現OSS/FS有更好的可靠性。在該論文的第2.3.1節中說:“商業系統和Linux間的比較也很有意思。對1995年的7個商業系統的測試中,其平均出錯率是23%,而Linux的出錯率只有9%,同時GNU的工具程序的出錯率只有6%?!彪m然這次測試是在1995年做的,但在這些年中,專有軟件并沒有什幺大的舉動。而開發OSS/FS的隊伍日益壯大,并且對OSS/FS的測試也更加嚴格。

    2.ZDnet在為期10個月的實驗后得出結論:Linux要比Windows NT可靠。在這次實驗中,ZDnet比較了Caldera System OpenLinux、Red Hat Linux和微軟的Windows NT Server 4.0(SP3)。三個系統使用的都是相同的硬件(單CPU)。測試中,標準的Internet、文件和打印服務等網絡請求并行地發給每一個服務器。結果是:NT平均每6個星期崩潰一次,每一次崩潰需要30分鐘來修復,也許這聽起來還算可以。不過,Linux服務器卻從來沒有出現過崩潰的情況。

    3.據Bloor Research的實驗(http://gnet.dhs.org/stories/bloor.php3),Linux要比Windows NT可靠。這個實驗讓兩種操作系統都運行在配置相對都比較低的老奔騰機上。在為期一年的測試中,Linux只因為硬件的故障而崩潰過一次(磁盤問題),花費了4個小時來修改這個問題,其給出的有效可用時間為99.95%。Windows NT崩潰了68次,原因分別是磁盤問題(1次)、內存問題(26次)、文件管理問題(8次)和各種奇怪的問題(33次)。所有這些問題花費了65個小時的時間進行修復,其給出的有效可用時間為99.26%。為什么Linux出現的問題和Windows NT出現的很多問題都與硬件有關呢?可能是運行Windows機器的硬件比較差,也可能是Linux作了很多卓有成效的工作,避免了由于硬件問題導致的錯誤。而文件管理的錯誤則是Windows自己的原因,一些奇怪的問題也應該是Windows本身的問題。這次實驗的結果很明顯:Linux要比Windows可靠得多。

    4.Reasoning咨詢公司的研究發現,Linux內核中的TCP/IP Internet協議棧缺陷要比其它的專有操作系統的相應協議棧少,并且是最好的嵌入式操作系統。在報告中(http://www.businesswire.com/cgi-bin/f_headline.cgi?bw.021103/230420300),Reasoning比較了6種操作系統的TCP/IP。除Linux內核之外,其它有三個是用于商業用戶的操作系統,另外兩個用于商業電信設備中。Linux內核一般都被用作為通用目的的操作系統。按理來說,嵌入式操作系統應該具有更好的可靠性,因為在嵌入式市場中,穩定性本來就非常關鍵。這次研究過程沒有受到任何Linux廠商或者Linux競爭對手的委托和影響,因此不可能有任何偏袒。

    Reasoning公司使用自動工具來查找代碼中的5種缺陷:內存漏洞、釋放空指針、失敗的存貯單元分配、數組溢出和沒用的參數。研究發現,每81852行Linux內核代碼行(SLOC)中,有8個缺陷。其所占比率相當于每一千行內核代碼(KSLOC)中有0.1個缺陷。相比較而言,另外3個專有操作系統(其中兩個是Unix)的缺陷率是0.6-0.7/KSLOC,也就是Linux內核的缺陷率要少于所有參評的通用操作系統。參評的2個嵌入式操作系統的缺陷率是0.1-0.3/KSLOC,因此,Linux內核的缺陷率實際上要好于其它的嵌入式操作系統。

    Reasoning公司對此結果的解釋是:首先,任何人都可以看開放源代碼軟件的源代碼。對大型開放源代碼應用軟件,如Linux內核、Apache網絡服務器等,無數的人可閱讀其源代碼,他們可以學習這些代碼是如何工作的,也可以做出修改,或者發現錯誤。因為整個開發過程是開放式的,這些獨立的評估人員可以報告他們發現的錯誤甚至提出合適的修改意見。

    當然,這并不是說所有的OSS/FS都有非常高的質量,但它的確證明了OSS/FS完全可以有非常不錯的質量。

    5.瑞士的Syscontrol AG公司的分析報告指出,平均來看,使用IIS Web服務器軟件的站點,其處于非聯機狀態的時間要比使用Apache軟件的站點多出2倍。這個實驗進行了3個月的時間,并且測試了瑞士國內100個知名的Web站點,每隔5分鐘從4個不同的地方進行檢測(這可是一項不小的工程)。表8是各個服務器的停機時間(以小時為單位)。

    表8 各種服務器的停機時間(單位:小時)
    javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">

    從3個月的測試結果我們可以看出,Apache擁有最好的表現。事實上,就算是Apache表現最差的那個月,也要比IIS表現最好的那個月還是好。雖然Netscape和Apache之間的比較是無關緊要的,不過,從二者的比較我們可以看出,可以自由獲得的OSS/FS(Apache)在可靠性上完全可以和最可靠的專有商業解決方案相媲美。

    6.Netcraft也進行了另外一個與上述報告獨立的有關正常運行時間的研究,結果表明OSS/FS的表現非常好。Netscraft持續跟蹤了50個正常運行時間最長,并且經常被訪問的站點。報告(http://www.dwheeler.com/frozen/top.avg.2001aug3.html)發現有92%(46/50)的站點使用的是Apache,一個站點的Web服務器為未知,其它3個不是Apache。而在這三個中,只有1個顯示使用的是IIS,而這個服務器還值得懷疑,因為報告顯示該服務器的操作系統是BSD。關于這個矛盾的解釋是,可能位于前端的BSD系統“遮掩”了IIS Web站點,也可能是Web服務器通過使用錯誤的類型來迷惑攻擊者。在這次調查中,有50%(25/50)使用的操作系統是OSS/FS操作系統,并且只有類Unix的操作系統有最好的正常運行時間。在調查中,所有具有最好運行時間的系統都不是Windows系統。

    當然這個方法也有一些缺點,對此Netcraft進行了討論(http://uptime.netcraft.com/up/accuracy.html)。但至少有一點是可以肯定的,在具有較長正常運行時間的系統中,Unix和Linux在數量上比Windows占有絕對的優勢,所以可以充分證明這兩個系統的可靠性要比Windows好。

    有關Unix與Windows就可靠性的問題,還有很多事實案例,在此就不一一例舉。

    不管是什幺測試方法,在實際環境中以可靠的方式收集大量的數據是非常重要的。因此,我們看到的很多數據都是比較老的Windows版本和比較老的Linux版本之間的比較。問題的關鍵是這些比較是公平的,因為它們是同時代的產品。無可辯駁的事實證明,OSS/FS的確具有非常好的可靠性,至少在一些應用環境中是這樣的。

    性能

    一直以來,在同樣的硬件上對Linux和微軟的Windows進行性能上的比較時,基于不同的假設時,總會得出不同的結果。但不管什么時候,OSS/FS都表現出了極強的競爭力,而在很多環境中,它都是勝者。

    性能指標對于假定和環境非常敏感,所以最好的指標是你自己創立的可以滿足自己需求的模式。如果不是這樣,你也應該采用沒有偏見的方法,因為采取有偏見的方法,很容易得到一個不公正的結果。

    1.2002年,TPC-C進行的數據庫測試發現,基于Linux的系統其運行速度要比基于Windows 2000的系統快。測試使用的硬件系統是HP ProLiant DL580(32位Intel Xeon 900MHz CPU),運行的是Oracel 9i R2 Enterprise,使用的操作系統是Red Hat Linux Advanced Server和微軟的Windows 2000 Advanced Server。我們可以從網上查看Linux(http://www.tpc.org/tpcc/results/tpcc_result_detail.asp?id=102091601)和Windows(http://www.tpc.org/tpcc/results/tpcc_result_detail.asp?id=102060501)的測試結果。需要注意的是,在這些測試中,HP并沒有對Linux內核做任何優化。

    2.PC Magazine在2001年9月做的有關文件服務器性能方面的測試也發現Linux和Samba結合的模式,其性能要遠遠勝過Windows 2000。測試的結果是Linux的吞吐能力是130MB/秒,而Windows只有78MB/秒(Linux比它快了78%)。

    3.2002年4月,PC Magazine又對文件服務器的性能進行測試。這一次,Linux與Samba的結合再次擊敗了Windows 2000,并且超過了Windows 2000 100%,其可以處理的終端數則超過了4倍。BF集團的IT管理人Jay White認為對于混雜有Windows和Linux服務器的環境中,Samba是最有用的服務器軟件之一。他說:“我們的Samba服務器已經持續正常運行了394天?!?

    4.在Sys Admin雜志的測試中,Linux更是打敗了Solaris、Windows 200和FreeBSD(所有測試都是在Intel平臺上進行)。在2001年7月的Sys Admin雜志上,名為《誰是最快的運行高性能網絡應用程序的操作系統》(http://www.sysadminmag.com/articles/2001/0107/0107a/0107a.htm)的文章指出了上述的測試結果。測試過程中,并沒有對任何系統進行優化,只是增加了并發的TCP/IP連接數。這對于測試多線程和異步應用程序是必須的。他們在完全相同的機器上使用了各個操作系統的最新版本。

    對于上述結果,FreeBSD的開發人員認為在缺省情況下FreeBSD強調的是穩定性(而不是速度),所以它們認為要獲得最佳的性能,需要對其進行一些優化。為此Sys Admin又就優化后的FreeBSD進行了測試(http://www.sysadminmag.com/articles/2001/0108/0108q/0108q.htm)。他們進行的優化是切換到了“異步”掛載模式,這顯然可以加快速度(但它同時也增加了在電源出現故障時丟失數據的風險)。這是Linux中缺省情況下使用的模式,并且在FreeBSD中也很容易更改,所以這應該說是非常小也非常合理的更改。不過,FreeBSD的開發人員還做了其它很多的更改,比如,它們增加了17個FreeBSD內核補丁,并且使用了很多經過優化的命令。而其它的操作系統并沒有進行這樣的優化,所以將優化后的系統和沒有優化后的系統進行比較是不公平的。

    Sys Admin共進行了兩個方面的性能測試

    電子郵件傳送服務器發送大量電子郵件時的速度:在100個并發傳送時,幾個操作系統并沒有區別,但是隨著數量的增加,各系統在傳送速度上開始顯示出明顯的不同。在500個并發傳送時,Linux已經明顯超過了除被優化過的FreeBSD之外的所有系統。在1000和1000以下并發連接傳送時,經過優化的FreeBSD和Linux的性能非常接近,但當并發連接數在1000-1500個時,優化后的FreeBSD的性能就開始持續下降,而Linux則沒有這個問在題。當并發連接數超過3000時,優化后的FreeBSD系統就出現了故障。在并發連接數為1500個時,Linux的傳送速度是130萬封郵件/小時,Solaris約為100萬封,Windows 2000和沒有經過優化的FreeBSD則只有90萬封。

    “磁盤I/O”的測試:就是在同一目錄中創建、寫入和讀取1萬個同樣大小的文件。在這項測試中,當文件比較小時,Solaris是最慢的,沒有經過優化的FreeBSD第二慢,Windows 2000和Linux的速度差不多。在有些時候,優化后的FreeBSD的速度是最快的,比如當文件大小為8k或者16k時。當文件大小增加至64k到128k之間時,各操作系統開始表現時比較大的差異。其從快到慢的順序依次為Linux、Windows 2000、FreeBSD、Solaris。在文件大小為128k時,FreeBSD比Windows 2000慢16%,比Linux慢39%。將這些不同大小的文件的測試時間進行相加后,Linux為542秒,Windows 2000為613秒,優化后的FreeBSD為630秒,沒有優化的FreeBSD為2398秒,Solaris為3990秒。

    5.使用TUX的Linux的SPEC值要好于IIS。SPEC(Standard Performance Evaluation Corporation)是一個專門開發公正的測試基準的公司(http://www.spec.org/),該公司開發并且維護著一系列完整的測試基準。我們可以比較Windows和Linux的SPECweb99的結果(測試的是Web服務器的性能)。測試用的機器都來自Dell,Linux使用的是TUX Web服務器,Windows使用的是IIS。它們使用的是同樣的硬件。表9是2001年7月13的測試結果(數值越大表示性能越好)。

    表9 Web服務器性能測試結果

    6.IBM的測試發現Linux在管道(一種I/O機制)應用上性能要優于Windows。管道是一種通用的在各個程序間進行通信的低級機制。IBM的這次測試發現,在Red Hat 7.1(內核為2.4.2)中,管道的I/O峰值約為700MB/秒,對一些非常大的塊進行操作時穩定在100MB/秒。與之相比,Windows 2000的峰值為500MB/秒,對非常大的塊進行操作時穩定在80MB/秒,而Windows XP專業版的結果最讓人失望,其I/O峰值僅為120MB/秒,穩定狀態也只為80MB/秒,所有測試使用的是相同的硬件平臺,并且都運行在GUI模式中。

    而在2002年2月另外一個測試中,對操作系統管理進程和線程的能力進行了測試。使用的系統是Red Hat Linux 7.2、Windows 2000 Advanced Server(Win2K)和Windows XP專業版(WinXP),所有的測試都在一臺Thinkpad 600X(內存為320MB)上進行。Linux每秒可管理1萬個線程,Windows 2000則只有5000個,Windows XP為6000個。在進程創建方面,Linux每秒可創建330個進行,Windows 2000則可創建200個進程,而Windows XP可創建的進程數還不到160個。

    7.eWeek對OSS/FS數據庫MySQL的測試發現它可以和專有數據庫產品Oracle相媲美。eWeek Labs/PC Labs對一些數據庫進行了比較,并于2002年2月25日發布了測試結果(http://www.eweek.com/article2/0,3959,293,00.asp)。對數據庫產品進行評測并不是一件容易的事情,因為數據庫廠商一般都會在其許可條款中寫入“no-benchmarking”的內容,以此來阻止公眾對其進行評測比較。事實上,自從1993年10月PC Magazine在相同的硬件上對數據庫產品進行了測試以外,eWeek是第二個做這件事情的人,而這其中整整間隔了9年。不過,他們還是冒著風險公布了他們對5個數據庫服務器產品的評測結果,這5個產品是:IBM的DB2 7.2(FixPack5)、微軟的SQL Server 2000企業版(SP2)、MySQL AB的MySQL 4.0.1 Max、Oracle的Oracle 9i Enterprise Edition 9.0.1.1.1和Sybase公司的ASE(Adaptive Server Enterprise)12.5.0.1。他們的目標是在使用基于Java的應用服務器時,看一看哪一個數據庫服務器擁有最好的性能。測試結果發現,Oracle 9i和MySQL具有最好的性能和可擴展性,在大部分情況下,Oracle 9i稍稍領先于MySQL,但Oracle更加昂貴。

    測試中,MySQL還表現出了一些非常重要的創新。它的性能表現,主要得力于其“查詢緩沖”的功能,而其它的數據庫都不包含該功能。此外,在5個被測試的數據庫中,只有Oracle 9i和MySQL在運行他們為測試寫的應用程序時,8個小時中沒有產生出現任何問題,而其它的數據庫服務器都出現了很多問題。

    在這次測試中,OSS/FS程序在性能上和可靠性上打敗了大部分的專有軟件對手。雖然Oracle的表現要比它好,但Oracle卻非常昂貴。很顯然,在選擇數據庫服務器時,MySQL是一個非常值得考慮的選擇。

    雖然MySQL AB也有一個與其它產品的評測比較,但由于其并不是一個獨立的實驗室,所以在此我們對其不予引用(http://www.mysql.com/information/benchmarks.html)。

    8.2003年2月,科學家使用Linux打破了Internet傳輸速率的記錄??茖W家從加利福尼亞的Sunnyvale以923MB/秒的速率傳送了6.7GB沒有經過壓縮的數據至荷蘭的阿姆斯特丹,只花了58秒的時間。這個數據量相當于4個小時DVD品質的電影,其傳輸速度比典型的家用寬帶網快了3500倍。該小組使用的是運行有Debian Linux(阿姆斯特丹)和Red Hat Linux(Sunnyvale)的PC。

    上面我們通過數字來說明了OSS/FS在市場份額、穩定性和性能方面的出色表現,下一期我們將重點來看一看OSS/FS在可擴展性、安全性、TCO(總體擁有成本)、用戶對OSS/FS不必要的擔憂以及OSS/FS在桌面應用等方面的問題。

    作者簡介
    David A. Wheeler是一個計算機安全專家,長期從事與大型的高風險軟件系統有關的工作。其主要的代表著作有《Software Inspection:An Indeustry Best Practice》、《Secure Programming for Linux and Unix HOWTO》、《The Lovelace Tutorial》;文章有《More than a Gigabuck: Estimating GNU/Linux’s Size》、《The Most Important Software Innovations》等。如果想對作者本人和其所著作品有更進一步的了解,可以登錄他的個人主頁:http://www.dwheeler.com。在該主頁上,我們可以看到作者近年來發表的大量與軟件安全和開放源碼有關的文章。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>