• 网页加载时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

  • 相关阅读:
    如何从ORACLE数据库生成HBM和JAVA
    timer
    工作流研究
    linux date命令设置时间
    耶基斯多得森曲线
    朋友考我的一个基础语法题
    微软企业库(一)
    标记属性
    Word自动化撤销、重做功能
    汇编中的ASSUME
  • 原文地址:https://www.cnblogs.com/sunonzj/p/12697837.html
Copyright © 2020-2023  润新知