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.
