2012-11-01 4 views
-1

다른 서버에서 동일한 응용 프로그램을 실행하면 예기치 않은 처리량 결과가 발생하는 문제가 있습니다. 예를 들어로드가없는 특정 빠른 서버 (더 빠른 CPU, 더 많은 메모리)에서 응용 프로그램을 실행하면 동일한 네트워크의 덜 강력한 서버에서 실행하는 것보다 처리량이 떨어집니다.응용 프로그램 처리량이 비정상적으로 느려지는 디버그

OS 또는 TCP가 빠른 서버에서 속도 저하를 일으키는 것으로 의심됩니다. OS 및 TCP 구성을보고 느려질 수있는 원인을 제시 할 수있는 도구가 있습니까?

모든 서버에서 Red Hat Linux가 실행 중입니다.

업데이트 소켓 기반 클라이언트 서버 응용 프로그램입니다. 서버에 연결된 단일 클라이언트와 같은 단일 연결을 사용하여 최대한 빨리 메시지를 보내려고합니다. 분기 또는 멀티 스레딩 없음.

더 이상 생각해 보면 대기 시간이나 처리량에 영향을 줄 수있는 주요 TCP 옵션이 있습니까?

+0

더 많은 컨텍스트를 제공하려면 어떤 종류의 앱이 필요합니까? 소켓 앱/웹 앱/포크/스레딩 등 – Darek

답변

0

이와 같은 디버깅 문제의 핵심은 테스트 사례에서 물리적 네트워크를 제거하는 것입니다. 즉, 네트워크를 통하지 않고 localhost를 통해 TCP 응용 프로그램 전송을 비교합니다.

대부분의 경우 NIC 구성, 본딩 구성, 종단 간 TCP RTT, 패킷 순서 재 지정, 패킷 손실 속도 또는 기타 외부 요인으로 인해 이러한 차이가 발생합니다. "네트워크"인지 서버인지 확인하려면 localhost에서 localhost로 테스트하십시오.

관련 문제