2 回答

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
我對(duì)您的觀察的假設(shè)是數(shù)據(jù)包丟失。這對(duì)我來說似乎是最有可能的問題,因?yàn)槟f的是當(dāng)他們有很多請(qǐng)求時(shí)會(huì)發(fā)生這種情況。tcpdump
要對(duì)此進(jìn)行測試,您可以使用或 來監(jiān)控流量iftop
。如果你在 Ubuntu 下,你可以安裝并啟動(dòng)后者
sudo apt-get install iftop sudo iftop
Linux 中還有許多其他網(wǎng)絡(luò)監(jiān)控解決方案,令人驚嘆的Wireshark適用于所有操作系統(tǒng)。
ifconfig [interface]
包丟失的原因之一可能是碰撞,如果您在 Linux 下,您可以使用 a 檢查:
me@mymahine:~$ ifconfig eth1
eth1 Link encap:Ethernet HWaddrf f:41:8d:ef:41:8d
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 <-------------------------- check here ---
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Tomcat 和 Nginx 是否在同一臺(tái)物理(或虛擬)機(jī)器上?

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
服務(wù)器通常對(duì)請(qǐng)求進(jìn)行排隊(duì),直到有線程可用于處理它。如果隊(duì)列中有很多請(qǐng)求,但只有幾個(gè)線程,單個(gè)線程處理請(qǐng)求的速度可能很快,但如果加上時(shí)間,請(qǐng)求排隊(duì),消費(fèi)者看到的時(shí)間會(huì)更長。
請(qǐng)參閱:How to increase number of threads in tomcat thread pool?
測量tomcat的排隊(duì)請(qǐng)求數(shù)
看看您是否可以增加線程數(shù)或減少 accept_count,但請(qǐng)記住,其他資源(如數(shù)據(jù)庫連接)的數(shù)量可能也需要增加。還要記住,更多的線程可能意味著更多的資源競爭。
嘗試為此更改參數(shù)可能是值得的。通常訪問日志還應(yīng)該顯示消息排隊(duì)和處理的時(shí)間,但我不確定。
添加回答
舉報(bào)