apache SSL 속도 저하 문제

jocdoc의 이미지

apache : 2.0.54
openssl : 0.9.7a

apache 설치 구문

./configure --prefix=/usr/local/apache --enable-mods-shared=max --enable-so --enable-ssl --with-ssl --enable-rewrite --enable-mods-shared=ssl

make & make install

openssl은 rpm 설치

문제는 ssl 적용시 해당 서버가 현격히 페이지 로딩 지연 시간이 증가된다는 것입니다.
apache startssl 로 데몬 띄우고 https:// 로 접속이 아닌 http://로 접속하는데도 로딩 지연 시간이 증가했다는 겁니다.

같은 사이트 소스를 다른 장비에 복사하고 같은 조건으로 설치된 APM 환경하에서 테스트를 해보았지만 http로 접속하는것은 속도가 똑같았습니다.

다만 문제가 되는 서버는 그냥 start 만 해서 접속하면 속도가 빠른데 startssl해서 ssl 적용만하면 정말 현격하게 느려집니다.

서버 사양이 문제의 서버는 Pentium 3(코퍼마인) 1GHz x 2 이고 테스트 서버는 Xeon 2.4Ghz x 2 입니다. 하드웨어 차이때문인건지
동일한 사양의 서버로 테스트를 했어야하는데 같은 사양의 장비가 없으니 답답하네요.

openssl speed 요 명령어로 두 장비에서 테스트를 했지만 수치상 차이가 약 1초 미만입니다. 수치상 차이가 미미한데 실제 퍼포먼스 차이가 이리 심하게 날 수 가 있는건지 궁금하네요.

정말 이리저리 찾아보았지만 설정상의 차이나 설치방법의 차이도 아니니 남은건 하드웨어 사양밖에 없네요a

woonuk의 이미지

원인이 뭘까 궁금해서 찾아보니 이런 내용이 있네요.

http://www.lists.aldigital.co.uk/apache-ssl/msg02615.html

/dev/random이 아닌 /dev/urandom을 사용하도록

configuration을 바꾼후에 속도저하 문제가 해결됐다는...

jocdoc의 이미지

그건 apache-ssl 모듈에 관련된 문제고 저는 mod-ssl 을 사용하는지라 해당되는 내용이 아니네요.ㅠㅠ

혹시나 해서 해봤지만 설정파일에서 없는 지시자라고 에러를.ㅠㅠ

답변 감사합니다.

bushi의 이미지

bt의 이미지

문제 장비가 코퍼마인이면 10년 정도 된 CPU 아닌가요? 컴퓨팅 파워가 너무 떨어져서 SSL이 주는 overhead에 민감한거 같네요. Xeon과 비교하면 너무 차이날 듯.

jocdoc의 이미지

한달 가까이 삽질의 삽질 결과

원인을 찾았네요....(무지 허망함....)

ssl.conf 파일에 디폴트로 들어가있던

SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0

이 구문이 문제였던거네요.... 강제로 IE에서만 http/1.0으로 응답하게 되어있어서 홈페이지 중에서도 이미지 용량이 좀 큰 사이트는 로딩 속도가 미친듯이 느려졌던 원인이었어요. 이참에 http/1.0 과 1.1의 성능 차이도 잘 알았네요. 하...진작 ie말고 다른 브라우저로 열어볼걸...
ie 미움....ㅠㅠ

김정균의 이미지

이미지 용량이 큰데 apache로 구동을 하는 것은 너무 비 효율적입니다. 아마도 keep-alive 때문에 차이가 나게 될 것인데, 이 keep-alive가 접속 자체가 많은 서버의 경우 bottle neck이 될 수도 있습니다. 특히 image가 많은 경우 문제가 될 소지가 높아질 확률이 높습니다.