![LAN을 통한 DB 연결이 WAN 연결보다 느린 이유는 무엇입니까?](https://rvso.com/image/1302255/LAN%EC%9D%84%20%ED%86%B5%ED%95%9C%20DB%20%EC%97%B0%EA%B2%B0%EC%9D%B4%20WAN%20%EC%97%B0%EA%B2%B0%EB%B3%B4%EB%8B%A4%20%EB%8A%90%EB%A6%B0%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 LAN을 통한 MySQL 데이터베이스 연결이 인터넷을 통한 데이터베이스 연결보다 훨씬 느리다는 사실을 오랫동안 알아차렸습니다.
저는 Windows 7 32비트를 실행하고 있으며 이더넷 케이블을 사용하여 스위치에 연결되어 있습니다. 스위치는 인터넷 연결이 건물에 도착하는 모뎀/라우터에 연결됩니다. 저는 WiFi를 사용하고 있지 않습니다.
다음 코드를 실행했습니다.
//store current time
$start = microtime(true);
//connect to database outside my LAN
$c1 = mysql_connect("1.2.3.4", "user1", "pass1");
mysql_select_db("database1", $c1);
//print out the time taken in seconds
echo microtime(true) - $start, "<br>";
//close the database connection
mysql_close($c1);
//store current time
$start2 = microtime(true);
//connect to database on my LAN
$c2 = mysql_connect("192.168.0.10", "user2", "pass2");
mysql_select_db("database2", $c2);
//print out time taken in seconds
echo microtime(true) - $start2, "<br>";
//close database connection
mysql_close($c2);
세 번 실행하면 다음과 같은 결과가 반환됩니다.
외부 WAN 데이터베이스: 0.054498910903931, 0.055356025695801, 0.05623197555542
내부 LAN 데이터베이스: 5.0052859783173, 5.0053160190582, 5.005627155304
LAN 파일 전송 속도(Samba를 사용하여 Ubuntu 시스템에서 드라이브 공유)는 약 30MB/s이고 광대역 연결 속도는 35Mbps 감소 및 7Mbps 증가입니다.
일화로, SSH를 사용하여 로컬 서버에 로그인하는 것은 상당히 느립니다.
귀하에게 필요한 다른 정보가 무엇인지 모르겠습니다. 추가 정보를 요청하세요. 로컬 연결이 왜 필요한지 잘 모르겠습니다.그래서훨씬 느려요!
답변1
Wireshark를 사용하여 연결 트래픽을 검사한 결과 실패한 것으로 보이는 MDNS 요청이 여러 개 발견되었습니다.
그 후 나는 우연히 만났다.Ubuntu 이름 서비스 스위치 구성에 대한 이 버그/etc/nsswitch.conf
에 설명된 대로 최후의 수단으로 mDNS를 사용하도록 파일을 변경했습니다.Ubuntu 서버 네트워크 구성페이지.
필요한 서비스(MySQL, SSH)를 다시 시작하면 모든 것이 마술처럼 빨라졌습니다!