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