網路效能評估(六)
網路效能評估
網路是所有子系統中最難監測的一個, 因為網路比較抽象, 在監測時有很多在系統可控制之外的因素如延遲,衝突,擁塞和丟包等對監測產生影響。下面將討論的是乙太網、IP、TCP 的效能監測。
1)乙太網配置設定
除非有明確的設定, 所有乙太網的速度都是自動協商的, 這很大程度上是由於歷史原因造成的,早些時候一個網路裡經常有不同網速和雙工模式的網路裝置。
大多數企業乙太網是 100BaseTX 或 1000BaseTX,可以使用 ethtool 工具來判斷一個系統的網速。
下面的示例中一個擁有 100BaseTX 網路卡的機器工作在 10BaseTX 下:
# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 10Mb/s
Duplex: Half
Port: MII
PHYAD: 32
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000007 (7)
Link detected: yes
下面將其強制設定為 100BaseTX 模式:
# ethtool -s eth0 speed 100 duplex full autoneg off
# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: No
Speed: 100Mb/s
2)網路吞吐量監測
監測網路吞吐量最好的辦法是在兩個系統之間傳送流量並統計其延遲和速度。
3)使用 iptraf 監測本地吞吐量
iptraf 工具可提供乙太網卡的吞吐量情況:
# iptraf -d eth0
上面的資料顯示被測試系統正以 61mbps(7.65M)頻率傳送資料,相比於 100mbps 網路這有點低。
4)使用 netperf 監測遠端吞吐量
與 iptraf 的動態監測不一樣的是 netperf 使用可控方式測試網路, 這一點對測試一個客戶端到一個高負載伺服器之間的吞吐量很有幫助,netperf 工具是以 C/S 模式執行。
首先需要在伺服器上執行 netperf 服務端:
server# netserver
Starting netserver at port 12865
Starting netserver at hostname 0.0.0.0 port 12865 and family AF_UNSPEC
netperf 可以執行多種測試,最基本的是標準測試:
client# netperf -H 192.168.1.215 -l 30
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
192.168.1.230 (192.168.1.230) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size SizeTimeThroughput
bytes bytes bytessecs.10^6bits/sec
87380 16384 1638430.0289.46
輸出顯示吞吐量在 89mbps 左右,伺服器和客戶端在同一網段。從一個 10 跳的 54G 無線網進行測試只能達到 14mbps 左右:
client# netperf -H 192.168.1.215 -l 30
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
192.168.1.215 (192.168.1.215) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 30.10 14.09
從 50 跳距離區域網測試:
# netperf -H 192.168.1.215 -l 30
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
192.168.1.215 (192.168.1.215) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size SizeTimeThroughput
bytes bytes bytessecs.10^6bits/sec
87380 16384 1638430.645.05
從外網測試:
# netperf -H litemail.org -p 1500 -l 30
litemail.org (72.249.104.148) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size SizeTimeThroughput
bytes bytes bytessecs.10^6bits/sec
87380 16384 1638431.580.93
另外一個有用的測試模式是測試 TCP 請求應答速率, 其原理是建立一個 TCP 連線併傳送多個請求:
client# netperf -t TCP_RR -H 192.168.1.230 -l 30
TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET
to 192.168.1.230 (192.168.1.230) port 0 AF_INET
Local /Remote
Socket Size Request Resp. ElapsedTrans.
Send Recv SizeSizeTimeRate
bytes Bytes bytesbytessecs.per sec
16384 87380 1130.00 4453.80
16384 87380
資料顯示網路可支援 4453 左右的 psh/ack 每秒,因為傳送包的大小隻有 1k。下面使用 2k的請求和 32k 的應答:
client# netperf -t TCP_RR -H 192.168.1.230 -l 30 -- -r 2048,32768
TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
192.168.1.230 (192.168.1.230) port 0 AF_INET
Local /Remote
Socket Size RequestResp.ElapsedTrans.
Send Recv SizeSizeTimeRate
bytes Bytes bytesbytessecs.per sec
16384 87380 20483276830.00222.37
16384 87380
可以看到速率已經降到 222 左右。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(1)透過ping命令檢測網路的連通性
(2)透過netstat –i組合檢測網路介面狀況
(3)透過netstat –r組合檢測系統的路由表資訊
(4)透過sar –n組合顯示系統的網路執行狀態
l netstat -antl 檢視所有tcp status:
注意:可以透過netstat檢視是否timewait過多的情況,導致埠不夠用,在短連線服務中且大併發情況下,要不繫統的net.ipv4.tcp_tw_reuse、net.ipv4.tcp_tw_recycle兩個選項開啟,允許埠重用。具體這兩個屬性如何用,移步線上/etc/sysctl.conf檔案配置,有註釋。
sar檢視網路卡效能:sar -n DEV 1 100
Linux 2.6.32-431.20.3.el6.x86_64 (iZ25ug3hg9iZ)
09/18/2014 _x86_64_ (4
CPU)
04:01:23 PM IFACE rxpck/s txpck/s
rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
04:01:24 PM lo 0.00
0.00 0.00 0.00
0.00 0.00 0.00
04:01:24 PM eth0 4.04
0.00 0.16 0.00
0.00 0.00 0.00
04:01:24 PM eth1 26.26
0.00 1.17 0.00
0.00 0.00 0.00
各列含義:
IFACELAN介面
rxpck/s每秒鐘接收的資料包
txpck/s每秒鐘傳送的資料包
rxbyt/s每秒鐘接收的位元組數
txbyt/s每秒鐘傳送的位元組數
rxcmp/s每秒鐘接收的壓縮資料包
txcmp/s每秒鐘傳送的壓縮資料包
rxmcst/s每秒鐘接收的多播資料包
其實中間的IFACELAN bond0是虛擬裝置。在RH中,多個物理網路卡幫定為一個邏輯bonding裝置,透過把多個物理網路卡幫定為一個邏輯裝置,可以實現增加頻寬吞吐量,提供冗餘。如何進行虛擬化和模式選擇,請參考下面兩篇文章。
7、監控利器
dstat是一個用來替換vmstat,iostat netstat,nfsstat和ifstat這些命令的工具, 是一個全能系統資訊統計工具.它是由Python編寫的, 與sysstat相比,dstat是以一個彩色的介面動態顯示,這樣資料比較顯眼,容易觀察,一目瞭然; 而且dstat支援即時重新整理,可以使用相關引數指定顯示哪些內容!下後會有說明。下面開始進入dstat的神秘世界!!!!!!!!!!!!!!官方站點:
nginx+php-fpm的併發處理能力計算:
php-fpm程式執行時間=t ms
伺服器cpu函式=n
併發執行能力qps= 1s/t * 1000 *n.
如果平均php-fpm程式執行時間10ms, cpu=4核。 併發處理能力=1/10 × 1000 ×4= 400.
QPS = req/sec = 請求數/秒
【QPS計算PV和機器的方式】
QPS統計方式 [一般使用 http_load 進行統計]
QPS = 總請求數 / ( 程式總數 * 請求時間 )
QPS: 單個程式每秒請求伺服器的成功次數
單臺伺服器每天PV計算
公式1:每天總PV = QPS * 3600 * 6
公式2:每天總PV = QPS * 3600 * 8
伺服器計算
伺服器數量 = ceil( 每天總PV / 單臺伺服器每天總PV )
【峰值QPS和機器計算公式】
原理:每天80%的訪問集中在20%的時間裡,這20%時間叫做峰值時間
公式:( 總PV數 * 80% ) / ( 每天秒數 * 20% ) = 峰值時間每秒請求數(QPS)
機器:峰值時間每秒QPS / 單臺機器的QPS = 需要的機器
問:每天300w PV 的在單臺機器上,這臺機器需要多少QPS?
答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)
問:如果一臺機器的QPS是58,需要幾臺機器來支援?
答:139 / 58 =
注意:如果 r經常大於 4 ,且id經常少於40,表示cpu的負荷很重。
如果si,so 長期不等於0,表示記憶體不足。
如果disk 經常不等於0, 且在 b中的佇列大於3, 表示 io效能不好。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30129545/viewspace-1546807/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 系統效能評價---效能評估
- 中小企業網路安全評估
- Linux效能評估工具Linux
- JuiceFS 效能評估指南UI
- 什麼是網路安全風險評估?需要評估哪些內容?
- 網路安全評估方式有哪些?為什麼要進行安全評估?
- Bitfinder:2024年網路安全評估報告
- 網路分流器-網路分流器-網路安全評估探討
- MIS607網路安全評估威脅模型模型
- Rust非同步框架的效能評估Rust非同步框架
- 六種GAN評估指標的綜合評估實驗,邁向定量評估GAN的重要一步指標
- Simple TPU的設計和效能評估
- OBC充電機測試效能評估
- 【工業網際網路】重磅推薦:工業網際網路成熟度評估模型模型
- 資料庫效能需求分析及評估模型資料庫模型
- web伺服器效能評估和監視Web伺服器
- 多通道負載測試和效能評估?負載
- 牛客網Java評估題Java
- Go 高效能系列教程之二:效能評估和分析Go
- 為什麼要做網路安全評估?多久進行一次?
- 哪裡可以查到網路安全等級測評與檢測評估機構目錄?
- 逆變器的防孤島測試效能評估
- 【redis】使用redis benchmark評估哨兵模式主節點效能Redis模式
- 機器學習筆記之效能評估指標機器學習筆記指標
- Kubernetes的垂直和水平擴縮容的效能評估
- 說說你對RAIL效能評估模型的瞭解AI模型
- 對於網路安全風險評估 企業當如何妥善處理?
- 網路安全風險評估流程包括哪些步驟?小白入門必看
- 自我評估
- 測評丨NXP LS系列產品網路效能測試
- 2019年主要央媒及廣電機構網路傳播效果評估
- kafka容量評估Kafka
- CTR:2020年上半年主流媒體網路傳播力評估報告
- 網站安全評估滲透測試手法分析網站
- CS231n 神經網路 第3部分: 學習和評估(上)神經網路
- CTR:2020年主流媒體戰疫報導網路傳播效果評估報告
- 前端工時評估前端
- 缺陷評估規範
- RAG應用評估