문제

Apache 서버를 향해 시작할 수있는 것보다 동시 AJAX 요청 수에 제한이 있습니까? 예를 들어, 페이지 (프로토 타입 js)에서 div 요소를 업데이트하려면 다음 기능을 고려하십시오.

function trigger_content_update(cell) {
    //asynchronous : false is required for this to work properly
    $$('.update').each(function(update_item){  
        new Ajax.Request('/neighbouring?.state=update_template&dummy='+(new Date()).getTime(),{
            asynchronous: false,
            parameters: {divid: update_item.id, source: cell},
            onComplete: function(response) {
                var elm = response.getHeader('Element');
                if ($(elm) !== null) { $(elm).update(response.responseText) }
            }
        });
});

}

내 HTML 페이지에는 "업데이트"CSS 선택기로 표시된 8 개의 DIV 요소가있어 8 개의 AJAX 요청이 시작됩니다. 이 코드는 비동기 속성이 False로 설정된 상태에서 잘 작동하지만 비동기식을 설정하자마자 : true (Firebug에서) 대부분의 AJAX가 500 상태 (내부 서버 오류)를 반환하는 것을 요청할 수 있습니다.

이 경우 Apache를 다시 시작하여 복구해야합니다.

도움이 되었습니까?

해결책

요청을 처리하는 서버 측 코드를 확인합니다.

Apache에 관한 한, Ajax 요청은 양식을 제출 한 것과 동일합니다. 8 Apache가 동시 요청을 쉽게 처리해야하므로 Apache가 실행중인 서버 측 코드가 잠그고 있음을 시사합니다. 아마도 데이터 파일에 작성하여 잠겨있는 것을 찾으려고할까요?

다른 팁

방금 서비스에 10,000 개의 동시 Ajax 전화를 보냈던 테스트 케이스를 썼습니다. Apache Tomcat에서 잘 작동합니다. 모든 서비스는 적절한 답변으로 돌아 왔습니다.

서비스에 일부 내부 동기화 문제가있는 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top