ภาษาอังกฤษ | 中文
เครื่องมือวิเคราะห์ทางสถิติสำหรับการทดสอบประสิทธิภาพ
ชื่อสั้นสำหรับ HI ต่อ forance หรือ สวัสดี gh ต่อ forance
สวัสดีพวกโปรดนำเสนอปัญหาของคุณเป็นภาษาอังกฤษ
请使用英语提ปัญหา
npm install hiper -g
# or use yarn:
# yarn global add hiper ข้อสังเกต: It takes period (m)s to load ... period หมายถึง การทดสอบนี้ต้องใช้เวลา ดังนั้น -ขึ้นไปและช่วงเวลาขึ้นไป ไม่ใช่ข้อผิดพลาด
| สำคัญ | ค่า |
|---|---|
| เวลาค้นหา DNS | DomainLookUpend - DomainLookUpStart |
| TCP เชื่อมต่อเวลา | Connectend - ConnectStart |
| TTFB | ResponseStart - RequestStart |
| ดาวน์โหลดเวลาของหน้า | Responseend - Responsestart |
| หลังจาก Dom Ready Download Time | Domcomplete - DominTinactive |
| เวลาหน้าจอสีขาว | Dominative - NavigationStart |
| เวลาพร้อม DOM | DomcontentLoadEdEventend - NavigationStart |
| โหลดเวลา | LoadEventend - NavigationStart |
https://developer.mozilla.org/en-us/docs/web/api/performancetiming
hiper --help
Usage: hiper [options] [url]
A statistical analysis tool for performance testing
Options:
-v, --version output the version number
-n, --count < n > specified loading times (default: 20)
-c, --config < path > load the configuration file
-u, --useragent < ua > to set the useragent
-H, --headless [b] whether to use headless mode (default: true)
-e, --executablePath < path > use the specified chrome browser
--no-cache disable cache (default: false)
--no-javascript disable javascript (default: false)
--no-online disable network (defalut: false)
-h, --help output usage informationเช่น
# We can omit the protocol header if has omitted, the protocol header will be `https://`
# The simplest usage
hiper baidu.com
# if the url has any parameter, surround the url with double quotes
hiper " baidu.com?a=1&b=2 "
# Load the specified page 100 times
hiper -n 100 " baidu.com?a=1&b=2 "
# Load the specified page 100 times without `cache`
hiper -n 100 " baidu.com?a=1&b=2 " --no-cache
# Load the specified page 100 times without `javascript`
hiper -n 100 " baidu.com?a=1&b=2 " --no-javascript
# Load the specified page 100 times with `headless = false`
hiper -n 100 " baidu.com?a=1&b=2 " -H false
# Load the specified page 100 times with set `useragent`
hiper -n 100 " baidu.com?a=1&b=2 " -u " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36 " .json และ .js config {
// options Pointing to a specific chrome executable, this configuration is generally not required unless you want to test a specific version of chrome
"executablePath" : "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" ,
// required The url you want to test
"url" : "https://example.com" ,
// options Cookies required for this test. It's usually a cookie for login information Array | Object
"cookies" : [ {
"name" : "token" ,
"value" : "9+cL224Xh6VuRT" ,
"domain" : "example.com" ,
"path" : "/" ,
"size" : 294 ,
"httpOnly" : true
} ] ,
// options default: 20 Test times
"count" : 100 ,
// options default: true Whether to use headless mode
"headless" : true ,
// options default: false Disable cache
"noCache" : false ,
// options default: false Disable javascript
"noJavascript" : false ,
// options default: false Disable network
"noOnline" : false ,
// options Set the useragent information
"useragent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36" ,
// options Set the viewport information
"viewport" : {
// options
"width" : 375 ,
// options
"height" : 812 ,
// options default: 1 devicePixelRatio
"deviceScaleFactor" : 3 ,
// options default: false Whether to simulate mobile
"isMobile" : false ,
// options default: false Whether touch events are supported
"hasTouch" : false ,
// options default: false Is it horizontal or not
"isLandscape" : false
}
}การมีไฟล์ JS สำหรับ config ช่วยให้ผู้คนใช้ตัวแปร ENV ตัวอย่างเช่นสมมติว่าฉันต้องการทดสอบไซต์ในสถานะที่ได้รับการรับรองความถูกต้อง ฉันสามารถผ่านคุกกี้บางอย่างที่ใช้เพื่อระบุตัวแปร ENV และการมีไฟล์กำหนดค่าที่ใช้ JS ทำให้ง่ายขึ้น ตัวอย่างเช่น
module . exports = {
... .
cookies : [ {
name : 'token' ,
value : process . env . authtoken ,
domain : 'example.com' ,
path : '/' ,
httpOnly : true
} ] ,
... .
} # Load the above configuration file (Let's say this file is under /home/)
hiper -c /home/config.json
# Or you can also use JS files for configuration
hiper -c /home/config.jsหลังจากที่เราได้พัฒนาโครงการหรือปรับประสิทธิภาพของโครงการให้เหมาะสม
เราจะวัดประสิทธิภาพของโครงการนี้ได้อย่างไร
วิธีการทั่วไปคือการดูข้อมูลใน performance และ network ใน Dev Tool บันทึกตัวชี้วัดประสิทธิภาพที่สำคัญสองสามตัวและรีเฟรชสองสามครั้งก่อนที่จะดูตัวชี้วัดประสิทธิภาพเหล่านั้น
บางครั้งเราพบว่าเนื่องจากขนาดตัวอย่างเล็ก ๆ เครือข่าย/CPU/หน่วยความจำ ปัจจุบันได้รับผลกระทบอย่างมากและบางครั้งโครงการที่ได้รับการปรับปรุงจะช้ากว่าก่อนการปรับให้เหมาะสม
หากมีเครื่องมือให้ขอหน้าเว็บหลายครั้งแล้วนำตัวบ่งชี้ประสิทธิภาพต่าง ๆ เฉลี่ยออกมาเราสามารถรู้ ได้อย่างแม่นยำว่า การเพิ่มประสิทธิภาพเป็นบวกหรือลบ
นอกจากนี้คุณยังสามารถทำการเปรียบเทียบและรับ ข้อมูลที่ถูกต้อง เกี่ยวกับ จำนวนที่คุณปรับให้เหมาะสม เครื่องมือนี้ออกแบบมาเพื่อแก้ปัญหาความเจ็บปวด
ในเวลาเดียวกันเครื่องมือนี้ยังเป็นเครื่องมือที่ดีสำหรับเราในการเรียนรู้เกี่ยวกับ "กระบวนการโหลดและการแสดงผลของเบราว์เซอร์" และ "การเพิ่มประสิทธิภาพประสิทธิภาพ" เพื่อที่เราจะได้ไม่ได้ข้อสรุปที่ผิดเมื่อมีตัวอย่างน้อยเกินไป
มิกซ์
ยินดีต้อนรับดาราและประชาสัมพันธ์
ลิขสิทธิ์ (C) 2018 Liyanfeng (POD4G)