데이터 센터의 동일한 랙 (로드 밸런서 뒤)에서 두 개의 Dell R410 서버를 실행 하고 있습니다. 둘 다 동일한 하드웨어 구성을 가지고 있으며 Ubuntu 10.4를 실행하고 동일한 패키지를 설치하고 동일한 Java 웹 서버를 실행합니다 (다른로드 없음).이 둘 사이에 상당한 성능 차이가 있습니다.
성능 차이는 두 서버의 평균 응답 시간에서 가장 분명합니다 (네트워크 대기 시간없이 Java 앱 자체에서 측정 됨).이 중 하나는 다른 서버보다 20-30 % 더 빠르며 매우 일관됩니다.
내가 사용 dstat
이 컨텍스트 스위치, IO, 교환 또는 아무것도 더 많은,하지만 난 그 차이에 대한 이유가없는 경우 알아낼 수 있습니다. 동일한 워크로드 (스왑 없음, 사실상 IO 없음)로 CPU 사용량과로드가 한 서버에서 더 높습니다.
따라서 그 차이는 주로 CPU 바운드 인 것처럼 보이지만 sysbench
(다른 모든 부하를 끈 상태에서) 간단한 CPU 벤치 마크 에서 차이가 발생했지만 6 %에 불과했습니다. 아마도 CPU 일뿐 만 아니라 메모리 성능 일 수도 있습니다.
지금까지 확인했습니다.
- 모든 구성 요소의 펌웨어 개정판 (동일)
- BIOS 설정 (을 사용하여 덤프를
dmidecode
했는데 아무런 차이가 없었습니다) - 나는 비교했다
/proc/cpuinfo
. - 나는 출력을 비교했다
cpufreq-info
. - Java / JVM 매개 변수 (두 시스템에서 동일한 버전 및 매개 변수)
또한 몇 달 전에 RAM을 완전히 교체했지만 아무런 효과가 없었습니다.
나는 길을 잃었다. 알아 내기 위해 무엇을 할 수 있습니까?
업데이트 : 예! 두 서버 모두 현재 동일하게 수행됩니다. 주석에서 jim_m_somewhere로 이름이 "power CRAP"설정이었습니다. "전원 관리"의 BIOS 옵션은 빠른 서버의 "최대 성능"과 다른 서버의 "Active Power Controller"(Dell의 기본 설정)에있었습니다. 분명히 2 년 전에 설정 한 것을 잊어 버렸고 모든 서버에서 그렇게하지는 않았습니다. 매우 유용한 정보를 제공해 주셔서 감사합니다!