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 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.
