【问题标题】:Amfphp is working slow with Flex-4Amfphp 使用 Flex-4 运行缓慢
【发布时间】:2012-10-20 12:32:39
【问题描述】:

嗯, 我正在尝试在使用 httpservice 的项目中使用远程对象(Amfphp)。我听说它会让我的申请更快。但是当我在数据网格中尝试 Amfphp 以进行测试时,我发现它比 httpservice 需要更多的时间。这是我到目前为止所做的。

调用php函数的AS-3代码:

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 秒。什么是延迟?需要帮助的家伙。请:

【问题讨论】:

  • 哎呀!我忘了提到我正在使用的 amfphp 版本。这是 Amfphp 2.0
  • 很难判断这是否因为 AMF 序列化或其他原因而变慢。我会尝试在通过该函数时添加时钟输出,以查看数据库内容是否有任何减速。如果不是,那么 AMFPHP 可能非常慢。
  • 感谢詹姆斯沃德的回复。我试过时钟输出。在 amfphp 的服务浏览器中耗时 400 毫秒,在 flex 应用中使用相同参数的相同功能耗时 7/8 秒。
  • 那么主要是花在 AMF 序列化、网络传输还是 AMF 反序列化上?你可以做更多的手动检测来发现这一点。
  • 好的。你能帮我做更多的手动仪器吗?我正在考虑数据包嗅探。但我不知道该怎么做。一点帮助将不胜感激:)

标签: actionscript-3 apache-flex amfphp


【解决方案1】:

尝试使用amfphp 1.9。

不幸的是,amfphp 2.x 版本比1.9 慢

【讨论】:

    猜你喜欢
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多