Apache 프로세스에서 strace를 수행할 때 Apache가 이미지 파일과 같은 정적 파일을 반환하는 경우에도 GET 요청 전후에 많은 gettimeofday가 표시됩니다. 이로 인해 Apache 2.4(php 5.6, fcgid 포함)가 GET 요청에 응답하기 전에 긴 가동 중지 시간이 발생합니다.
1616 0.000048 읽기(156, "GET / HTTP/1.1\r\n", 8000) = 16 1616 0.000099 gettimeofday({1430592206, 931114}, NULL) = 0 1616 0.000044 gettimeofday({1430592206, 931156}, NULL) = 0 1616 0.000035 read(156, 0x7f01d4007018, 8000) = -1 EAGAIN(리소스를 일시적으로 사용할 수 없음) 1616 0.000042 poll([{fd=156, events=POLLIN}], 1, 7915439 1670 0.020724 <... epoll_wait 재개됨> {}, 100, 100) = 0 1670 0.000039 gettimeofday({1430592206, 951998}, NULL) = 0 1670 0.000037 gettimeofday({1430592206, 952034}, NULL) = 0 1670 0.000033 gettimeofday({1430592206, 952066}, NULL) = 0 1670 0.000032 epoll_wait(155, {}, 100, 100) = 0 1670 0.100265 gettimeofday({1430592207, 52366}, NULL) = 0 1670 0.000041 gettimeofday({1430592207, 52405}, NULL) = 0 1670 0.000033 gettimeofday({1430592207, 52437}, NULL) = 0 1670 0.000033 epoll_wait(155, {}, 100, 100) = 0 1670 0.100324 gettimeofday({1430592207, 152804}, NULL) = 0 1670 0.000066 gettimeofday({1430592207, 152865}, NULL) = 0 1670 0.000073 gettimeofday({1430592207, 152941}, NULL) = 0 1670 0.000060 epoll_wait(155, {}, 100, 100) = 0 1670 0.100251 gettimeofday({1430592207, 253247}, NULL) = 0 1670 0.000039 gettimeofday({1430592207, 253284}, NULL) = 0 1670 0.000032 gettimeofday({1430592207, 253316}, NULL) = 0 1670 0.000032 epoll_wait(155, {}, 100, 100) = 0 1670 0.100241 gettimeofday({1430592207, 353597}, NULL) = 0 1670 0.000061 gettimeofday({1430592207, 353653}, NULL) = 0 1670 0.000071 gettimeofday({1430592207, 353727}, NULL) = 0 1670 0.000045 epoll_wait(155, {}, 100, 100) = 0서버가 실제로 GET에 대한 응답을 반환하기 전에 많은 것들이 있습니다.
내가 뭘 한거지:
- 만약을 대비해 httpd.conf에서 ExtendedStatus를 off로 설정했습니다.
- 나는 Red Hat 팀의 조언에 따라 다음을 수행했습니다.
echo "kernel.vsyscall64 = 2" >> /etc/sysctl.conf
& 나중에 sysctl을 편집합니다. - 에코 1 > /proc/sys/kernel/vsyscall64
이로 인해 Apache 2.4의 응답 속도가 약간 향상되었지만 여전히 느리고 Gettimeofday가 많습니다. 나는 모드 보안이 없고 Apache의 표준 모듈만 가지고 있습니다. 그럼에도 불구하고 나는 모듈을 의심합니다.
ioncube 5.0.2인지 확인해봤는데 아니더군요.
정상인가요? 그렇지 않다면 Apache의 모듈에서 나올 수 있다고 생각하십니까?
편집: 3개의 로그에 복사된 3개의 타임스탬프와 일치하는 것으로 보이며 3개의 오류/경고를 기록합니다.
고마워.