스트레스 테스트 중에 실제로 이상한 문제가 발생했습니다.Orbeon 서버가 스트레스 테스트에서 다른 반응을 보임
이것은 검색 양식으로 사용자가 팝업에서 개체를 검색하여 선택하고 (확인란을 클릭) 팝업 (팝업에서 트리거)을 선택하면 기본 페이지에 복사됩니다.
이것은 일반적으로 작동합니다. 그러나 orbeon이 많은 스트레스 (동시에이 작업을 수행하는 많은 클라이언트)에 노출되면 서버 응답이 다른 경우가 있습니다.
사용자가 선택 유효성을 검사하기 전에 2 초 동안 기다리면 작동합니다.
요청 :
<!DOCTYPE xxforms:event-request [<!ENTITY nbsp " ">]>
<xxforms:event-request xmlns:xxforms="http://orbeon.org/oxf/xml/xforms">
<xxforms:static-state>pers:C9B10DD4-DD1B-11F4-907F-1102C7BD8015</xxforms:static-state>
<xxforms:dynamic-state>pers:67DD2321-B039-300B-F048-6FE05A18E044</xxforms:dynamic-state>
<xxforms:action>
<xxforms:event name="DOMFocusOut" source-control-id="xf-12$advancedSearchControl$basic-input"></xxforms:event>
<xxforms:event name="DOMFocusIn" source-control-id="xf-12$displaySearchResults$datatableMultiple$mainselect•1"></xxforms:event>
<xxforms:event name="xxforms-value-change-with-focus-change" source-control-id="xf-12$displaySearchResults$datatableMultiple$mainselect•1">[email protected]</xxforms:event>
</xxforms:action>
</xxforms:event-request>
응답 :
<?xml version="1.0" encoding="utf-8"?>
<xxf:event-response xmlns:xxf="http://orbeon.org/oxf/xml/xforms">
<xxf:dynamic-state>pers:415194AF-12B7-C579-5A81-98D7935D5001</xxf:dynamic-state>
<xxf:action>
<xxf:control-values>
<xxf:control id="xf-12$displaySearchResults$selected-input-multiple">
[email protected]
[email protected]
</xxf:control>
<xxf:control id="xf-12$displaySearchResults$datatableMultiple$mainselect•1">
[email protected]</xxf:control>
<xxf:control id="xf-12$xf-49" readonly="false"/>
</xxf:control-values>
</xxf:action>
</xxf:event-response>
그러나 사용자가 5 초 동안 기다립니다 경우 대신. 동일한 요청, 다른 응답 및 선택은 기본 페이지에보고되지 않습니다.
요청 :
는<!DOCTYPE xxforms:event-request [<!ENTITY nbsp " ">]>
<xxforms:event-request xmlns:xxforms="http://orbeon.org/oxf/xml/xforms">
<xxforms:static-state>pers:C9B10DD4-DD1B-11F4-907F-1102C7BD8015</xxforms:static-state>
<xxforms:dynamic-state>pers:57740724-BFBE-D1FB-C7D4-2E586711B13B</xxforms:dynamic-state>
<xxforms:action>
<xxforms:event name="DOMFocusOut" source-control-id="xf-12$advancedSearchControl$basic-input"></xxforms:event>
<xxforms:event name="DOMFocusIn" source-control-id="xf-12$displaySearchResults$datatableMultiple$mainselect•1"></xxforms:event>
<xxforms:event name="xxforms-value-change-with-focus-change" source-control-id="xf-12$displaySearchResults$datatableMultiple$mainselect•1">[email protected]</xxforms:event>
</xxforms:action>
</xxforms:event-request>
응답 : 실패한 경우
<?xml version="1.0" encoding="utf-8"?>
<xxf:event-response xmlns:xxf="http://orbeon.org/oxf/xml/xforms">
<xxf:dynamic-state>pers:67DD2321-B039-300B-F048-6FE05A18E044</xxf:dynamic-state>
<xxf:action>
<xxf:control-values>
<xxf:control id="xf-12$displaySearchResults$datatableMultiple$mainselect•1"/>
</xxf:control-values>
<xxf:script name="xf_12_displaySearchResults_datatableMultiple_xf_231_xforms_function" target-id="xf-12$displaySearchResults$datatableMultiple$xf-229" observer-id="xf-12$displaySearchResults$datatableMultiple$xf-229"/>
<xxf:script name="xf_12_displaySearchResults_datatableMultiple_xf_256_xforms_function" target-id="xf-12$displaySearchResults$datatableMultiple$repeat-header" observer-id="xf-12$displaySearchResults$datatableMultiple$repeat-header"/>
<xxf:script name="xf_12_displaySearchResults_datatableMultiple_xf_205_xforms_function" target-id="xf-12$displaySearchResults$datatableMultiple$fr-dt-group" observer-id="xf-12$displaySearchResults$datatableMultiple$datatableMultiple-container"/>
<xxf:script name="xf_12_displaySearchResults_datatableMultiple_xf_231_xforms_function" target-id="xf-12$displaySearchResults$datatableMultiple$xf-229" observer-id="xf-12$displaySearchResults$datatableMultiple$xf-229"/>
<xxf:script name="xf_12_displaySearchResults_datatableMultiple_xf_256_xforms_function" target-id="xf-12$displaySearchResults$datatableMultiple$repeat-header" observer-id="xf-12$displaySearchResults$datatableMultiple$repeat-header"/>
<xxf:script name="xf_12_displaySearchResults_datatableMultiple_xf_362_xforms_function" target-id="xf-12$displaySearchResults$datatableMultiple$line-repeat" observer-id="xf-12$displaySearchResults$datatableMultiple$line-repeat"/>
<xxf:script name="xf_12_displaySearchResults_datatableMultiple_xf_362_xforms_function" target-id="xf-12$displaySearchResults$datatableMultiple$line-repeat" observer-id="xf-12$displaySearchResults$datatableMultiple$line-repeat"/>
<xxf:setfocus control-id="xf-12$advancedSearchControl$basic-input"/>
</xxf:action>
</xxf:event-response>
, 동작을 다시 실패 두 번 반복하는 제 확인 될 것이다.
테스터는 서버에 대한 요청을 자동화하는 고객 도구이지만 서버가 테스터의 스트레스를 받고있는 동안 수동으로 작업을 시도하는 경우에도 문제가 나타납니다.
자동 테스트 중에 발생하는 것을 알기는 어렵지만 서버가 사용 중일 때 수동으로 수행하면 결과가 체계적입니다.
- 당신은 당신이 약 5 초 정도가 실패 할 경우는
- 를 실패 할 경우 두 번 실패, 작동하는 서버 응답을 할 수있는 그래서 세 번째
, 작동을 직접 확인하는 경우 다르게? 올바른 응답이 무엇을하는지, 나는 그것이 무엇을 해야하는지와 같은지를 짐작할 수 있습니다.
잘못된 응답이 무엇인지 모릅니다. 양식이나 내 xbl에 아무런 조치가 없습니다.
어떻게 해결할 수 있습니까? 아니면 어떤 일이 일어나고 있는지 더 자세히 알아볼 수 있습니까?
Orbeon 버전 : 3.8.0.201005141856 CE
나는 당신이 곧바로 답을 찾지 못했을 것이라고 생각했지만, 아마도 누군가 다른 사람에게 일어난 일이라고 생각했다. 어디에서 포인터를 시작할 것인가? – user2739975
대답을 제공하기가 어렵습니다. 디버깅과 관련된 것 같습니다. 로깅, 디버거 등을 사용하려고합니다.이 요청은 Orbeon Forms 3.8 [here] (http://goo.gl/yg1cSG)에서 볼 수있는'XFormsServer'라는 클래스에 도달하기위한 것입니다. 그런 다음 상태 처리까지 계속 진행되고 모델, 인스턴스 및 컨트롤을 포함하는 ['XFormsContainingDocument'] (http://goo.gl/ykijWr)에 도달합니다. Ajax 응답은 [ControlsComparator] (http://goo.gl/m6GrWp)에서 제공됩니다. – ebruchez
감사합니다. 내가 그걸로 뭘 할 수 있는지 보려고 노력할거야. 내가 찾은 경우에 대비하여 업데이트하겠습니다. – user2739975