Flex w / AMF yavaş sonuçlar döndürülüyor

0 Cevap php

Ben bu sadece ince ayar bazı farklı unsurları bir meselesi olduğunu düşünüyorum, ama ben sizin benimsediğiniz bilmek istiyorum. Ben Zend AMF hizmetleri ile iletişim, Flex 4 veri servislerini kullanarak, bir Flex uygulaması var. Hizmetlerden biri SELECT * FROM table ~ 1200 satır (140KB paket boyutu) vardır kullanarak bir veritabanındaki tüm sonuçları döndürür.

Benim sorunum bu öfke uyarım var, tepki zamanı. Toplam süre 7-8 saniye arasında her zaman. Bütün bunlar ama yaklaşık 150ms gecikme. Ben gecikme oldu ve return $rows ~ 6.8sec gecikme yiyor çıkıyor tam olarak nerede anlamaya PHP dağıldı. I 1-2sn ile başa çıkabilirim ama ben 8sec için etrafında bekleyen başladığınızda ben biraz aptal hissediyorum. Ben doğrudan veritabanı sorgu tepki hızını, çapraz kontrol, ve ben bekliyordum gibi toplam sorgu süresi 45-60ms olduğunu.

Üretimde aynı olmasa da PHP, bu, temelde sadece oluşturulan Flex veri hizmeti kodu:

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;
    }

Eğer Flex kodunu görmek gerekir mi? Ben göstermek için ne tam olarak emin değilim ...

Ben tamamen eksik bir şey var mı?

0 Cevap