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

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計與策劃設(shè)計,陽高網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:陽高等地區(qū)。陽高做網(wǎng)站價格咨詢:13518219792
一、使用cURL命令查詢HTTP響應(yīng)時間
cURL是一款開源的命令行工具,可用于向服務(wù)器發(fā)起網(wǎng)絡(luò)請求。我們可以使用cURL命令來測試HTTP響應(yīng)時間。具體操作如下:
1. 打開終端,輸入以下命令安裝cURL工具:
sudo apt-get install curl
2. 使用以下命令向目標網(wǎng)站發(fā)起http請求,并顯示響應(yīng)時間:
curl -o /dev/null -s -w “%{time_total}\n” http://www.bdu.com
其中,“-o /dev/null”參數(shù)表示將請求結(jié)果輸出到/dev/null,不顯示在終端上;“-s”參數(shù)表示關(guān)閉進度條;“-w”參數(shù)表示輸出響應(yīng)時間。
通過這個方法,我們可以快速地得到目標網(wǎng)站請求的響應(yīng)時間。
二、使用httpstat命令查詢HTTP響應(yīng)時間
httpstat是基于cURL的一款命令行工具,主要用于展示HTTP請求的過程。它可以詳細地展示請求的各個階段所消耗的時間,從而讓我們更加深入地了解請求的性能。具體操作如下:
1. 打開終端,輸入以下命令安裝httpstat:
pip install httpstat
2. 使用以下命令向目標網(wǎng)站發(fā)起http請求,并顯示請求過程中各個階段的響應(yīng)時間:
httpstat http://www.bdu.com
運行完這個命令后,我們將會得到如下結(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é)果可以看到,每個階段的請求時間都被詳細地列出來了,我們可以更加方便地了解到每個階段的性能情況。
三、使用ab命令查詢HTTP響應(yīng)時間
ab是Apache Bench的縮寫,是Apache自帶的一款基準測試工具,主要用于測試Web服務(wù)器的性能。然而,ab也可以用來測試HTTP請求的響應(yīng)時間。具體操作如下:
1. 打開終端,輸入以下命令安裝ab工具:
sudo apt-get install apache2-utils
2. 使用以下命令向目標網(wǎng)站發(fā)起http請求數(shù)量為1000的測試,并顯示每個請求的響應(yīng)時間:
ab -n 1000 -c 100 http://www.bdu.com
其中,“-n”參數(shù)表示發(fā)起1000個請求,“-c”參數(shù)表示并發(fā)數(shù)為100。
運行完這個命令后,我們將會得到如下結(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工具不僅可以顯示請求的響應(yīng)時間,還可以顯示每個請求的性能指標。
本文介紹了三種查詢HTTP請求的響應(yīng)時間的方法。其中,cURL和httpstat都使用了cURL庫來發(fā)起網(wǎng)絡(luò)請求,而ab則是Apache自帶的一款基準測試工具。不同于簡單的方法,這些工具可以提供更加詳細的請求性能信息,更為全面而深入地了解請求的情況。當(dāng)然,以上方法并不是唯一的查詢HTTP響應(yīng)時間的方法,讀者如果有其他的方法也可以分享出來。
相關(guān)問題拓展閱讀:
- Linux里面uptime命令作用是什么?
Linux里面uptime命令作用是什么?
使用方式: uptime
說明: uptime 提供使用者下侍轎面的資訊,不需其他參數(shù):
現(xiàn)在的時間
系統(tǒng)開機運轉(zhuǎn)到現(xiàn)在經(jīng)鋒談顫過的時間
連線銀敗的使用者數(shù)量
最近一分鐘,五分鐘和十五分鐘的系統(tǒng)負載
# 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)時間,開機到現(xiàn)在的天數(shù),用戶登錄數(shù),以及平均負載。
核心是平均負載,其實就是【單位時間內(nèi)的活躍進程數(shù)】。
2顆,單顆4核CPU為例:
1分鐘:10.00 #CPU處理進程1分鐘的繁忙程度,忙碌1分鐘。
5分鐘:8.01 #CPU處理進程5分鐘的繁忙程度,忙碌了5分鐘
15分鐘:5.05 #CPU處理進程15分鐘的繁忙程度,忙碌持續(xù)15分鐘,15分鐘內(nèi)平均值5.
uptime:故障恢復(fù)了。
1分鐘:1.00 #CPU處理進程1分鐘的繁忙程度,忙碌1分鐘。
5分鐘:8.01 #CPU處理進程5分鐘的繁忙程度,忙碌了5分鐘
15分鐘:5.05 #CPU處理進程15分鐘的繁忙程度,忙碌持續(xù)15分鐘,15分鐘內(nèi)平均值5.
==============================================
總結(jié):15分鐘負載值12,是高是低呢
負載數(shù)值/總的核心數(shù)=1 #開始慢的臨界點,實際上1*70%==關(guān)注的臨界點。
12/8=1.2 大于1就說明有問題。
負載不要超過5,是臨界點。
2顆單顆4核CPU,共8核,負載就是8*70%=5左右。
需要關(guān)注負載的值:總的核心數(shù)*70%=關(guān)注的點
==================要掌握的============================
1.平均負載是運行隊列中活躍的進程數(shù)。
2.平均負載,1,5,15分鐘內(nèi)的負載。
3.需要關(guān)注負載的值:總的核心數(shù)*70%=關(guān)注的點
4.輔助top,ps,uptime,sar,mpstat,pidstat,iostat,排查問題。
5.strace跟蹤進程系統(tǒng)調(diào)用。
6.記住幾個案例(面試講故事)。
面試官問:
你在工作中遇到過哪些生產(chǎn)故障,是怎么解決的?
更好和數(shù)據(jù)庫相關(guān)(負載高),和web相關(guān)(PHP進程100%,JAVA內(nèi)存泄漏)
==================要掌握的============================
***6.平均負載案例分析實戰(zhàn)\***
下面,我們以三個示例分別來看這三種情況,并用 stress、mpstat、pidstat 等工具,找出平均負載瞎侍升高的根源。
stress 是 Linux 系統(tǒng)壓力測試工具,這里我們用作喚罩異常進程模擬平均負載升高的場景。
mpstat 是多核 CPU 性能分析工具,用來實時查看每個 CPU 的性能指標,以及所有 CPU 的平均指標。
pidstat 是一個常用的進程性能分析工具,用來實時查看進程的 CPU、內(nèi)存、I/O 以及上下文切換等性能指標。
#如果出現(xiàn)無法使用mpstat、pidstat命令查看%wait指標建議更新下軟件包
yum install sysstats -y
yum install stress -y
stress –cpu 8 –io 4 –vm 2 –vm-bytes 128M –timeout 10s
***場景一:CPU 密集型進程\***
1.首先,我們在之一個終端運行 stress 命令,模擬一個 CPU 使用率 100% 的場景:
# stress –cpu 1 –timeout 600
2.接著,在第二個終端運行 uptime 查看平均負載的變化情況
# 使用watch -d 參數(shù)表示高亮顯示變化的區(qū)域(注意負載會持續(xù)升高)
# watch -d uptime
*3.最后,在第三個終端運行 mpstat 查看 CPU 使用率的變化情況*
# -P ALL 表示監(jiān)控所有CPU,后面數(shù)字5 表示間隔5秒后輸出一組數(shù)據(jù)
# mpstat -P ALL 5
#單核CPU,所以只有一個all和0
4.從終端二中可以看到,1 分鐘的平均負載會慢慢增加到 1.00,而從終端三中還可以看到,正好有一個 CPU 的使用率為 100%,但它的 iowait 只有 0。這說明,平均負載的升高正是由于 CPU 使用率為 100% 。那么,到底是哪個進程導(dǎo)致磨鏈吵了 CPU 使用率為 100% 呢?可以使用 pidstat 來查詢
!(18.Linux系統(tǒng)管理-進程管理.assets/a.png)
# 間隔5秒輸出一組數(shù)據(jù)
# pidstat -u 5 1
#從這里可以明顯看到,stress進程的CPU使用率為100%。
– 模擬cpu負載高 `stress –cpu 1 –timeout 100`
– 通過uptime或w 查看 `watch -d uptime`
– 查看整體狀態(tài)mpstat -P ALL 1 查看每個cpu核心使用率
– 精確到進程: pidstat 1
****場景二:I/O 密集型進程\****
1.首先還是運行 stress 命令,但這次模擬 I/O 壓力,即不停地執(zhí)行 sync
# stress –io 1 –timeout 600s #利用sync()
stress –hddhdd-bytes 1g # hd harkdisk 創(chuàng)建進程去進程寫
*2.然后在第二個終端運行 uptime 查看平均負載的變化情況:*
# watch -d uptime
18:43:51 up 2 days, 4:27, 3 users, load average: 1.12, 0.65, 0.00
*3.最后第三個終端運行 mpstat 查看 CPU 使用率的變化情況:*
# 顯示所有 CPU 的指標,并在間隔 5 秒輸出一組數(shù)據(jù)
# mpstat -P ALL 5
#會發(fā)現(xiàn)cpu的與內(nèi)核打交道的sys占用非常高
*4.那么到底是哪個進程,導(dǎo)致 iowait 這么高呢?我們還是用 pidstat 來查詢*
# 間隔5秒后輸出一組數(shù)據(jù),-u 表示CPU指標
# pidstat -u 5 1
#可以發(fā)現(xiàn),還是 stress 進程導(dǎo)致的。
– 通過stress 模擬大量進程讀寫 `stress –hdd 4 `
– 通過w/uptime查看系統(tǒng)負載信息 `watch -d uptime`
– 通過top/mpstat 排查 `mpstat -P ALL 1 或 top 按1`
– 確定是iowati `iostat 1查看整體磁盤讀寫情況 或iotop -o 查看具體哪個進程讀寫`
– 根據(jù)對應(yīng)的進程,進行相關(guān)處理.
***場景三:大量進程的場景 高并發(fā)場景 \***
*當(dāng)系統(tǒng)中運行進程超出 CPU 運行能力時,就會出現(xiàn)等待 CPU 的進程。*
*1.首先,我們還是使用 stress,但這次模擬的是 4 個進程*
# stress -c 4 –timeout 600
*2.由于系統(tǒng)只有 1 個 CPU,明顯比 4 個進程要少得多,因而,系統(tǒng)的 CPU 處于嚴重過載狀態(tài)*
*3.然后,再運行 pidstat 來看一下進程的情況:*
# 間隔5秒后輸出一組數(shù)據(jù)
# pidstat -u 5 1
*可以看出,4 個進程在爭搶 1 個 CPU,每個進程等待 CPU 的時間(也就是代碼塊中的 %wait 列)高達 75%。這些超出 CPU 計算能力的進程,最終導(dǎo)致 CPU 過載。*
****分析完這三個案例,我再來歸納一下平均負載與CPU\****
***平均負載提供了一個快速查看系統(tǒng)整體性能的手段,反映了整體的負載情況。但只看平均負載本身,我們并不能直接發(fā)現(xiàn),到底是哪里出現(xiàn)了瓶頸。所以,在理解平均負載時,也要注意:
平均負載高有可能是 CPU 密集型進程導(dǎo)致的;
平均負載高并不一定代表 CPU 使用率高,還有可能是 I/O 更繁忙了;
當(dāng)發(fā)現(xiàn)負載高的時候,你可以使用 mpstat、pidstat 等工具,輔助分析負載的來源****
**系統(tǒng)負載的計算和意義**
進程以及子進程和線程產(chǎn)生的計算指令都會讓cpu執(zhí)行,產(chǎn)生請求的這些進程組成”運行隊列”,等待cpu執(zhí)行,這個隊列就是系統(tǒng)負載, 系統(tǒng)負載是所有cpu的運行隊列的總和.
# w
20:25:48 up 95 days, 9:06, 1 user, load average: 2.92, 0.00, 0.00
//假設(shè)當(dāng)前計算機有4個核心的cpu,當(dāng)前的負載是2.92
cpu1cpu2cpu3cpu4
2.94/4(個cpu核心) = 73%的cpu資源被使用,剩下27%的cpu計算資源是空想的
//假設(shè)當(dāng)前的計算有2個核心的cpu,當(dāng)前的負載是2.92
2.92/2 = 146% 已經(jīng)驗證超過了cpu的處理能力
7. 日常故障排查流程(含日志)
– w/uptime, 查看負載
– ps aux/top 看看 cpu百分比, io wait或者是內(nèi)存占用的高? (三高 cpu,io,內(nèi)存)
– top檢查具體是哪個進程,找出可疑進程
– 追蹤這個進程使用情況,做什么的?
– 看看對應(yīng)**日志**是否有異常
– 系統(tǒng)日志: /var/log/messages(系統(tǒng)通用日志) /var/log/secure(用戶登錄情況)
– 服務(wù)軟件的日志
***3.那平均負載為多少時合理\***
*最理想的狀態(tài)是每個 CPU核心 上都剛好運行著一個進程,這樣每個 CPU 都得到了充分利用。所以在評判平均負載時,首先你要知道系統(tǒng)有幾個 CPU核心,這可以通過 top 命令獲取,或`grep ‘model name’ /proc/cpuinfo`*
系統(tǒng)平均負載被定義為在特定時間間隔內(nèi)運行隊列中的平均進程數(shù)。如果一個進程滿足以下條件則其就會位于運行隊列中:
– 它沒有在等待I/O操作的結(jié)果
– 它沒有主動進入等待狀態(tài)(也就是沒有調(diào)用’wait’)
– 沒有被停止(例如:等待終止)
《內(nèi)容來自老男孩老師的課堂筆記》
關(guān)于linux怎么查詢請求耗時的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)建站主營:成都網(wǎng)站建設(shè)、網(wǎng)站維護、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。
本文名稱:Linux如何快速查詢HTTP請求的響應(yīng)時間(linux怎么查詢請求耗時)
網(wǎng)站路徑:http://www.dlmjj.cn/article/ccsjddo.html


咨詢
建站咨詢
