国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mysql DNS反向解析導致連接超時過程分析(skip-name-resolve)

2024-07-24 12:48:41
字體:
來源:轉載
供稿:網友
MySQL數據庫收到一個網絡連接后,首先拿到對方的IP地址,然后對這個IP地址進行反向DNS解析從而得到這個IP地址對應的主機名。用主機名在權限系統里面進行權限判斷。反向DNS解析是耗費時間的,有可能讓用戶感覺起來很慢。甚至有的時候,反向解析出來的主機名并沒有指向這個IP地址,這時候就無法連接成功了。

可以在配置文件里面禁止MySQL進行反向DNS解析,只需在my.cnf的[mysqld]段落中加入如下行即可:

skip-name-resolve (windows與linux下一樣的)

設備在連接mysql時候,等待服務器的banner信息需要4s左右,影響了Mysql服務的連接速度。
通過如下方式進行驗證:

1、Telnet端口驗證

通過設備和虛擬機(Linux系統)分別Telnet Mysql服務的端口,會出現一下現象:

設備(UAG/SCANNER): telnet后,等待Mysql的服務器端回應大概需要等10s左右。

[DPtech-Developer-Shell]telnet 10.101.0.206 3308
Trying 10.101.0.206...
Connected to 10.101.0.206.
Escape character is '^]'.
E
5.0.67-community-nt-log?Hc95
虛擬機(Ubuntu):telnet后,立即得到了Mysql服務器的返回

[root]~# telnet 10.101.0.206 3308
Trying 10.101.0.206...
Connected to 10.101.0.206.
Escape character is '^]'.
E
5.0.67-community-nt-log?D%(;1$]+,¢!Zdh`'?G)6r]YConnection closed by foreign host.   //這里耗時很短

2、通過程序進行驗證

具體源代碼見附件:驗證程序源代碼
源代碼基本上是設置了Recv超時后,建立socket連接之后接受數據,收到后計時并輸出。

在設備上和虛擬機中的結果分別如下:
設備:

[DPtech-Developer-Shell]/tcpclient_mips 10.101.0.1 3306
花費時間:19553
Recved 68 bytes
@
5.5.2-m2-community%uD3q`n)

虛擬機:

[root]tcp_demo# ./tcpclient 10.101.0.1 3306
花費時間:10525
Recved 68 bytes
@
5.5.2-m2-communitd~k~Y";B

可以發現,設備上大約比Linux服務器多耗時9s,其中10秒鐘可能是recv本身超時的時間。

3、通過不同操作系統進行Telnet驗證

通過Windows系統和Linux虛擬機、設備,分別通過Telnet進行連接嘗試,通過抓包分析得知,只有設備的耗時比較長,其他的耗時都比較短。
抓包時發現設備中的socket建立之后,MYSQL服務器需要發送很多次的NBNS報文后,才會傳輸banner信息,而Linux虛擬機和Windows系統的主機在這個過程中都沒有出現這個問題。
查找了一些資料,關于MYSQL NBNS報文的問題:

Mysql論壇的提問:

http://forums.mysql.com/read.php?11,250982,250982#msg-250982

該問題的答復
http://forums.mysql.com/read.php?11,250982,254683#msg-254683

從答復中來看,貌似是某些版本的問題,臨時的解決方案是對Mysql服務器進行配置,不啟用Named Pipes,即 命名管道 功能即可解決這個問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景德镇市| 汉源县| 尚志市| 贵港市| 青田县| 武鸣县| 新丰县| 卫辉市| 班戈县| 蕉岭县| 额尔古纳市| 新化县| 洛阳市| 大悟县| 太湖县| 依安县| 鹤山市| 津南区| 开远市| 桐柏县| 武隆县| 高密市| 海晏县| 孟津县| 拉萨市| 海安县| 尤溪县| 江孜县| 晋城| 阳山县| 旬邑县| 临清市| 磐安县| 浑源县| 沽源县| 常德市| 从江县| 呼伦贝尔市| 南岸区| 敦煌市| 长岛县|