記一次 網頁響應慢,waiting(TTFB)時間過長,接口返回耗時,數據庫佔用CPU 90%以上問題排查前端
症狀:H5頁面打開白板,幾十秒後出現頁面,調試跟蹤訪問接口waiting(TTFB:全稱 Time To First Byte,是指網絡請求被髮起到從服務器接收到第一個字節的這段時間,它包含了 TCP 鏈接時間、發送 HTTP 請求時間和得到響應消息第一個字節的時間)時間過長,查看服務器資源佔用,SqlServer佔用CPU90%以上sql
網上查詢相關解決辦法:1.網絡緣由,使用CDN。2.網頁去訪問了其餘插件/網絡地址(百度翻譯等)。3.數據庫鏈接使用localhost(localhost要本地DNS解析,127.0.0.1無需解析,因此127.0.0.1會更快)數據庫
都不是本次問題所在!服務器
過程:檢查服務器SqlServer佔用CPU90%以上,首先想到的是數據訪問量大或者sql語句問題,但根據實際狀況此緣由排除。懷疑接口代碼問題,但只要請求到達接口,裏面邏輯處理很快返回。IIS問題?換了兩臺服務器不一樣IIS問題依舊。後來發現只要中止SqlServer服務或斷開數據庫鏈接速度恢復正常,那接口沒問題,換數據庫。從新配置數據庫鏈接並設置應用程序池的隊列長度爲3000,最大工做進程數爲2或者5網絡
剛開始覺得解決了,不久新服務器CPU也被SqlServer佔用90%以上,可是發現數據庫鏈接時斷時好(斷的時候訪問很快)且數據庫鏈接報錯:(超時時間已到,可是還沒有從池中獲取鏈接。出現這種狀況多是由於全部池鏈接均在使用,而且達到了最大池大小。) (應該是設置了最大工做進程數致使),不是數據庫自己問題。插件
再次診斷數據庫鏈接查詢,發現數據庫短期訪問量很大,懷疑數據庫被攻擊。又換數據庫改默認端口,問題依舊。。。。。翻譯
又回來,分析前端到接口時間爲何要等待那麼久,域名解析慢?改訪問接口方式爲IP地址(以前接口域名也在用),依然!3d
中止相關站點,前端,接口,後臺,CPU恢復正常!恢復前端/接口(用IP訪問接口,域名中止),響應正常!調試
接口域名問題?以前查看域名,服務器各類指標都正常,沒從這方面去想。驗證一下,把接口域名加上去,問題又出現,數據庫佔用升高。響應變慢!blog
OK,域名問題!換個新域名(加入阿里防火牆)一切運行正常!
那麼...是域名解析問題,仍是域名被攻擊呢。。。。。。。。。