Flex w / AMF返回结果缓慢

时间:2010-09-03 04:45:41

标签: php mysql flex optimization flex4

我认为这只是微调一些不同元素的问题,但我想知道你的看法。我有一个Flex应用程序,使用Flex 4数据服务,与Zend AMF服务进行通信。其中一个服务使用SELECT * FROM table在数据库中返回所有结果,大约有1200行(140KB包大小)。

我的问题是响应时间,它引起了愤怒。总持续时间始终在7-8秒之间。除了大约150毫秒之外,所有这些都是延迟。我打破了PHP来确定延迟的确切位置,结果return $rows正在耗费大约6.8秒的延迟。我可以处理1-2秒,但是当我开始等待8秒钟时,我觉得有点愚蠢。我直接从数据库交叉检查查询响应速度,就像我期望总查询时间是45-60ms。

PHP,这基本上只是生成的Flex数据服务代码,虽然在生产中却不一样:

public function getAllProject_entries() {

        $stmt = mysqli_prepare($this->connection, "SELECT u.*
                                                   FROM $this->tablename u");       
        $this->throwExceptionOnError();

        mysqli_stmt_execute($stmt);
        $this->throwExceptionOnError();

        $rows = array();

        mysqli_stmt_bind_result($stmt, $row->id, $row->field1, $row->field2, $row->field3, $row->field4, $row->field5, $row->field6, $row->field7, $row->field8, $row->field9, $row->field10, $row->field11, $row->field12, $row->field13, $row->field14, $row->field15, $row->field16, $row->field17, $row->field18, $row->field19);

        while (mysqli_stmt_fetch($stmt)) {
          $rows[] = $row;
          $row = new stdClass();
          mysqli_stmt_bind_result($stmt, $row->id, $row->field1, $row->field2, $row->field3, $row->field4, $row->field5, $row->field6, $row->field7, $row->field8, $row->field9, $row->field10, $row->field11, $row->field12, $row->field13, $row->field14, $row->field15, $row->field16, $row->field17, $row->field18, $row->field19);
        }

        mysqli_stmt_free_result($stmt);
        mysqli_close($this->connection);

        return $rows;
    }

您需要查看Flex代码吗?我不确定要展示什么...

有什么东西我完全不见了吗?

1 个答案:

答案 0 :(得分:0)

据我了解你的AMF后端慢慢回复你的RIA前端,所以你可能会尝试使用AMFPHP吗?作为更轻量级的解决方案。