JS控制併發請求數量

2021-10-10 23:32:39 字數 1025 閱讀 6771

原理:使用乙個佇列維護所有的請求,然後使用async/await或者promise對請求進行控制, 當前面的請求完成就從佇列**隊下乙個請求

class limitresquest 

request (reqfn)

this.requests.push(reqfn)

if (this.currentsum < this.limit)

} async run() catch(err) finally

}}}

使用:可以看到請求方法會按限制的數量進行請求

let a = () => new promise((resolve) => , 1000)

}).then((data) => console.log(data))

let b = () => new promise((resolve) => , 1000)

}).then((data) => console.log(data))

let c = () => new promise((resolve) => , 1000)

}).then((data) => console.log(data))

let d = () => new promise((resolve) => , 1000)

}).then((data) => console.log(data))

let limitresquest = new limitresquest(2)

limitresquest.request(a)

limitresquest.request(b)

limitresquest.request(c)

limitresquest.request(d)

limitresquest.request(a)

limitresquest.request(b)

limitresquest.request(c)

limitresquest.request(d)

Apache如何提高併發連線請求數量

使用apache作為http伺服器的站點,不可避免的會遇到這個問題 apache負載很低,但是訪問web伺服器非常慢。排除指令碼程式的原因後,基本上就是apache設定問題。以下內容或許能夠幫助解決這個問題。1.首先要了解apache採用的mpm multi processing modules,多...

Apache2如何提高併發連線請求數量

使用apache作為http伺服器的站點,不可避免的會遇到這個問題 apache負載很低,但是訪問web伺服器非常慢。排除指令碼程式的原因後,基本上就是apache設定問題。檢視使用的何種mpm multi processing modules,多道處理模組 sudo apachectl v gre...

linux檢視埠請求數量

如發現系統存在大量time wait狀態的連線,通過調整核心引數解決,vim etc sysctl.conf 編輯檔案,加入以下內容 net.ipv4.tcp syncookies 1 net.ipv4.tcp tw reuse 1 net.ipv4.tcp tw recycle 1 net.ipv...