3

오래된 웹 서버를 교체하기 위해 새로운 웹 서버를 설치/구성했습니다. 이전 서버 'server1'+ 새 서버 'server2'를 호출 해 봅시다. 그들은 같은 코드로 동일한 웹 사이트를 운영하고 있지만, 구형 서버는 새로운 웹 페이지보다 훨씬 빠르게 웹 페이지를 제공하고 있습니다.두 웹 서버 사이의 느린 페이지 '대기 시간'진단

서버 1의 설정 : 첫째, 여기에 서버 사양에 좀 더 세부입니다

리눅스 서버 1은 2.6.32-25-일반적인-PAE # 45 - 우분투 SMP 토 10월 16일 21시 1분 : 세계 협정시 03시 03분 2010는 i686 GNU/리눅스

MemTotal : 6180036 kB의

8 개 코어 인텔 (R) 제온 (R) CPU를 E5620의 @ 2.40GHz

Server 버전 : 아파치/2.2.14 (우분투)

서버 2 구성 :

리눅스 서버 2 3.2.0-23-일반적인 # 36 - 우분투 SMP 화 4월 10일 세계 협정시 20시 39분 51초 2012 x86_64에의 x86_64에의 x86_64의 GNU/리눅스

MemTotal : 24682544 kB의

16 개 코어 인텔 (R) 제온 (R) CPU를 E5620의 @의 2.40GHz

Server 버전 : 아파 (우분투)

주요 차이점은 server2에는 64 비트 OS 아키텍처가 있으며 RAM과 CPU가 훨씬 더 많다는 것입니다.

나는 당신에 관해 모른다. 그러나 나는 server2가 server1의 양말을 날려 버릴 것을 기대한다. 그러나 웹 페이지를 제공하는 경우에는 그렇지 않습니다. 두 서버의 페이지가로드에 대한

개발자 도구 출력 :

Server1 대기 시간 : 314ms

Server2 대기 시간 : 당신이 볼 수 있듯이 5.45s

, 동일한 파일 요청이 만들어 두 시스템 모두에서 여전히 server1이 여전히 우세합니다.

나는 '대기 시간'에 영향을 미칠 수있는 몇 가지 요인을 조사하려고했지만 시간이 소비되는 곳을 좁히는 데 많은 어려움을 겪고 있습니다. 아파치 2 설정을 살펴 보았습니다. 동일한 지시문과 모듈 확장이 두 시스템에 적용되었습니다 ... 코드가 다르며 동일하다는 것을 확인했습니다 ... 네트워크/ping/nslookup 시간은 거의 동일합니다.

'대기 시간'을 계산하는 방법과 문제의 범위를 좁히는 데 사용할 수있는 방법을 정확히 설명 할 수 있습니까?

많은 감사, NS

답변

1

네, 결국 그것의 바닥에 도착했다. 귀하의 문제에 대한 해결책은 광산과 매우 다를 수 있습니다. 'Waiting time'은 서버 측에서 실행되는 것과 관련된 광범위한 용어입니다.

필자의 경우 수동으로 코드를 디버그하여 코드를 microtime()로드를 인쇄하여 시간을 잃어버린 곳을 찾아 내야했습니다.

exec ~ /sbin/route의 코드가있는 것으로 확인되었습니다. 원래 32 비트 시스템에서

, 이것은 전혀 시간에 실행했지만, 64 비트 컴퓨터에서, 그것은 5 초를 초과에 복용했다 :

$ time /sbin/route 
Kernel IP routing table 
Destination  Gateway   Genmask   Flags Metric Ref Use Iface 
default   10.10.10.1  0.0.0.0   UG 100 0  0 eth0 

real 0m5.007s 
user 0m0.000s 
sys  0m0.004s 

확실하지/sbin에있는 경우/경로는 일반적으로 64 비트 컴퓨터에서 느리게 실행됩니다 (그렇다면 이유를 알고있는 것이 좋을 것입니다). 또는 비난 할 새로운 OS 버전인지 여부도 알 수 있습니다.

+0

PHP 토지에서는 캐시 그라인드 또는 다른 프로파일 러를 사용하여 병목 현상을 찾을 수 있습니다. 마이크로 타임이 필요 없습니다. –