Obrigado pelas respostas.

O teste que descrevi é devidamente acompanhado pelo Charles, que reporta um
tempo de 4.7s na mesma chamada.

Permite-me discordar sobre o que dizes sobre o teste de uma query com
apenas 1 registo. Considero importante já que, embora não seja
quantificável como query, é-o como teste de tempo de serialização pelo
número de registos. Ou seja, se o número de registos muda, o tempo
altera-se drasticamente, o que deveria demonstrar (ou refutar) algo - que
infelizmente ainda não sei o quê. :-P

O meu VO é simples:

PHP

<?php
    class voEmail {
        public $id_email;
        public $email;
        public $nome;
public $id_user;
public $obs;
    }
?>

Flex:

package vo
{
[Bindable]
public class emailVO
{
public var id_email:int;
public var id_user:int;
public var nome:String;
public var email:String;
public var obs:String;
}
}

Pelos testes, parece-me seguro inferir que o problema está na serialização,
algures no AMFPHP ou já no Flex. Agora acho absurdo acontecer num projecto
limpo. E já testei em ambiente de desenvolvimento local(windows, etc) e
produção (linux, etc.) com os mesmos resultados/problemas.



Miguel Vaz



2012/9/10 João Fernandes <[email protected]>

> Nunca usei AMFPHP mas se fosse a ti analisava com o charles proxy o tempo
> de resposta do servidor relativamente a esse request.
> O problema poderia ser do flex caso te indicasse que o tempo de resposta
> do servidor fosse o caso mas caso não se confirme, poderá ser sim da
> conversão de objectos PHP para AMF bytecode.
>
> Sei que no CF por exemplo existiram várias melhorias relativas ao
> melhoramento da serialização/deserialização tais como:
> Substituir AS > JAVA > CF por AS > CF
> Uso do scope "This" em vez de getters/setters
> Uso de objectos anónimos em vez de converter a query para uma lista de
> objectos que posteriormente teriam de ser convertidos para AMF.
>
> Certamente existirão formas de melhorar o desempenho de resposta mas com
> AMFPHP desconheço para te ser sincero. Talvez o João Saleiro te consiga
> ajudar (ou outros que tenham experiência com AMFPHP).
>
> 2012/9/10 Miguel Vaz <[email protected]>
>
>> Boa tarde,
>>
>> Realizei alguns testes ao nivel do AMFPHP e estou a ter alguma
>> (demasiada) lentidão na recepção dos dados.
>> O código de testes é um mero remoteobject directo com um serviço em PHP
>> que envia resultados de um query numa BD MySQL para o Flex. Tenho um button
>> que faz trigger à chamada e ao timer e um método de retorno para popular
>> uma datagrid (não interfere na performance..).
>>
>> resultados:
>>
>> - O tempo da query (tem cerca de 4500 registos) ronda os *0,26s*
>> - O tempo de método no PHP ronda os *0,5s*
>> - O tempo entre clique na aplicação Flex e retorno dos dados é de quase *
>> 5s*
>>
>> Testei uma query de apenas um elemento e o tempo total (do clique no
>> botão ao retorno do serviço) é quase imediato (<1s), o que me leva a
>> apontar o dedo ao tempo de serialização, ou do AMFPHP ou no Flex - não
>> consigo identificar o culpado.
>>
>> Aborrece-me considerando que não é falta de optimização de código ou
>> query, mas apenas algo no Flex ou AMFPHP.
>>
>> Alguém tem algum problema de performance com AMFPHP? Já notaram esta
>> situação? Dicas? Sugestões? Já tenho as chamadas a utilizar VOs (que embora
>> boa prática praticamente não interfere com os tempos)
>>
>> Obrigado.
>>
>> Miguel Vaz
>>
>> --
>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos
>> Grupos do Google.
>> Para publicar uma mensagem neste grupo, envie um e-mail para
>> [email protected].
>> Para anular a inscrição neste grupo, envie um e-mail para
>> [email protected].
>> Para ver mais opções, visite este grupo em
>> http://groups.google.com/group/riapt?hl=pt-PT.
>>
>
>
>
> --
>
> João Fernandes
>
> --
> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos
> Grupos do Google.
> Para publicar uma mensagem neste grupo, envie um e-mail para
> [email protected].
> Para anular a inscrição neste grupo, envie um e-mail para
> [email protected].
> Para ver mais opções, visite este grupo em
> http://groups.google.com/group/riapt?hl=pt-PT.
>

-- 
Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google.

Para publicar uma mensagem neste grupo, envie um e-mail para 
[email protected].
Para anular a inscrição neste grupo, envie um e-mail para 
[email protected].
Para ver mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT.

Responder a