rafaeloliveirax
Forum Replies Created
-
Forum: Plugins
In reply to: [Relevanssi - A Better Search] Fatal error on updateAwesome!
All working back again, thank you so much for the fast fix!@denisgomesfranco Eu uso o Redis também, mas n?o acredito que ele se aplique nesse caso. Pois ele é muito bom pro cachear objetos como requisi??es de database, etc…
No caso o problema está nas requests redundantes que s?o feitas para a api do mercado pago. Basicamente ele está indo no servidor do mercado pago buscar a mesma informa??o 8x em menos de 5 segundos, o que n?o parece necessário.Eu fiz um teste bem na gambiarra aqui:
Eu fiz um id único via hash pra cada request feito na fun??o exec da classe class-rest-client-abstract.php, com esse id único eu cacheava a resposta desse request por 3 segundos via set_transient.
Se tivesse outra requisi??o idêntica (com msm hash id) dentro de 3 segundos, eu retornava o valor cacheado ao invés de buscar novamente na api do mercado pago.
Isso deixou o carregamento da página 80% mais rápido, e a percep??o de resposta do checkout ao se entrar nele pela primeira vez foi absurda.
Eu obviamente n?o recomendaria fazer esse tipo de “hack”, ainda mais para um meio de pagamento. Mas como teste, eu vi que cachear algumas requisi??es ajuda imensamente no meu caso.
A equipe do Mercado Pago com certeza deve ter mais no??o do que pode ser ser cacheado ou n?o. Mas se considerarem isso, acredito que seja uma ótima saída.
Continuando os testes aqui.
Eu fiz um log de requests durante o carregamento do checkout e pelo que vi, teve 16 chamadas api para (api.mercadopago.com/plugins-credentials-wrapper/credentials) que retornavam o mesmo resultado toda vez sem nenhuma mudan?a (Talvez elas poderiam ser cacheadas?). Parece que elas eram realizadas múltiplas vezes para cada forma de pagamento habilitado (Pix, Cart?o, Boleto, etc…).
Desabilitando algumas formas de pagamento e habilitando apenas o pagamento via redirecionamento para o site do Mercado Pago (Checkout Pro), ajudou muito, e o carrinho e checkout est?o carregando mais rápido, porém ainda parece ter várias requisi??es múltiplas para o mesmo endpoint, que retornam o mesmo resultado (Segue uma timeline que observei no meu server):
[Aug-26-2021 11:45:35] api.mercadopago.com/v1/payment_methods
[Aug-26-2021 11:45:35] api.mercadopago.com/plugins-credentials-wrapper/credentials
[Aug-26-2021 11:45:34] api.mercadopago.com/plugins-credentials-wrapper/credentials
[Aug-26-2021 11:45:33] api.mercadopago.com/plugins-credentials-wrapper/credentials
[Aug-26-2021 11:45:33] api.mercadopago.com/plugins-credentials-wrapper/credentials
[Aug-26-2021 11:45:30] api.mercadopago.com/v1/payment_methods
[Aug-26-2021 11:45:30] api.mercadopago.com/plugins-credentials-wrapper/credentials
[Aug-26-2021 11:45:29] api.mercadopago.com/plugins-credentials-wrapper/credentials
[Aug-26-2021 11:45:29] api.mercadopago.com/plugins-credentials-wrapper/credentials
[Aug-26-2021 11:45:28] api.mercadopago.com/plugins-credentials-wrapper/credentialsEntendo que talvez a arquitetura do plugin dependa dessas requisi??es repetidas, mas de qualquer forma, espero que ajuda em algo.
- This reply was modified 3 years, 7 months ago by rafaeloliveirax.
- This reply was modified 3 years, 7 months ago by rafaeloliveirax.
- This reply was modified 3 years, 7 months ago by rafaeloliveirax.
- This reply was modified 3 years, 7 months ago by rafaeloliveirax.
Eu estou com o mesmo problema.
Fazendo um php profiling via xdebug, eu percebi que há muitas chamadas sendo feitas pela classe MP_Rest_Client (Que acaba gerando chamadas via php-curl para a api do mercado pago) toda vez que o checkout é carregado.
Eu contei 5 requests, cada um levando em torno de 4 segundos, o que somando dá um total de mais de 20 segundos só de chamadas via API.
Será que essas chamadas n?o poderiam cacheadas ou mitigadas em apenas uma call?Ou talvez elas pudessem ser feitas via ajax de alguma outra forma, sem afetar o carregamento inicial da página.