Linux 서버를 운영하다 보면 Ping 응답 시간이 갑자기 증가하거나, 웹페이지가 느리게 열리고, SSH 입력이 한참 뒤에 반응하거나, 데이터베이스 응답 속도가 급격히 떨어지는 경우가 있습니다. 이러한 증상의 대표적인 원인이 High Latency(네트워크 지연) 입니다.
네트워크 지연은 패킷이 목적지까지 도착하는 데 걸리는 시간이 길어지는 현상으로, 서버 자체에는 문제가 없어 보여도 사용자 입장에서는 서비스가 매우 느리게 동작하는 것처럼 느껴질 수 있습니다.
이번 글에서는 Linux에서 High Latency가 발생하는 원인과 확인 방법, 해결 방법을 실무 중심으로 알아보겠습니다.
High Latency란?
Latency는 패킷이 출발지에서 목적지까지 이동하는 데 걸리는 시간을 의미합니다.
구조는 다음과 같습니다.
Client
│
▼
Router
│
▼
Switch
│
▼
Linux Server
RTT(Round Trip Time)
일반적으로 ping 명령에서 표시되는 시간이 RTT(Round Trip Time)입니다.
Latency가 증가하면 응답 시간이 길어지고, TCP 세션 성능도 함께 저하됩니다.
High Latency 문제가 발생하는 주요 원인
대표적인 원인은 다음과 같습니다.
- 네트워크 혼잡(Congestion)
- Packet Queue 증가
- Router 과부하
- Switch 과부하
- CPU 사용률 증가
- 메모리 부족
- Duplex 불일치
- MTU 문제
- VPN 사용
- ISP 회선 문제
실무에서는 네트워크 혼잡과 장비 과부하가 가장 흔한 원인입니다.
1. Ping으로 지연 확인하기
가장 기본적인 방법입니다.
ping 8.8.8.8
예시
64 bytes from 8.8.8.8
time=8 ms
time=12 ms
time=10 ms
응답 시간이 지속적으로 증가하거나 편차(Jitter)가 크다면 추가 점검이 필요합니다.
2. mtr로 구간별 분석하기
경로별 지연 시간을 확인합니다.
mtr 8.8.8.8
또는
mtr -rw 8.8.8.8
어느 구간에서 지연이 발생하는지 쉽게 확인할 수 있습니다.
3. traceroute 확인하기
라우팅 경로를 확인합니다.
traceroute 8.8.8.8
특정 Router에서 응답 시간이 급격히 증가하는지 확인합니다.
4. 인터페이스 상태 확인하기
NIC 오류를 확인합니다.
ip -s link
또는
ethtool -S eth0
다음 항목을 확인합니다.
- RX Errors
- TX Errors
- Dropped Packets
- CRC Errors
오류가 많으면 지연의 원인이 될 수 있습니다.
5. CPU와 메모리 확인하기
서버 부하를 확인합니다.
top
또는
vmstat 1
CPU 사용률이 높거나 메모리가 부족하면 네트워크 패킷 처리 속도가 느려질 수 있습니다.
6. 네트워크 통계 확인하기
소켓 상태를 확인합니다.
ss -s
또는
netstat -s
TCP Retransmission이나 Queue가 증가하는지 확인합니다.
7. tcpdump 분석하기
패킷 흐름을 확인합니다.
tcpdump -i eth0
특정 서비스만 확인하려면
tcpdump -i eth0 tcp
을 사용할 수 있습니다.
재전송(Retransmission)이 자주 발생하는지 확인합니다.
8. 로그 확인하기
커널 로그를 확인합니다.
journalctl -k
또는
dmesg
NIC Reset, Driver 오류, Link Down 등의 메시지가 있는지 확인합니다.
9. Duplex와 Speed 확인하기
NIC 설정을 확인합니다.
ethtool eth0
예시
Speed: 1000Mb/s
Duplex: Full
Half Duplex로 설정되어 있거나 Auto Negotiation이 실패하면 지연이 발생할 수 있습니다.
10. 실제 서비스 테스트
다음 서비스를 점검합니다.
- SSH
- HTTP
- HTTPS
- Database
- API
- 파일 전송
Ping만 확인하지 말고 실제 서비스 응답 시간도 측정해야 합니다.
High Latency 문제 점검 순서
실무에서는 다음 순서대로 확인하는 것이 좋습니다.
- Ping 테스트
- mtr 실행
- traceroute 확인
- NIC 상태 확인
- CPU 및 메모리 확인
- TCP 통계 확인
- tcpdump 분석
- 로그 확인
- Duplex 및 Speed 확인
- 실제 서비스 테스트
High Latency 사용 시 주의사항
다음 사항을 확인해야 합니다.
- Ping 결과만으로 판단하지 않는다.
- Jitter(응답 시간 편차)도 함께 확인한다.
- CPU 사용률과 네트워크 상태를 함께 분석한다.
- NIC 오류 카운터를 지속적으로 모니터링한다.
- VPN과 터널링 환경에서는 추가 지연을 고려한다.
- Packet Loss와 함께 발생하는지 확인한다.
지연은 패킷 손실 없이도 발생할 수 있으며, 응답 시간이 일정하지 않은 경우 서비스 품질이 크게 저하될 수 있습니다.
High Latency와 Packet Loss의 차이
| 항목 | High Latency | Packet Loss |
|---|---|---|
| 의미 | 패킷 전달이 느림 | 패킷이 사라짐 |
| 증상 | 응답 지연 | 연결 끊김 |
| TCP 영향 | 처리 속도 감소 | 재전송 증가 |
| 대표 원인 | 혼잡, 부하 | 네트워크 장애 |
Latency는 패킷이 늦게 도착하는 것이고, Packet Loss는 패킷 자체가 손실되는 문제입니다.
자주 묻는 질문
Ping은 정상인데 웹사이트만 느립니다.
애플리케이션 처리 지연, DNS 문제, 데이터베이스 응답 지연 또는 HTTP 서버 성능 문제가 원인일 수 있습니다. 네트워크뿐 아니라 서버 애플리케이션도 함께 점검해야 합니다.
지연 시간이 어느 정도면 정상인가요?
같은 데이터센터에서는 보통 1ms 이하, 국내 인터넷 환경에서는 10~30ms 정도가 일반적입니다. 해외 서버는 지역에 따라 100ms 이상이 나올 수도 있습니다.
Latency와 Jitter는 같은 의미인가요?
아닙니다. Latency는 평균 응답 시간이고, Jitter는 응답 시간이 얼마나 일정하게 유지되는지를 나타내는 값입니다.
마무리
High Latency는 서비스 체감 성능을 크게 떨어뜨리는 대표적인 네트워크 문제입니다. ping, mtr, traceroute, ss, ethtool, tcpdump 등을 함께 활용하면 대부분의 지연 원인을 빠르게 분석할 수 있으며, 네트워크 장비와 서버 성능을 함께 점검하는 것이 안정적인 운영의 핵심입니다.