2009-11-26 2 views
2

우리 서버와 통신하는 플렉스 애플리케이션이 있습니다. flex 앱은 서버에 많은 HTTP 요청 (게시물 및 가져 오기)을, 많은 경우 병렬로 만듭니다.플렉스를 서버에 무작위로 놓기

우리는 flex 응용 프로그램에서 경험 한 많은 연결 끊김을 알게되었습니다.

서버에 실패한 요청이 전혀 표시되지 않고로드가되지 않습니다.

또한 flex가 연결 끊김으로 인해 POST 또는 GET 요청을 자동으로 다시 시도하여 서버가 요청을 두 번 받았다고 의심됩니다.

그런 경험이있는 사람이 있습니까?

이 문제를 완화하려면 어떻게해야합니까?

+0

우리가 INB 특정 사용 : mx.rpc.http.HTTPService의 게시물을 만들기 위해 및 mx.controls.Image.load (stringUrl)는 이미지 및 flash.media.Sound.load (새 된 URLRequest를 (로드 stringUrl)을 사용하여 오디오를로드하십시오 – Patrick

+0

문제를 재현 할 수있는 재현 가능한 테스트 사례가 있습니까? –

+0

불행히도 우리는 유사점을 보려고 노력했지만 공통 분모를 찾을 수는 없습니다. – Patrick

답변

1

우리는 이와 같은 문제가 있었고 문제를 찾을 수 없었습니다. 오랜 시간 동안 검색 한 결과 sqlserver에 과부하가 걸렸습니다 (많은 정보가 서버에 기록되기 때문에). 이제 우리는 txt 파일에 로그하고 모든 것이 잘 동작합니다.

우리의 flex 응용 프로그램은 350 명의 후보자 (평균)가 동시에 취하는 테스트 도구입니다. 웹 서버와 sqlserver의 부하는 30 초마다 플렉스 애플리케이션의 상태가 서버에 저장되기 때문에 상당히 높습니다 (state = 현재 운동중인 후보자).

우리는 아무런 문제가 없었으므로 문제가 플렉스 애플리케이션이 아니라고 생각합니다. 네트워크일까요?

우리는 WebORB 및 amf 원격 호출을 사용합니다. 또한 미디어를 가져 오는 데 사용되는 retrieveBlob.aspx 핸들러가 있습니다. 평균적으로 350 명의 응시자가 세션을 시작하면 3500 개의 미디어 파일이 동시에 가져 오게됩니다 (서버에서 캐싱). 이 경우 우리는 지금까지 아무런 문제가 없었습니다.

우리가 구현 한 또 다른 사항은 대체 호출이 실패하면 flex가 동일한 매개 변수를 사용하여 다시 호출하는 대체 시스템입니다. 다시 실패하면 응시자에게 응용 프로그램을 다시 시작해야한다는 오류 메시지가 표시되고 이력서가 완료됩니다.

플렉스가 자동으로 게시물을 다시 시도하거나 가져 오기는 아직 우리 애플리케이션에서 보지 못한 것입니다.

어떤 서버를 사용하고 있습니까? (Flex-Weborb-asp.net-sqlserver를 사용합니다).

+0

우리는 MySql db에 Java 동면 응용 프로그램과 함께 tomcat 앞에서 아파치를 사용하고 있습니다. 그러나 서버 측, 대기열 없음 및 응답 시간에 실패한 요청은 표시되지 않습니다. 매우 비슷한 응용 프로그램에서 작업하십시오 – Patrick

+0

또한 서버와 동일한 네트워크에있는 350 명의 후보자입니까, 아니면 클라우드에있는 사람들입니까 – Patrick

+0

및 오디오 및 이미지를로드하는 데 어떤 방법을 사용합니까? mx.controls.Image.load (stringUrl) 및 flash.media.Sound.load (새 URLRequest (stringUrl))? – Patrick

2

로딩 개체 (URLLoader?)에 대한 참조를 보유하지 않아서 모든 올바른 이벤트 수신기를 설정하면 충분하다고 생각하여이 문제가 발생했습니다. 그것은 쓰레기를 수집하고 완료하지 못합니다. 해결 방법은 사전과 같이 루팅 된 컬렉션에 모든로드를 유지하고 완료시 제거하는 것이 었습니다.

문제가 관련 될 수 있습니까?

+0

확실히 관련성이 있습니다. ... 독점적이지는 않지만 ...좀 더 많은 옵션을 듣고 싶습니다. 감사합니다. – Patrick

+0

우리는 INB 특정 사용 : mx.rpc.http.HTTPService의 게시물을하고 mx.controls.Image.load (stringUrl은) 이미지를로드하고 flash.media.Sound.load (새 된 URLRequest (stringUrl) 오디오를로드하려면 – Patrick