記一次線上Oracle連線耗時過長的問題
阿新 • • 發佈:2021-12-10
問題現象
1、遠端Oracle資料庫通過IP:PORT/SERVICE_NAME連線
2、應用服務通過Docker容器部署,訪問Oracle聯通性測試介面,需要50s左右才能返回連線成功;
3、寫了個JDBC測試程式,放在宿主機進行JDBC連線Oracle資料庫測試,發現連線耗時不穩定,時快時慢,下圖為宿主機連線資料庫耗時截圖;
4、通過Windows運維機器安裝Navicat客戶端,連線目標Oracle資料庫,連線速度很快;
5、Linux宿主機安裝SQLPLUS客戶端,連線目標Oracle資料庫,連線速度很快;
初步排查
看了很多技術部落格,基本都是將file:/dev/random修改為file:/dev/urandom、file:/dev/./urandom、file:/dev/../dev/urandom
等,實測無效,可能碰到的不是一個問題
問題定位
排查到DNS時,發現宿主機DNS配置清空後,通過JDBC連線目標Oracle資料庫速度很快
進入容器中進行測試,發現清空DNS配置後連線速度也很快了,至此問題解決
清空DNS配置命令:echo >/etc/resolv.conf