Centos 7 느린 구문 분석

Centos 7 느린 구문 분석

Centos 7을 설치한 후 DNS가 /etc/hosts에 저장된 주소를 조회하는 데 시간이 오래 걸리는 것을 확인했습니다. 예는 다음과 같습니다.

time curl -X get http://localhost

real    0m0.159s
user    0m0.004s
sys     0m0.005s

하지만

time curl -X get http://127.0.0.1

real    0m0.005s
user    0m0.001s
sys     0m0.003s

각 요청은 "localhost"를 확인하는 데 약 0.15초가 걸립니다.

Centos 6.5의 동일한 네트워크에 있는 다른 서버에서 동일한 테스트를 수행했지만 "localhost"는 "127.0.0.1"만큼 빠릅니다.

답변1

레드햇입니다버그 1130239 - RHEL6과 RHEL7 간의 컬 성능 차이:

라이브러리 libcurl는 활성 파일 설명자가 없는 작업(짧은 작업이라도)에 대해 불필요하게 긴 차단 지연을 사용합니다. 이는 호스트 이름 확인 사용과 같은 특정 작업을 /etc/hosts완료하는 데 인위적으로 오랜 시간이 걸릴 수 있음을 의미합니다. 의 차단 코드는 libcurl이제 초기 지연이 짧고 이벤트가 발생할 때까지 점차 증가하도록 수정되었습니다. libcurl이제 빠른 작업이 더 빠르게 완료됩니다.

소스에서 새로운 버전의 컬을 설치합니다:

git clone https://github.com/bagder/curl.git
cd curl
yum install libtool
./buildconf
./configure
make
make install

관련 정보