LAN을 통한 DB 연결이 WAN 연결보다 느린 이유는 무엇입니까?

LAN을 통한 DB 연결이 WAN 연결보다 느린 이유는 무엇입니까?

나는 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)를 다시 시작하면 모든 것이 마술처럼 빨라졌습니다!

관련 정보