se correres em modo debug, mete um breakpoint onde ele indica
deliveryInDoubt e vez a razão pela qual isso acontece. Algo está a ser
transformado indevidamente. Supostamente os dados já chegam descompactados
ao Flash pois quem é suposto descompactar é o browser e não o flash em si.
Usamos gzip com o FluorineFX e funciona na perfeição, temos respostas de
85kb com uma centena de entidades com umas 10 propriedades dais quais tem N
colecções com dezenas de outras entidades.


2014-05-28 23:17 GMT+01:00 Hugo Ferreira <[email protected]>:

> Boa noite,
>
> Finalmente dei com isto.
> Nos testes que fiz em desktop, de certeza que ouve variações na
> performance da rede ou do servidor.
>
> Agora estou na posse de dados mais científicos e acredito que pouca gente
> ou ninguém esteja a usar compressão com AMFPHP.
>
> O plugin que referes é para o AMFPHP 2.X. O AMFPHP 1.9 já traz compressão
> através do plugin do próprio PHP no entanto por defeito não funciona (tem
> um bug), pelo menos com a actual versão do PHP.
>
> O que se tem de fazer para de facto activar a compressão na resposta ?
> 1. No php.ini colocar zlib.output_compression = on (descomentar a linha de
> código se tiver comentada)
> 2. No php.ini colocar zlib.output_compression_level = -1 (valor por
> defeito de compressão) e descomentar a linha de código
> 3. Reiniciar o Apache para que as alterações tenham efeito
> 4. No Gateway.php do AMF 1.9, alterar a linha de código
> if(!$outputCompression) para if($outputCompression == 1)
> 5. Garantir que no gatway.php do vosso backend, tenham a linha de código
> $gateway->enableGzipCompression(25*1024); decomentada
> 6. Alterar o parâmetro deo enableGzipCompression para um valor menor
> (podem fazer testes para perceber a partir de que ponto compensa a
> compressão versus maior carga de processamento).
>
> Só apenas depois de todos estes 6 pontos corrigidos é que terão de facto a
> compressão na ordem dos 80-85%, sendo que no charles fica evidenciado a
> compressão no resultado, taxa de compressão, menor tempo de resposta.
>
> No entanto no charles não é possível analisar os dados devolvidos porque o
> charles recebe apenas dados comprimidos e o Flex também não sabe lidar com
> o resultado, gerando um fault na chegada do
> resultado: Client.Error.DeliveryInDoubt
>
> Consegui a compressão desejada no entanto o Flex não sabe lidar com a
> mesma ou falta-me fazer algo para indicar que ele deve descomprimir os
> resultados !
> É como morrer na praia. Alguém tem alguma sugestão ?
>
> Se não for possível existe sempre a garantia de comprimir manualmente os
> dados na origem (os serviços mais pesados e descomprimir manualmente no
> destino).
>
>
> No dia 28 de Maio de 2014 às 18:40, APintex Gmail <[email protected]>escreveu:
>
> AMFPHPGZIP
>>
>>
>> http://www.silexlabs.org/137377/exchange/exchange-amfphp/amfphp-plugin-amfphpgzip/
>>
>>
>> No dia 28/05/2014, às 17:30, Hugo Ferreira <[email protected]>
>> escreveu:
>>
>> Sabes, vou seguir a tua sugestão e testar essa nova revisão "profiler" e
>> comparar à 1.9. No mínimo tem de ter a mesma performance, caso contrário
>> vou-me manter na 1.9.
>>
>>
>> No dia 28 de Maio de 2014 às 17:28, APintex Gmail 
>> <[email protected]>escreveu:
>>
>>> Hugo,
>>>
>>> Já que está em ‘testes’, que tal perder (ganhar) um pouco de tempo
>>> também com a versão 2.2 profiler? ;)
>>> A mim parece-me que se ganha com a migração
>>>
>>> António Pinto
>>>
>>> No dia 28/05/2014, às 17:26, Hugo Ferreira <[email protected]>
>>> escreveu:
>>>
>>> Boa questão.
>>>
>>> Infelizmente não estou a usar essa versão, logo desconheço. Lembro-me
>>> que nos meus testes, a v2 do AMFPHP era pior que a v1.9 por isso nunca
>>> migrei.
>>>
>>> Curioso que não encontro grande informação no Google acerca da questão
>>> da compressão.
>>> Pelos meus testes (uma aplicação AIR Desktop) a compressão deu ganhos
>>> gritantes (estou a falar na ordem dos 80%). Antes parecia rápido e agora
>>> parece instantâneo.
>>>
>>> Hoje vou fazer testes de uma aplicação AIR Android cujo PHP está sem a
>>> compressão activa de momento. Estou a depositar grandes expectativas nos
>>> resultados pois trata-de uma aplicação com uma complexidade muito elevada e
>>> em que algumas chamadas devolvem muitas strings (largas centenas), logo
>>> irão dar origem a um elevado índice de compressão.
>>>
>>>
>>> No dia 28 de Maio de 2014 às 17:19, APintex Gmail 
>>> <[email protected]>escreveu:
>>>
>>>> Boa tarde Hugo,
>>>>
>>>> Utilizo a versão 2.2 (act agora para a nova 2.2 Profiler).
>>>> Nos testes que fiz anteriormente, tinha chegado à conclusão que a
>>>> versão 2.2 não tinha grandes diferenças de performance com a 1.9, iniciando
>>>> o projecto actual com a 2.2
>>>> Nesta versão, não existe o gateway.php e a questão é: como activo
>>>> GzipCompression (se é que é necessário nesta versão)?
>>>>
>>>> António Pinto
>>>>
>>>> No dia 28/05/2014, às 11:54, Hugo Ferreira <[email protected]>
>>>> escreveu:
>>>>
>>>> OK, já percebi que é necessário o módulo zlib activo que é usado na
>>>> compressão/descompressão pelo PHP.
>>>>
>>>> Basicamente colocar a ON no php.ini: *zlib.output_compression = On*
>>>>
>>>> Esta aplicação mobile foi testada num servidor com a opção a Off. Irei
>>>> fazer um novo teste.
>>>>
>>>>
>>>> No dia 27 de Maio de 2014 às 01:22, Hugo Ferreira <
>>>> [email protected]> escreveu:
>>>>
>>>>> Curioso. Enquanto que em AIR-Desktop notou-se melhoras, fiz testes de
>>>>> performance (por relógio) no Android e o tempo foi semelhante entre usar o
>>>>> parâmetro e não usar !
>>>>>
>>>>>
>>>>> No dia 27 de Maio de 2014 às 00:59, Hugo Ferreira <
>>>>> [email protected]> escreveu:
>>>>>
>>>>> João,
>>>>>>
>>>>>> Coloquei agora o valor no extremo, ou seja, nem lhe passei parâmetro
>>>>>> (o que estava era o default do AMFPHP) e o tempo reduziu em cerca de 80%
>>>>>> !!! Ficou magnificamente rápido. Quase nem dá para acreditar.
>>>>>>
>>>>>> Enquanto que reduziu muito no tempo de resposta (claramente a nível
>>>>>> de percepção e também a nível do que consta no charles), no charles 
>>>>>> consta
>>>>>> o mesmo valor total em KB, o que é estranho. Ou seja em vários testes 
>>>>>> (com
>>>>>> o valor por defeito e sem parâmetro), sem parâmetro é sempre muito mais
>>>>>> rápido mas o total em KB é sempre o mesmo. A única explicação que vejo é 
>>>>>> o
>>>>>> charles indicar sempre o valor descomprimido.
>>>>>>
>>>>>> Muito obrigado,
>>>>>> Hugo.
>>>>>>
>>>>>>
>>>>>> No dia 27 de Maio de 2014 às 00:42, João Fernandes <
>>>>>> [email protected]> escreveu:
>>>>>>
>>>>>> certamente que 25*1024 é para indicar a partir de que tamanho é que o
>>>>>>> GZip é aplicado, se for inferior a esse tamanho, nada é feito. NO teu 
>>>>>>> caso
>>>>>>> estas a dizer que só a partir de 25k é que é aplicado gzip, o que me 
>>>>>>> parece
>>>>>>> um valor bastante elevado.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2014-05-26 21:55 GMT+01:00 Hugo Ferreira <[email protected]>:
>>>>>>>
>>>>>>>> No charles vem no request:
>>>>>>>> Accept-Encoding: gzip, deflate
>>>>>>>>
>>>>>>>> No gateway.php (do AMFPHP) já estava a descomentada a linha de
>>>>>>>> código: $gateway->enableGzipCompression(25*1024);
>>>>>>>>
>>>>>>>> Comentando ou descomentando esta linha de código, o total ocupado
>>>>>>>> (visto no charles) é o mesmo !
>>>>>>>>
>>>>>>>> Está a faltar-me alguma coisa. Eu esperava que ao usar
>>>>>>>> enableGzipCompression no AMFPHP, o total de dados em cada chamada,
>>>>>>>> diminui-se drasticamente !
>>>>>>>>
>>>>>>>>
>>>>>>>> No dia 26 de Maio de 2014 às 11:08, João Fernandes <
>>>>>>>> [email protected]> escreveu:
>>>>>>>>
>>>>>>>> Certamente terás forma de configurar isso no AMFPHP se não estiver
>>>>>>>>> já activo. Já validaste nos headers com o charles se a resposta não 
>>>>>>>>> vem
>>>>>>>>> marcada como usando gzip?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2014-05-26 10:49 GMT+01:00 Hugo Ferreira <[email protected]>:
>>>>>>>>>
>>>>>>>>>>  Bom dia,
>>>>>>>>>>
>>>>>>>>>> Parece que o AMFPHP suporta compressão em formato gzip, evitando
>>>>>>>>>> ter de comprimir os dados dados manualmente e descomprimir no outro 
>>>>>>>>>> ponto
>>>>>>>>>> mas não diz como usar com RemoteObject.
>>>>>>>>>> Alguém já usou e pode-me explicar o que tenho de configurar no
>>>>>>>>>> RemoteObject no lado do Flex e no lado do AMFPHP ?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Obrigado,
>>>>>>>>>> Hugo.
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>>>>>>>>>> Comunidade Portuguesa de Rich Internet Applications -
>>>>>>>>>> www.riapt.org" do Grupos do Google.
>>>>>>>>>> Para anular a subscrição deste grupo e parar de receber emails do
>>>>>>>>>> mesmo, envie um email para [email protected].
>>>>>>>>>> Para publicar uma mensagem neste grupo, envie um email para
>>>>>>>>>> [email protected].
>>>>>>>>>> Visite este grupo em http://groups.google.com/group/riapt.
>>>>>>>>>> Para mais opções, visite https://groups.google.com/d/optout.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> João Fernandes
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>>>>>>>>> Comunidade Portuguesa de Rich Internet Applications -
>>>>>>>>> www.riapt.org" do Grupos do Google.
>>>>>>>>> Para anular a subscrição deste grupo e parar de receber emails do
>>>>>>>>> mesmo, envie um email para [email protected].
>>>>>>>>> Para publicar uma mensagem neste grupo, envie um email para
>>>>>>>>> [email protected].
>>>>>>>>> Visite este grupo em http://groups.google.com/group/riapt.
>>>>>>>>> Para mais opções, visite https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>>>>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org"
>>>>>>>> do Grupos do Google.
>>>>>>>> Para anular a subscrição deste grupo e parar de receber emails do
>>>>>>>> mesmo, envie um email para [email protected].
>>>>>>>> Para publicar uma mensagem neste grupo, envie um email para
>>>>>>>> [email protected].
>>>>>>>> Visite este grupo em http://groups.google.com/group/riapt.
>>>>>>>> Para mais opções, visite https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> João Fernandes
>>>>>>>
>>>>>>> --
>>>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>>>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org"
>>>>>>> do Grupos do Google.
>>>>>>> Para anular a subscrição deste grupo e parar de receber emails do
>>>>>>> mesmo, envie um email para [email protected].
>>>>>>> Para publicar uma mensagem neste grupo, envie um email para
>>>>>>> [email protected].
>>>>>>> Visite este grupo em http://groups.google.com/group/riapt.
>>>>>>> Para mais opções, visite https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> --
>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org"
>>>> do Grupos do Google.
>>>> Para anular a subscrição deste grupo e parar de receber emails do
>>>> mesmo, envie um email para [email protected].
>>>> Para publicar uma mensagem neste grupo, envie um email para
>>>> [email protected].
>>>> Visite este grupo em http://groups.google.com/group/riapt.
>>>> Para mais opções, visite https://groups.google.com/d/optout.
>>>>
>>>>
>>>>
>>>> --
>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org"
>>>> do Grupos do Google.
>>>> Para anular a subscrição deste grupo e parar de receber emails do
>>>> mesmo, envie um email para [email protected].
>>>> Para publicar uma mensagem neste grupo, envie um email para
>>>> [email protected].
>>>> Visite este grupo em http://groups.google.com/group/riapt.
>>>> Para mais opções, visite https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>> --
>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do
>>> Grupos do Google.
>>> Para anular a subscrição deste grupo e parar de receber emails do mesmo,
>>> envie um email para [email protected].
>>> Para publicar uma mensagem neste grupo, envie um email para
>>> [email protected].
>>> Visite este grupo em http://groups.google.com/group/riapt.
>>> Para mais opções, visite https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do
>>> Grupos do Google.
>>> Para anular a subscrição deste grupo e parar de receber emails do mesmo,
>>> envie um email para [email protected].
>>> Para publicar uma mensagem neste grupo, envie um email para
>>> [email protected].
>>> Visite este grupo em http://groups.google.com/group/riapt.
>>> Para mais opções, visite https://groups.google.com/d/optout.
>>>
>>
>>
>> --
>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do
>> Grupos do Google.
>> Para anular a subscrição deste grupo e parar de receber emails do mesmo,
>> envie um email para [email protected].
>> Para publicar uma mensagem neste grupo, envie um email para
>> [email protected].
>> Visite este grupo em http://groups.google.com/group/riapt.
>> Para mais opções, visite https://groups.google.com/d/optout.
>>
>>
>>  --
>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do
>> Grupos do Google.
>> Para anular a subscrição deste grupo e parar de receber emails do mesmo,
>> envie um email para [email protected].
>> Para publicar uma mensagem neste grupo, envie um email para
>> [email protected].
>> Visite este grupo em http://groups.google.com/group/riapt.
>> Para mais opções, visite https://groups.google.com/d/optout.
>>
>
>  --
> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do
> Grupos do Google.
> Para anular a subscrição deste grupo e parar de receber emails do mesmo,
> envie um email para [email protected].
> Para publicar uma mensagem neste grupo, envie um email para
> [email protected].
> Visite este grupo em http://groups.google.com/group/riapt.
> Para mais opções, visite https://groups.google.com/d/optout.
>



-- 

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 anular a subscrição deste grupo e parar de receber emails do mesmo, envie 
um email para [email protected].
Para publicar uma mensagem neste grupo, envie um e-mail para 
[email protected].
Visite este grupo em http://groups.google.com/group/riapt.
Para mais opções, consulte https://groups.google.com/d/optout.

Responder a