我用瀏覽器請求,一直是給第一個進(jìn)程處理,哪怕這個進(jìn)程阻塞著
postman一直是第二個進(jìn)程
有設(shè)置調(diào)度的嗎?把新的請求交給空閑進(jìn)程?
因為瀏覽器(包括postman)會做優(yōu)化啊,瀏覽器新的請求復(fù)用之前建立的http連接。目的是避免頻繁的tcp連接建立和斷開,大大提升瀏覽器和服務(wù)端性能
?
如果滿足下面情況就會復(fù)用連接發(fā)起新的請求,
1、連接沒有被關(guān)閉
2、連接上沒有等待響應(yīng)的請求,也就是上一個請求已經(jīng)收到回復(fù)
?
瀏覽器是不知道你的進(jìn)程發(fā)生了阻塞的,既然這個連接正常返回了數(shù)據(jù),它認(rèn)為連接對應(yīng)的進(jìn)程沒問題,那么下次他還會復(fù)用這個連接發(fā)起請求。
?
服務(wù)端無法把請求分配給其它進(jìn)程是因為根據(jù)操作系統(tǒng)的底層原理,客戶端發(fā)起的連接不是進(jìn)程間共享的,連接屬于哪個進(jìn)程那么就只能那個進(jìn)程處理。如果處理連接的進(jìn)程被你sleep阻塞了,那它自然暫時無法處理這個連接后續(xù)的請求啦,其它進(jìn)程幫不上忙的。
?
我覺得如果不想他們復(fù)用連接,可以send完數(shù)據(jù)后調(diào)用close關(guān)閉連接