網頁加載時waiting(TTFB)時間過長的問題解決


在博客中查看:https://www.zjhuiwan.cn/info/20200414/4008280463194140.html

博客之前文章沒有靜態化之前是根據id查詢的,每次點文章頁面都要加載10幾秒,體驗確實差。

代碼沒查出問題,就簡單的查詢也不應該有問題吧。

經過一系列的網頁優化后,還把所有文章靜態化展示,靜態化后確實快了,因為沒有再去請求后端獲取數據了,再慢我只能說是服務器帶寬不給力啊。

沒靜態化之前是用id去查詢文章的,因為其他地方有文章外鏈所以方法還保留着,今天通過這訪問一篇文章的時候等了16秒左右... 正好得空,就經過一番查找然后解決了。

 

解決辦法:

將項目數據庫配置文件中數據庫的鏈接地址修改為127.0.0.1

之前寫的是直接用服務器ip連接的... 

 

因為本地連的遠程庫得寫ip,部署一直沒有改過。

測試了下:

用服務器ip連接數據庫

Waiting為15s左右

158684464061640051127.png

 

用localhost連接

Waiting為1.5s左右

158684471233852070872.png

 

用127.0.0.1連接

Waiting為550ms左右

158684475613536028481.png

快了很多啊,不止查文章,后台我的一些功能用起來也快了好多啊。

 

那么為什么修改數據庫鏈接為127.0.0.1 速度就會提升這么大呢?

mysql的配置問題。

由於MYSQL的安全策略的問題,對於每一個連接以及每一個操作,MYSQL都會check當前用戶的主機名,so,當我們對數據庫進行op的時候,MYSQL數據庫服務器都會check一次主機名,這就導致了我們遠端操作數據庫的客戶端出現幾秒鍾的等待狀態,想要取消MYSQL數據庫服務器的這種檢查機制,就需要修改MYSQL配置文件

解決辦法:   在my.cnf文件的[mysqld]后面添加:   skip-name-resolve 

 

擴展:localhost和127.0.0.1

127.0.0.1無需解析,localhost還要本地DNS解析,所有127.0.0.1會更快

 

    一、localhost和127.0.0.1的關系:

  localhost也叫local ,正確的解釋是:本地服務器。

  127.0.0.1在Windows等系統的正確解釋是:本機地址(本機服務器或回送地址)。

  TA們的解析都是通過本機的hosts文件來引導,之后Windows自動將localhost解析為127.0.0.1 。

  二、localhost和127.0.0.1的區別

  localhot(local)是不經網卡傳輸!這點很重要,它不受網絡防火牆和網卡相關的的限制。

  127.0.0.1是通過網卡傳輸,依賴網卡,並受到網絡防火牆和網卡相關的限制。

  一般設置程序時本地服務用localhost是最好的,localhost不會解析成IP,也不會占用網卡、網絡資源。

  有時候用localhost可以,但用127.0.0.1就不可以的情況就是在於此。猜想localhost訪問時,系統帶的本機當前用戶的權限去訪問,而用IP(127.0.0.1)的時候,等於本機是通過網絡再去訪問本機,可能涉及到網絡用戶的權限。


​本機IP則指你連到網絡上的IP地址,可以是內網地址,當然也可能是公網IP,這個就是你實際利用TCP/IP協議與網上計算機通信時使用的IP了。
host文件位置:
  修改host文件c://Windows/System32/drivers/etc/hosts


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM