話說網站壓力測試

   作爲一名合格的網站的架構師,需對網站整體能承載的壓力瞭如指掌,只有這樣才能做到運籌帷幄,決勝千里。

   尤其是一個新項目在上線之前,首要做的是在預演環境,模擬用戶訪問進行壓測,這樣,對於其能承受多大訪問量、在高併發情況下,web服務及服務器硬件的性能如何?
這些數據指標我們都要收集。以此來對上線後的真實環境下,用戶體驗效果的優劣做出正確評估。
    
  但是,在壓力測試中存在一個共性,那就是壓力測試的結果與實際負載結果不會完全相同,就算壓力測試工作做的再好,也不能保證100%和線上性能指標相同。面對這些
問題,我們只能想方設法去模擬。所以,壓力測試非常有必要,有了這些數據,我們就能對網站整體架構規劃、架構升級、後期運維做到心中有數。

  在線上環境中,常用的網站壓測工具有webbench、ab(apache bench)、tcpcopy、loadrunner、httpload等。
  軟件名稱簡介優缺點

  webbench由Lionbridge公司開發,主要測試每秒鐘請求數和每秒鐘數據傳輸量,同時支持靜態、動態、SSL,部署簡單,靜動態均可測試。適用於小型網站壓力測試(單例最多可模擬3萬併發)

  ab(apache bench)Apache自帶的壓力測試工具,主要功能用於測試網站每秒鐘處理請求個數,多見用於靜態壓力測試,功能較弱,非專業壓力測試工具

  tcpcopy基於底層應用請求複製,可轉發各種在線請求到測試服務器,具有分佈式壓力測試功能,所測試數據與實際生產數據較爲接近後起之秀,主要用於中大型壓力測試,所有基於 tcp的packets均可測試。

  loadrunner壓力測試界的泰斗,可以創建虛擬用戶,可以模擬用戶真實訪問流程從而錄製成腳本,其測試結果也最爲逼真模擬最爲逼真,並可進行獨立的單元測試,但是部署配置較爲複雜,需要專業人員纔可以。

    http_load是基於linux平臺的性能測試工具,它體積非常小,僅100KB。它以並行複用的方式運行,可以測試web服務器的吞吐量與負載。

    當然,上述的壓測軟件在特定的環境可能無法滿足我們的需求,怎麼辦呢?可以在現有的基礎上,做一下小小的改造,如“爲benchmark添加gzip功能

    如果你立志做一名優秀的網站架構師,上述的benchmark工具,則需要你花費定量的時間好好研究,古語“工欲善其事,必先利其器”,磨刀不誤砍柴工。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章