【django轻量级框架】用Mysql的各种项目响应速度慢?一招解决!

文章目录

  • 1 MySQL禁止反向解析客户端IP
  • 2 原理

1 MySQL禁止反向解析客户端IP

【django轻量级框架】用Mysql的各种项目响应速度慢?一招解决!_第1张图片
找到这个文件增加一行skip-name-resolve参数。

2 原理

安装mysql后,默认反向解析是打开的。不管你是使用域名还是IP连接数据库,mysqld都会做一个反向解析的过程,即从 IP->dns的反查,反查的过程是很慢的而且是受ISP控制,所以一旦ISP由于某些原因(这个也许有必要让系统工程师查查)而无法响应就会出现前面所说的unauthenticated user,而且mysql会出现停顿状态。解决的办法就是在my.cnf里面增加一个设置禁止mysql做任何解析的动作。

–skip-name-resolve
在做这个设置的之前一定要检查系统,将所有连接改写为IP连接,因为一旦此设置生效,mysql是无法进行域名解析的,原有的域名连接将全部失效。
MySQL数据库收到一个网络连接后,首先拿到对方的IP地址,然后对这个IP地址进行反向DNS解析从而得到这个IP地址对应的主机名。用主机名在权限系统里面进行权限判断。反向DNS解析是耗费时间的,有可能让用户感觉起来很慢。甚至有的时候,反向解析出来的主机名并没有指向这个IP地址,这时候就无法连接成功了。

你可能感兴趣的:(#,Django)