2012-10-31 2 views
2

음, httpservice를 사용하는 프로젝트에서 원격 객체 (Amfphp)를 사용하려고합니다. 나는 그것이 나의 신청을 더 빠르게 할 것이다라고 들었다. 하지만 테스트 목적을 위해 DataGrid에서 Amfphp를 시도했을 때 httpservice가 더 오래 걸리는 것을 발견했습니다. 여기까지 내가 한 일이있다.Amfphp가 Flex-4에서 느리게 작동합니다.

는 AS-3의 PHP 함수를 호출하는 코드 :

public function init():void{ 
      var params:Array = new Array(); 
      params.push("1234"); 
      _amf = new RemoteObject; 
      _amf.destination = "dummyDestination"; 
      _amf.endpoint = "http://insight2.ultralysis.com/Amfphp/Amfphp/";//http://insight2.ultralysis.com 
      _amf.source = "manager1";      
      _amf.addEventListener(ResultEvent.RESULT, handleResult); 
      _amf.addEventListener(FaultEvent.FAULT, handleFault); 
      _amf.init(params); 

     } 

     public function handleResult(event:ResultEvent):void{ 
      myGrid.dataProvider = event.result.grid; 
     } 

와 MySQL 데이터베이스에서 데이터를 가져 오기 위해 PHP 함수 :

class output{ 
public $grid; 
public $week; 
} 

function form() 
{ 

    $arrayOut = new output(); 
    $arrayOut->grid = $this->gridValue(); 
    $arrayOut->week= $this->getAllWeek($this->ThisYear); 
    return $arrayOut; 

}

모든 것이 잘 작동합니다. 그러나 280 행의 데이터를 가져오고 렌더링하는 데 약 5 초가 걸립니다. 누구나 빨리 할 수 ​​있도록 도와 주시겠습니까? 이미 최적화 팁을 시도했습니다 silexlabs

패킷 스니퍼를 사용했으며 통계는 다음과 같습니다. 대기 시간은 대부분 5 초 정도 소요됩니다. 대기 시간이란 무엇입니까? 도움이 필요합니다.

enter image description here

+0

어머보다는 불행하게도 느립니다! 나는 사용하고있는 amfphp 버전에 대해서는 언급하지 않았다. 그것은 Amfphp 2.0입니다. –

+1

AMF 직렬화 또는 다른 이유로 인해 이것이 느린지를 판단하는 것은 어렵습니다. 그것은 그 기능을 통해 데이터베이스 물건에 어떤 둔화가 있는지 확인하기 위해가는대로 클럭 출력을 추가하려고합니다. 그렇지 않다면 AMFPHP가 매우 느릴 수도 있습니다. –

+0

James Ward의 답변에 감사드립니다. 나는 시계 출력을 시도했다. amfphp의 서비스 브라우저에서 400ms가 걸리고 동일한 매개 변수를 사용하는 동일한 기능이 플렉스 애플리케이션에서 7/8 초 걸립니다. –

답변

0

봅니다 amfphp 1.9를 사용하려면하시기 바랍니다.

amfphp 2.x 버전은 1.9