本文作者: Sy
- Gatling的模擬測(cè)試腳本是用Scala編寫(xiě)的惋鹅,但該工具還附帶了一個(gè)非常有用的圖形界面急黎,可用于記錄具體--的場(chǎng)景闽铐,并生成Scala腳本
在運(yùn)行模擬腳本之后疏橄,Gatling會(huì)生成一份非常有用的占拍、可用于分析的HTML報(bào)告。 - 在啟動(dòng)記錄器之前捎迫,我們需要定義一個(gè)場(chǎng)景晃酒,表示用戶在瀏覽Web應(yīng)用時(shí)發(fā)生的事情。
在我們的這個(gè)例子中窄绒,具體的場(chǎng)景將是“啟動(dòng)200個(gè)用戶贝次,每個(gè)用戶發(fā)出一萬(wàn)個(gè)請(qǐng)求≌玫迹” - 配置記錄器:
根據(jù)“Gatling的第一步”所述蛔翅,用下面的代碼創(chuàng)建一個(gè)名為EmployeeSimulation的scala文件:
class EmployeeSimulation extends Simulation {
val scn = scenario("FetchEmployees").repeat(10000) {
exec(
http("GetEmployees-API")
.get("http://localhost:8080/employees")
.check(status.is(200))
)
}
setUp(scn.users(200).ramp(100))
}
運(yùn)行負(fù)載測(cè)試:
要執(zhí)行負(fù)載測(cè)試,請(qǐng)運(yùn)行以下命令:
$GATLING_HOME/bin/gatling.sh-sbasic.EmployeeSimulation
對(duì)應(yīng)用程序的API進(jìn)行負(fù)載測(cè)試有助于發(fā)現(xiàn)及其細(xì)微的并且難以發(fā)現(xiàn)的錯(cuò)誤位谋,如數(shù)據(jù)庫(kù)連接耗盡山析、高負(fù)載情況下的請(qǐng)求超時(shí)、因?yàn)閮?nèi)存泄漏而導(dǎo)致堆的高使用率等等掏父。