久久国产精品一区二区三区四区,久色婷婷小香蕉久久,国产日韩欧美在线播放不卡,另类av一区二区

當前看點!API 請求慢?這次鍋真不在后端
來源:前端雜貨鋪    時間:2022-07-14 19:47:31
問題

我們在開發過程中,發現后端 API 請求特別慢,于是跟后端抱怨。

“怎么 API 這么慢啊,請求一個接口要十幾秒”。

而且這種情況是偶現的,前端開發同學表示有時候會出現,非必現。


(資料圖)

但是后端同學通過一頓操作后發現,接口沒有問題,他們是通過 postman 工具以及 test 環境嘗試,都發現接口請求速度是沒有問題的。

“那感覺是前端問題”?

我們來梳理一下問題,如下:

后端 API 請求特別慢,而且是偶現的。在 test 環境沒有復現。postman 工具請求沒有復現。問題解決過程時間都去哪了?

第一個問題,API 耗費的時間都用來做什么了?

我們打開 Chrome 調試工具。在 network 中可以看到每個接口的耗時。

hover 到你的耗時接口的 Waterful,就可以看到該接口的具體耗時。

可以看到,其耗時主要是在Stalled,代表瀏覽器得到要發出這個請求的指令到請求可以發出的等待時間,一般是代理協商、以及等待可復用的 TCP 連接釋放的時間,不包括 DNS 查詢、建立 TCP 連接等時間等。

所以 API 一直在等待瀏覽器給它發出去的指令,以上面截圖的為例,整整等待了 23.84S,它請求和響應的時間很快(最多也就幾百毫秒,也就是后端所說的接口并不慢)。

所以 API 到底在等待瀏覽器的什么處理?

什么阻塞了請求?

經過定位,我們發現,我們項目中使用 Server-Sent Events(以下簡稱 SSE)。它跟 WebSocket 一樣,都是服務器向瀏覽器推送信息。但不同的是,它使用的是 HTTP 協議。

當不通過 HTTP / 2 使用時,SSE會受到最大連接數的限制,限制為 6 次。此限制是針對每個瀏覽器 + 域的,因此這意味著您可以跨所有選項卡打開 6 個 SSE 連接到 www.example1.com,并打開 6 個 SSE 連接到 www.example2.com。這一點可以通過以下這個 demo 復現。

復制問題的步驟:

訪問http://ssebin.btubbs.com/multi/。單擊添加計數器6或更多次。嘗試打開另一個標簽到同一地址。

結果是,第 6 次之后,SSE 請求一直無法響應,打開新的標簽到同一個地址的時候,瀏覽器也無法訪問。

效果圖如下:

該問題在Chrome[1]和Firefox[2]中被標記為“無法解決”。

至于偶現,是因為前端開發者有時候用 Chrome 會打開了多個選項卡,每個選項卡都是同一個本地開發地址,就會導致達到SSE的最大連接數的限制,而它的執行時間會很長,也就會阻塞其他的請求,一致在等待SSE執行完。

所以解決的方法是什么?

解決方案簡單粗暴的兩個方法不要打開太多個選項卡。這樣就不會達到它的限制數。(因為我們一個選項卡只請求一個 SSE)。開發環境下,關閉該功能。使用 HTTP / 2

使用 HTTP / 2 時,HTTP 同一時間內的最大連接數由服務器和客戶端之間協商(默認為 100)。

這解釋了為什么我們 test 環境沒有問題,因為 test 環境用的是 HTTP / 2。而在開發環境中,我們使用的是 HTTP 1.1 就會出現這個問題。

那如何在開發環境中使用 HTTP / 2 呢?

我們現在在開發環境,大部分還是使用 webpack-dev-server 起一個本地服務,快速開發應用程序。在文檔中,我們找到server[3]選項,允許設置服務器和配置項(默認為 "http")。

只需要加上這一行代碼即可。

devServer: {+ server: "spdy", port: PORT,}

看看效果,是成功了的。

原理使用spdy[4]使用自簽名證書通過 HTTP/2 提供服務。需要注意的一點是:

該配置項在 Node 15.0.0 及以上的版本會被忽略,因為 spdy 在這些版本中不會正常工作。一旦 Express 支持 Node 內建 HTTP/2,dev server 會進行遷移。

總結歸納

原本這個問題認為跟前端無關,沒想到最后吃瓜吃到自己頭上。提升相關技能的知識儲備以及思考問題的方式,可能會方便我們定位到此類問題。

充分利用好瀏覽器的調試工具,對一個問題可以從多個角度出發進行思考。比如一開始,沒想到本地也可以開啟 HTTP / 2。后來偶然間想搜下是否有此類方案,結果還真有!

參考資料

[1]Chrome:https://bugs.chromium.org/p/chromium/issues/detail?id=275955。

[2]Firefox:https://bugzilla.mozilla.org/show_bug.cgi?id=906896。

[3]server:https://webpack.docschina.org/configuration/dev-server/#devserverserver。

[4]spdy:https://www.npmjs.com/package/spdy。

關鍵詞: 開發環境 最大連接數 沒有問題 調試工具 使用的是

上一篇:

下一篇:

X 關閉

X 關閉

久久国产精品一区二区三区四区,久色婷婷小香蕉久久,国产日韩欧美在线播放不卡,另类av一区二区
久久精品国产欧美亚洲人人爽| 欧美精品成人一区二区在线观看| 国产日韩欧美在线看| 日韩午夜三级在线| 欧美jizz19hd性欧美| 国产一区日韩一区| 99视频在线观看一区三区| 先锋a资源在线看亚洲| 夜夜嗨av色综合久久久综合网| 国语自产精品视频在线看抢先版结局| 久久久免费观看视频| 欧美精品乱码久久久久久按摩| 羞羞色国产精品| 国内精品久久久久国产盗摄免费观看完整版| 欧美亚洲一区在线| 久久国产88| 国产精品久久二区二区| 亚洲精选在线| 韩国精品主播一区二区在线观看| 欧美一区国产一区| 在线亚洲成人| 最新热久久免费视频| 欧美久久99| 日韩一二三在线视频播| 久久精品国产91精品亚洲| 一区二区三区国产在线| 欧美/亚洲一区| 国产综合自拍| 亚洲欧美日韩国产成人| 一级日韩一区在线观看| 欧美成人精品不卡视频在线观看| 亚洲一级特黄| 久久久www免费人成黑人精品| 夜夜躁日日躁狠狠久久88av| 一区二区三区在线视频播放| 久久成人免费电影| 国产农村妇女精品一区二区| 欧美区高清在线| 欧美大片免费| 99re6热只有精品免费观看| 99精品久久免费看蜜臀剧情介绍| 蜜桃av一区二区三区| 久久久www| 黄色资源网久久资源365| 亚洲丰满少妇videoshd| 亚洲欧美综合国产精品一区| 久久香蕉国产线看观看av| 性久久久久久久久久久久| 国产一区二区精品在线观看| 国产精品视频不卡| 亚洲国产91色在线| 99精品热6080yy久久| 免费观看一级特黄欧美大片| 性色av一区二区三区在线观看| 亚洲日本aⅴ片在线观看香蕉| 国产九色精品成人porny| 免费久久99精品国产自| 国产精品久久久91| 日韩一级免费观看| 狂野欧美性猛交xxxx巴西| 一区二区三区成人| 欧美1区视频| 欧美理论在线播放| 欧美亚洲网站| 亚洲午夜免费福利视频| 一区二区激情小说| 伊人久久大香线蕉综合热线| 国产精品色婷婷久久58| 国产精品99久久久久久久久久久久| 好男人免费精品视频| 欧美精品在线一区二区| av成人免费观看| 好看不卡的中文字幕| 欧美日韩精品在线观看| 亚洲精品一区二区三区av| 久久久91精品| 久久精品国产第一区二区三区最新章节| 国产一区二区在线观看免费| 国产精品久久久久永久免费观看| 亚洲精品欧美激情| 欧美色偷偷大香| 欧美日韩国产一区精品一区| 欧美福利影院| 免费在线欧美视频| 亚洲国产第一| 一区二区久久久久久| 99天天综合性| 日韩小视频在线观看专区| 久久免费99精品久久久久久| 久久超碰97中文字幕| 国产一区二区精品丝袜| 亚洲男人的天堂在线观看| 国产亚洲精品久久飘花| 国产真实精品久久二三区| 欧美日韩一区国产| 亚洲一区二区三区四区视频| 欧美一区二区三区在线免费观看| 欧美精品日韩精品| 欧美日韩一区三区| 亚洲在线观看免费视频| 久久精品国产亚洲aⅴ| 国产精品一区一区三区| 欧美日韩黄色大片| 一本大道久久a久久综合婷婷| 国产在线不卡视频| 国产午夜精品视频免费不卡69堂| 久久天天躁夜夜躁狠狠躁2022| 黄色国产精品一区二区三区| 亚洲天堂网站在线观看视频| 精品av久久久久电影| 欧美.日韩.国产.一区.二区| 午夜精品久久久久久久| 亚洲国产成人久久综合一区| 亚洲国产黄色| 欧美性视频网站| 另类国产ts人妖高潮视频| 欧美成人中文字幕| 欧美成人午夜| 国产精品日韩精品欧美在线| 亚洲承认在线| 欧美日产国产成人免费图片| 欧美一级在线视频| 欧美午夜精品久久久久久超碰| 国产亚洲女人久久久久毛片| 亚洲美女性视频| 久久天天狠狠| 国产精品欧美一区喷水| 欧美日韩精品一区二区天天拍小说| 国产精品高潮视频| 亚洲黄色一区二区三区| 欧美亚洲综合网| 国产喷白浆一区二区三区| 亚洲网在线观看| 在线欧美日韩精品| 亚洲一区二区在线| 亚洲一区在线视频| 欧美老女人xx| 免费欧美日韩国产三级电影| 久久三级福利| 久久精品一区二区三区不卡牛牛| 国产精品海角社区在线观看| 亚洲精品影院| 亚洲综合清纯丝袜自拍| 亚洲线精品一区二区三区八戒| 国产日韩精品一区二区| 亚洲国产成人精品久久| 欧美在线免费观看视频| 亚洲日本aⅴ片在线观看香蕉| 欧美激情亚洲自拍| 久久精品国产999大香线蕉| 国产色综合久久| 国产精品成人免费精品自在线观看| 国产一区二区三区电影在线观看| 免费成年人欧美视频| 日韩一级黄色大片| 99国产精品久久久久久久成人热| 免费亚洲电影在线观看| 在线 亚洲欧美在线综合一区| 亚洲午夜视频在线观看| 国产伦精品一区二区三区在线观看| 精品成人一区二区三区四区| 午夜精品三级视频福利| 米奇777超碰欧美日韩亚洲| 欧美 日韩 国产一区二区在线视频| 亚洲经典视频在线观看| 亚洲综合日韩中文字幕v在线| 欧美一区二区视频在线| 亚洲激情电影中文字幕| 又紧又大又爽精品一区二区| 亚洲一区二区日本| 99pao成人国产永久免费视频| 亚洲美女诱惑| 国产精品私人影院| 亚洲一区二区综合| 免费日韩av片| 欧美日韩国产不卡在线看| 欧美影院一区| 欧美二区在线播放| 国产一区二区三区免费观看| 久久精品中文字幕免费mv| 久久全球大尺度高清视频| 久久久久久日产精品| 欧美日韩综合视频| 国产模特精品视频久久久久| 国产精品日韩欧美综合| 狠狠久久亚洲欧美| 国产色产综合色产在线视频| 一片黄亚洲嫩模| 在线观看欧美成人| 国产人成精品一区二区三| 国产精品日韩精品欧美精品| 最新亚洲电影| 亚洲国产精品女人久久久| 欧美日韩调教| 99视频精品全国免费| 亚洲视频一区| 一区二区日韩免费看| 欧美中文字幕第一页| 蜜桃av一区二区在线观看| 狠狠色噜噜狠狠狠狠色吗综合|