新聞中心
在當(dāng)今的信息時(shí)代,網(wǎng)絡(luò)已經(jīng)成為人們工作、學(xué)習(xí)和生活的重要組成部分。而HTTP請(qǐng)求的響應(yīng)時(shí)間,是衡量網(wǎng)站性能的重要指標(biāo)之一。因此,快速查詢(xún)HTTP請(qǐng)求的響應(yīng)時(shí)間,對(duì)于網(wǎng)站的管理和維護(hù)非常必要。本文將介紹如何通過(guò)Linux系統(tǒng)快速查詢(xún)HTTP請(qǐng)求的響應(yīng)時(shí)間。

創(chuàng)新互聯(lián)建站是一家專(zhuān)注于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),陽(yáng)高網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:陽(yáng)高等地區(qū)。陽(yáng)高做網(wǎng)站價(jià)格咨詢(xún):13518219792
一、使用cURL命令查詢(xún)HTTP響應(yīng)時(shí)間
cURL是一款開(kāi)源的命令行工具,可用于向服務(wù)器發(fā)起網(wǎng)絡(luò)請(qǐng)求。我們可以使用cURL命令來(lái)測(cè)試HTTP響應(yīng)時(shí)間。具體操作如下:
1. 打開(kāi)終端,輸入以下命令安裝cURL工具:
sudo apt-get install curl
2. 使用以下命令向目標(biāo)網(wǎng)站發(fā)起http請(qǐng)求,并顯示響應(yīng)時(shí)間:
curl -o /dev/null -s -w “%{time_total}\n” http://www.bdu.com
其中,“-o /dev/null”參數(shù)表示將請(qǐng)求結(jié)果輸出到/dev/null,不顯示在終端上;“-s”參數(shù)表示關(guān)閉進(jìn)度條;“-w”參數(shù)表示輸出響應(yīng)時(shí)間。
通過(guò)這個(gè)方法,我們可以快速地得到目標(biāo)網(wǎng)站請(qǐng)求的響應(yīng)時(shí)間。
二、使用httpstat命令查詢(xún)HTTP響應(yīng)時(shí)間
httpstat是基于cURL的一款命令行工具,主要用于展示HTTP請(qǐng)求的過(guò)程。它可以詳細(xì)地展示請(qǐng)求的各個(gè)階段所消耗的時(shí)間,從而讓我們更加深入地了解請(qǐng)求的性能。具體操作如下:
1. 打開(kāi)終端,輸入以下命令安裝httpstat:
pip install httpstat
2. 使用以下命令向目標(biāo)網(wǎng)站發(fā)起http請(qǐng)求,并顯示請(qǐng)求過(guò)程中各個(gè)階段的響應(yīng)時(shí)間:
httpstat http://www.bdu.com
運(yùn)行完這個(gè)命令后,我們將會(huì)得到如下結(jié)果:
HTTP/1.1 200 OK
Bdpagetype: 1
Bdqid: 0xa6e4ca7e00002317
Cache-Control: private
Content-Type: text/html; charset=utf-8
Date: Thu, 23 Sep 2023 10:23:33 GMT
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Server: BWS/1.1
Set-Cookie: BDORZ=27315; max-age=86400; domn=.bdu.com; path=/
Tracecode: 0
X-Content-Type-Options: nosniff
X-Powered-By: HPHP
X-Xss-Protection: 1; mode=block
Transfer-Encoding: chunked
DNS Lookup : 22.74 ms
TCP Connection : 34.08 ms
TLS Connection : 0.00 ms
Server Processing : 4.17 ms
Content Transfer : 106.32 ms
Total : 167.32 ms
從上面的結(jié)果可以看到,每個(gè)階段的請(qǐng)求時(shí)間都被詳細(xì)地列出來(lái)了,我們可以更加方便地了解到每個(gè)階段的性能情況。
三、使用ab命令查詢(xún)HTTP響應(yīng)時(shí)間
ab是Apache Bench的縮寫(xiě),是Apache自帶的一款基準(zhǔn)測(cè)試工具,主要用于測(cè)試Web服務(wù)器的性能。然而,ab也可以用來(lái)測(cè)試HTTP請(qǐng)求的響應(yīng)時(shí)間。具體操作如下:
1. 打開(kāi)終端,輸入以下命令安裝ab工具:
sudo apt-get install apache2-utils
2. 使用以下命令向目標(biāo)網(wǎng)站發(fā)起http請(qǐng)求數(shù)量為1000的測(cè)試,并顯示每個(gè)請(qǐng)求的響應(yīng)時(shí)間:
ab -n 1000 -c 100 http://www.bdu.com
其中,“-n”參數(shù)表示發(fā)起1000個(gè)請(qǐng)求,“-c”參數(shù)表示并發(fā)數(shù)為100。
運(yùn)行完這個(gè)命令后,我們將會(huì)得到如下結(jié)果:
Server Software: BWS/1.1
Server Hostname: www.bdu.com
Server Port: 80
Document Path: /
Document Length: 23809 bytes
Concurrency Level: 100
Time taken for tests: 48.521 seconds
Complete requests: 1000
Fled requests: 0
Total transferred: 24104000 bytes
HTML transferred: 23809000 bytes
Requests per second: 20.62 [#/sec] (mean)
Time per request: 4852.095 [ms] (mean)
Time per request: 48.521 [ms] (mean, across all concurrent requests)
Transfer rate: 483.41 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 1 30 16.2 29 85
Processing: 129 4652 4122.8 3045 22870
Wting: 63 3648 2849.9 1959 19841
Total: 140 4682 4131.1 3069 22888
Percentage of the requests served within a certn time (ms)
50% 3069
66% 7253
75% 9912
80% 10852
90% 18545
95% 21437
98% 22240
99% 22399
100% 22888 (longest request)
從上面的結(jié)果可以看到,ab工具不僅可以顯示請(qǐng)求的響應(yīng)時(shí)間,還可以顯示每個(gè)請(qǐng)求的性能指標(biāo)。
本文介紹了三種查詢(xún)HTTP請(qǐng)求的響應(yīng)時(shí)間的方法。其中,cURL和httpstat都使用了cURL庫(kù)來(lái)發(fā)起網(wǎng)絡(luò)請(qǐng)求,而ab則是Apache自帶的一款基準(zhǔn)測(cè)試工具。不同于簡(jiǎn)單的方法,這些工具可以提供更加詳細(xì)的請(qǐng)求性能信息,更為全面而深入地了解請(qǐng)求的情況。當(dāng)然,以上方法并不是唯一的查詢(xún)HTTP響應(yīng)時(shí)間的方法,讀者如果有其他的方法也可以分享出來(lái)。
相關(guān)問(wèn)題拓展閱讀:
- Linux里面uptime命令作用是什么?
Linux里面uptime命令作用是什么?
使用方式: uptime
說(shuō)明: uptime 提供使用者下侍轎面的資訊,不需其他參數(shù):
現(xiàn)在的時(shí)間
系統(tǒng)開(kāi)機(jī)運(yùn)轉(zhuǎn)到現(xiàn)在經(jīng)鋒談?lì)澾^(guò)的時(shí)間
連線銀敗的使用者數(shù)量
最近一分鐘,五分鐘和十五分鐘的系統(tǒng)負(fù)載
# uptime
11:45:25 up 5 days, 13:20, 3 users, load average: 0.00, 0.01, 0.05
uptime內(nèi)容顯示的內(nèi)容一次是系統(tǒng)時(shí)間,開(kāi)機(jī)到現(xiàn)在的天數(shù),用戶(hù)登錄數(shù),以及平均負(fù)載。
核心是平均負(fù)載,其實(shí)就是【單位時(shí)間內(nèi)的活躍進(jìn)程數(shù)】。
2顆,單顆4核CPU為例:
1分鐘:10.00 #CPU處理進(jìn)程1分鐘的繁忙程度,忙碌1分鐘。
5分鐘:8.01 #CPU處理進(jìn)程5分鐘的繁忙程度,忙碌了5分鐘
15分鐘:5.05 #CPU處理進(jìn)程15分鐘的繁忙程度,忙碌持續(xù)15分鐘,15分鐘內(nèi)平均值5.
uptime:故障恢復(fù)了。
1分鐘:1.00 #CPU處理進(jìn)程1分鐘的繁忙程度,忙碌1分鐘。
5分鐘:8.01 #CPU處理進(jìn)程5分鐘的繁忙程度,忙碌了5分鐘
15分鐘:5.05 #CPU處理進(jìn)程15分鐘的繁忙程度,忙碌持續(xù)15分鐘,15分鐘內(nèi)平均值5.
==============================================
總結(jié):15分鐘負(fù)載值12,是高是低呢
負(fù)載數(shù)值/總的核心數(shù)=1 #開(kāi)始慢的臨界點(diǎn),實(shí)際上1*70%==關(guān)注的臨界點(diǎn)。
12/8=1.2 大于1就說(shuō)明有問(wèn)題。
負(fù)載不要超過(guò)5,是臨界點(diǎn)。
2顆單顆4核CPU,共8核,負(fù)載就是8*70%=5左右。
需要關(guān)注負(fù)載的值:總的核心數(shù)*70%=關(guān)注的點(diǎn)
==================要掌握的============================
1.平均負(fù)載是運(yùn)行隊(duì)列中活躍的進(jìn)程數(shù)。
2.平均負(fù)載,1,5,15分鐘內(nèi)的負(fù)載。
3.需要關(guān)注負(fù)載的值:總的核心數(shù)*70%=關(guān)注的點(diǎn)
4.輔助top,ps,uptime,sar,mpstat,pidstat,iostat,排查問(wèn)題。
5.strace跟蹤進(jìn)程系統(tǒng)調(diào)用。
6.記住幾個(gè)案例(面試講故事)。
面試官問(wèn):
你在工作中遇到過(guò)哪些生產(chǎn)故障,是怎么解決的?
更好和數(shù)據(jù)庫(kù)相關(guān)(負(fù)載高),和web相關(guān)(PHP進(jìn)程100%,JAVA內(nèi)存泄漏)
==================要掌握的============================
***6.平均負(fù)載案例分析實(shí)戰(zhàn)\***
下面,我們以三個(gè)示例分別來(lái)看這三種情況,并用 stress、mpstat、pidstat 等工具,找出平均負(fù)載瞎侍升高的根源。
stress 是 Linux 系統(tǒng)壓力測(cè)試工具,這里我們用作喚罩異常進(jìn)程模擬平均負(fù)載升高的場(chǎng)景。
mpstat 是多核 CPU 性能分析工具,用來(lái)實(shí)時(shí)查看每個(gè) CPU 的性能指標(biāo),以及所有 CPU 的平均指標(biāo)。
pidstat 是一個(gè)常用的進(jìn)程性能分析工具,用來(lái)實(shí)時(shí)查看進(jìn)程的 CPU、內(nèi)存、I/O 以及上下文切換等性能指標(biāo)。
#如果出現(xiàn)無(wú)法使用mpstat、pidstat命令查看%wait指標(biāo)建議更新下軟件包
yum install sysstats -y
yum install stress -y
stress –cpu 8 –io 4 –vm 2 –vm-bytes 128M –timeout 10s
***場(chǎng)景一:CPU 密集型進(jìn)程\***
1.首先,我們?cè)谥粋€(gè)終端運(yùn)行 stress 命令,模擬一個(gè) CPU 使用率 100% 的場(chǎng)景:
# stress –cpu 1 –timeout 600
2.接著,在第二個(gè)終端運(yùn)行 uptime 查看平均負(fù)載的變化情況
# 使用watch -d 參數(shù)表示高亮顯示變化的區(qū)域(注意負(fù)載會(huì)持續(xù)升高)
# watch -d uptime
*3.最后,在第三個(gè)終端運(yùn)行 mpstat 查看 CPU 使用率的變化情況*
# -P ALL 表示監(jiān)控所有CPU,后面數(shù)字5 表示間隔5秒后輸出一組數(shù)據(jù)
# mpstat -P ALL 5
#單核CPU,所以只有一個(gè)all和0
4.從終端二中可以看到,1 分鐘的平均負(fù)載會(huì)慢慢增加到 1.00,而從終端三中還可以看到,正好有一個(gè) CPU 的使用率為 100%,但它的 iowait 只有 0。這說(shuō)明,平均負(fù)載的升高正是由于 CPU 使用率為 100% 。那么,到底是哪個(gè)進(jìn)程導(dǎo)致磨鏈吵了 CPU 使用率為 100% 呢?可以使用 pidstat 來(lái)查詢(xún)
!(18.Linux系統(tǒng)管理-進(jìn)程管理.assets/a.png)
# 間隔5秒輸出一組數(shù)據(jù)
# pidstat -u 5 1
#從這里可以明顯看到,stress進(jìn)程的CPU使用率為100%。
– 模擬cpu負(fù)載高 `stress –cpu 1 –timeout 100`
– 通過(guò)uptime或w 查看 `watch -d uptime`
– 查看整體狀態(tài)mpstat -P ALL 1 查看每個(gè)cpu核心使用率
– 精確到進(jìn)程: pidstat 1
****場(chǎng)景二:I/O 密集型進(jìn)程\****
1.首先還是運(yùn)行 stress 命令,但這次模擬 I/O 壓力,即不停地執(zhí)行 sync
# stress –io 1 –timeout 600s #利用sync()
stress –hddhdd-bytes 1g # hd harkdisk 創(chuàng)建進(jìn)程去進(jìn)程寫(xiě)
*2.然后在第二個(gè)終端運(yùn)行 uptime 查看平均負(fù)載的變化情況:*
# watch -d uptime
18:43:51 up 2 days, 4:27, 3 users, load average: 1.12, 0.65, 0.00
*3.最后第三個(gè)終端運(yùn)行 mpstat 查看 CPU 使用率的變化情況:*
# 顯示所有 CPU 的指標(biāo),并在間隔 5 秒輸出一組數(shù)據(jù)
# mpstat -P ALL 5
#會(huì)發(fā)現(xiàn)cpu的與內(nèi)核打交道的sys占用非常高
*4.那么到底是哪個(gè)進(jìn)程,導(dǎo)致 iowait 這么高呢?我們還是用 pidstat 來(lái)查詢(xún)*
# 間隔5秒后輸出一組數(shù)據(jù),-u 表示CPU指標(biāo)
# pidstat -u 5 1
#可以發(fā)現(xiàn),還是 stress 進(jìn)程導(dǎo)致的。
– 通過(guò)stress 模擬大量進(jìn)程讀寫(xiě) `stress –hdd 4 `
– 通過(guò)w/uptime查看系統(tǒng)負(fù)載信息 `watch -d uptime`
– 通過(guò)top/mpstat 排查 `mpstat -P ALL 1 或 top 按1`
– 確定是iowati `iostat 1查看整體磁盤(pán)讀寫(xiě)情況 或iotop -o 查看具體哪個(gè)進(jìn)程讀寫(xiě)`
– 根據(jù)對(duì)應(yīng)的進(jìn)程,進(jìn)行相關(guān)處理.
***場(chǎng)景三:大量進(jìn)程的場(chǎng)景 高并發(fā)場(chǎng)景 \***
*當(dāng)系統(tǒng)中運(yùn)行進(jìn)程超出 CPU 運(yùn)行能力時(shí),就會(huì)出現(xiàn)等待 CPU 的進(jìn)程。*
*1.首先,我們還是使用 stress,但這次模擬的是 4 個(gè)進(jìn)程*
# stress -c 4 –timeout 600
*2.由于系統(tǒng)只有 1 個(gè) CPU,明顯比 4 個(gè)進(jìn)程要少得多,因而,系統(tǒng)的 CPU 處于嚴(yán)重過(guò)載狀態(tài)*
*3.然后,再運(yùn)行 pidstat 來(lái)看一下進(jìn)程的情況:*
# 間隔5秒后輸出一組數(shù)據(jù)
# pidstat -u 5 1
*可以看出,4 個(gè)進(jìn)程在爭(zhēng)搶 1 個(gè) CPU,每個(gè)進(jìn)程等待 CPU 的時(shí)間(也就是代碼塊中的 %wait 列)高達(dá) 75%。這些超出 CPU 計(jì)算能力的進(jìn)程,最終導(dǎo)致 CPU 過(guò)載。*
****分析完這三個(gè)案例,我再來(lái)歸納一下平均負(fù)載與CPU\****
***平均負(fù)載提供了一個(gè)快速查看系統(tǒng)整體性能的手段,反映了整體的負(fù)載情況。但只看平均負(fù)載本身,我們并不能直接發(fā)現(xiàn),到底是哪里出現(xiàn)了瓶頸。所以,在理解平均負(fù)載時(shí),也要注意:
平均負(fù)載高有可能是 CPU 密集型進(jìn)程導(dǎo)致的;
平均負(fù)載高并不一定代表 CPU 使用率高,還有可能是 I/O 更繁忙了;
當(dāng)發(fā)現(xiàn)負(fù)載高的時(shí)候,你可以使用 mpstat、pidstat 等工具,輔助分析負(fù)載的來(lái)源****
**系統(tǒng)負(fù)載的計(jì)算和意義**
進(jìn)程以及子進(jìn)程和線程產(chǎn)生的計(jì)算指令都會(huì)讓cpu執(zhí)行,產(chǎn)生請(qǐng)求的這些進(jìn)程組成”運(yùn)行隊(duì)列”,等待cpu執(zhí)行,這個(gè)隊(duì)列就是系統(tǒng)負(fù)載, 系統(tǒng)負(fù)載是所有cpu的運(yùn)行隊(duì)列的總和.
# w
20:25:48 up 95 days, 9:06, 1 user, load average: 2.92, 0.00, 0.00
//假設(shè)當(dāng)前計(jì)算機(jī)有4個(gè)核心的cpu,當(dāng)前的負(fù)載是2.92
cpu1cpu2cpu3cpu4
2.94/4(個(gè)cpu核心) = 73%的cpu資源被使用,剩下27%的cpu計(jì)算資源是空想的
//假設(shè)當(dāng)前的計(jì)算有2個(gè)核心的cpu,當(dāng)前的負(fù)載是2.92
2.92/2 = 146% 已經(jīng)驗(yàn)證超過(guò)了cpu的處理能力
7. 日常故障排查流程(含日志)
– w/uptime, 查看負(fù)載
– ps aux/top 看看 cpu百分比, io wait或者是內(nèi)存占用的高? (三高 cpu,io,內(nèi)存)
– top檢查具體是哪個(gè)進(jìn)程,找出可疑進(jìn)程
– 追蹤這個(gè)進(jìn)程使用情況,做什么的?
– 看看對(duì)應(yīng)**日志**是否有異常
– 系統(tǒng)日志: /var/log/messages(系統(tǒng)通用日志) /var/log/secure(用戶(hù)登錄情況)
– 服務(wù)軟件的日志
***3.那平均負(fù)載為多少時(shí)合理\***
*最理想的狀態(tài)是每個(gè) CPU核心 上都剛好運(yùn)行著一個(gè)進(jìn)程,這樣每個(gè) CPU 都得到了充分利用。所以在評(píng)判平均負(fù)載時(shí),首先你要知道系統(tǒng)有幾個(gè) CPU核心,這可以通過(guò) top 命令獲取,或`grep ‘model name’ /proc/cpuinfo`*
系統(tǒng)平均負(fù)載被定義為在特定時(shí)間間隔內(nèi)運(yùn)行隊(duì)列中的平均進(jìn)程數(shù)。如果一個(gè)進(jìn)程滿(mǎn)足以下條件則其就會(huì)位于運(yùn)行隊(duì)列中:
– 它沒(méi)有在等待I/O操作的結(jié)果
– 它沒(méi)有主動(dòng)進(jìn)入等待狀態(tài)(也就是沒(méi)有調(diào)用’wait’)
– 沒(méi)有被停止(例如:等待終止)
《內(nèi)容來(lái)自老男孩老師的課堂筆記》
關(guān)于linux怎么查詢(xún)請(qǐng)求耗時(shí)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)建站主營(yíng):成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動(dòng)網(wǎng)站開(kāi)發(fā)制作等網(wǎng)站服務(wù)。
當(dāng)前名稱(chēng):Linux如何快速查詢(xún)HTTP請(qǐng)求的響應(yīng)時(shí)間(linux怎么查詢(xún)請(qǐng)求耗時(shí))
網(wǎng)址分享:http://m.fisionsoft.com.cn/article/ccsjddo.html


咨詢(xún)
建站咨詢(xún)
