보통 먼저 작업 관리자에서 브라우저의 CPU 사용률을 체크한다 이 때 IEXPLORER.EXE 가 100이라면

스크립트 문제인 경우이다. 그런데 점유율은 정상인데도 불구하고 문제가 발생하는 경우가 있다.

바로 브라우저의 연결 수 제한 때문에 발생한다.

이 문제가 발생하면 ie6에서는 일단 브라우저 자체가 먹통이 되어버린다. 한참을 기다리면 풀리긴 하지만

결과를 받지 못하는 현상이 발생한다.

게다가 사이트에서 사용하는 이미지가 많으면 많을수록 이런 문제는 잦아질 수 있다.

ie6, ie7, firefox2 가 연결수 2개로 위와 같은 문제가 야기될 수 있다.

대안은 첫째로 요청하는 파일들의 호스트를 분산시키는 방법이다. 라고 써있는데 이는 크게 영향이 없는 듯 하고,

둘째로는 ajax요청을 할 때 ajaxQueue 와 같은 플러그인을 사용해서 비동기 연결을 관리하는 방법이 있고,

셋째로는 클라이언트들에게 연결 수 제한을 풀도록 방법을 제시하거나, 브라우저 버전 업데이트,

최신 브라우저 사용을 요구하는 방법이 있다.

세번째 방법이 제일 효율적이면서도 단순한 방법이지만, 클라이언트가 웹 상의 레지스트리를 다운받아 적용해야하는

문제가 있고, 브라우저 업데이트도 ie는 운영체제상(?) 문제로 오래 쓰던 사람이 업데이트를 할 경우 문제가 발생할 확률이 높고,

시각적인 요소를 통해 ie6외에 다른 브라우저를 사용하도록 유도하는것이 정답이라 생각한다.

개인적으로는 ie6를 절대 버릴 수 없기에 항상 ie6를 생각하며 개발을 해 왔지만 이런 문제는 원인파악도 어렵고 참 난감하다.

ie6에서 연결수를 늘리는 레지스트리를 첨부한다.


11. 8 추가 >>

ie6 또는 올드 브라우저에서 짧은 시간에 여러 번 ajax호출을 했을 때 어느 순간 응답 시간이 30초 ~ 5분 사이로 길어지는 현상. ajax 호출 시 async를 false로 설정시 브라우저가 프리징되는 현상이 발생한다.

2개의 연결 수 제한과, 브라우저 스크립트 엔진의 조화라 생각한다. 특히 연결 수 제한을 초과한 연결에 대해 컨트롤을 할 수 없게 되어 연결이 닫히지 않고 계속 남게 되어 생기는 현상이다.

모던브라우저 사용을 권장하고, 부득이할 경우 연결 수 제한을 늘려주는 컨피그 파일을 배포하고, 호출 시 헤더 Connection 값을 "close" 로 설정하는 방법뿐이 없다.


저작자 표시 비영리
신고