我认为这只是微调一些不同元素的问题,但我想知道你的看法。我有一个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代码吗?我不确定要展示什么...
有什么东西我完全不见了吗?
答案 0 :(得分:0)
据我了解你的AMF后端慢慢回复你的RIA前端,所以你可能会尝试使用AMFPHP吗?作为更轻量级的解决方案。