Gatling:新一代伺服器效能測試工具

來源:互聯網
上載者:User

21世紀是雲的世紀, 大規模雲網已經出現了,而且在未來幾年內會得到高速發展,從而使得雲端式的系統也會越來越多。如果要開發一款高效能的雲系統,伺服器效能測試是一個必不可少的環節。今天,就來介紹一款新一代伺服器效能測試工具Gatling。

一,什麼是Gatling

Gatling是一款基於Scala 開發的高效能伺服器效能測試工具,它主要用於對伺服器進行負載等測試,並分析和測量伺服器的各種效能指標。Gatling主要用於測量基於HTTP的伺服器,比如Web應用程式,RESTful服務等,除此之外它擁有以下特點:

支援Akka Actors 和 Async IO,從而能達到很高的效能

支援即時產生Html動態輕量報表,從而使報表更易閱讀和進行資料分析

支援DSL指令碼,從而使測試指令碼更易開發與維護

支援錄製並產生測試指令碼,從而可以方便的產生測試指令碼

支援匯入HAR(Http Archive)並產生測試指令碼

支援Maven,Eclipse,IntelliJ等,以便於開發

支援Jenkins,以便於進行持續整合

支援外掛程式,從而可以擴充其功能,比如可以擴充對其他協議的支援

開源免費

Gatling適用的情境包括:測試需求經常改變,測試指令碼需要經常維護;測試環境的客戶機效能不強,但又希望發揮硬體的極限效能;能對測試指令碼進行很好的版本管理,並通過CI進行持續的效能測試;希望測試結果輕量易讀等。

二,Gatling與JMeter

JMeter是目前使用最為廣泛的伺服器效能測試工具之一,它最大的特點就是擁有一套簡單易用的GUI,但它最大的缺點也是由於簡單易用導致它某些方面的不足,比如測試指令碼(XML)不容易維護等。Gatling正是針對JMeter的劣勢做了大量改進,因此相較於 JMeter,Gatling擁有以下優勢:

在並發效能方面,Gatling使用了Akka Actors和Async IO, 而JMeter則採用了一個使用者使用一個線程的方式 ,一旦並發線程過多,效能就急速下降,很難充分發揮硬體的能力。雖然兩個工具都是基於JVM的,但是Actors模型的效能在高並發的情況下效能大大優於Threads,從而使得Gatling在更少的記憶體和CPU的情況下可以提供同樣的測試能力,降低了測試成本。圖1和圖2分別展現了二者在並發效能方面的表現。

圖1,JMeter 2.8

圖2,Gatling 1.3.2

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。