Mysql DNS反向解析导致连接超时过程分析

最近在做项目中,发现使用Postman第一次访问刚刚启动的程序,需要1000ms,而之后的每次访问,随便一个接口,时间就是几时ms,这就很纳闷了,好奇的是为什么会这样呢?

Mysql数据库收到一个网络连接后,首先拿到对方的IP地址,然后对这个IP地址进行反向DNS解析从而得到这个IP地址对应的主机名。用主机名在权限系统里面进行权限判断。

进行DNS解析为什么会出错?
因为当客户端发起超过百万的连接时,Mysql对于每个连接都会进行反DNS解析得到主机名这样,反向DNS解析是耗费时间的,有可能让用户感觉起来很慢。甚至有的时候,反向解析出来的主机名并没有指向这个IP地址,这时候就无法连接成功了。
可以在配置文件里面禁止Mysql进行反向DNS解析,只需在my.cnf的[mysqld]段落中加入如下行即可:注意别加错了

skip-name-resolve (windows与linux下一样的)
只不过linux是my.cnf文件,windows是my.ini文件

当我把上面的语句加入到MySQL的时候,重新启动程序,再次访问,时间就是几时ms。很明显验证了这个问题,简单粗暴的分析方法。【my.ini配置文件找不到,那就是被隐藏了,我的是在c盘的ProgramData文件中,该文件被隐藏了。。】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值