2012-03-06 14 views
8

La manera en que yo estoy usando Magento es la siguiente:Cómo utilizar Magento almacenamiento en caché durante el uso de "API Magento"

  • Estamos utilizando Magento admin/salpicadero para almacenar la configuración, catálogo y cosas relacionadas
  • Somos utilizando la interfaz de la API de RPC SOAP & de Magento para nuestro escaparate orientado al cliente, es decir, lista de tiendas, catálogos, productos, compras, comentarios, etc. en nuestra capa de interfaz de usuario se realiza llamando a varias API de Magento.

Lo que hemos notado que nuestro cliente frente del escaparate es bastante lento, ya Magento de SOAP API RPC & están tomando bastante tiempo para devolver los datos incluso con los datos de ejemplo que viene con la descarga de Magento. Incluso después de haber habilitado todo el almacenamiento en caché disponible en el panel de administración de Magento notamos que Magento está enviando cada consulta a la base de datos MySQL y esas consultas tienden a desacelerar todo bajo una carga pesada constante.

Entonces, me preguntaba si configuré todo bien o si me perdí algo. Repito aquí que no estamos usando la interfaz de usuario de Magento, pero tenemos nuestra propia capa de UI remota construida con Java EE, Spring MVC, etc., que se comunica con Magento utilizando su interfaz SOAP & RPC API.

¿Hay alguna otra forma de almacenamiento en caché que se habilite para estas llamadas API? ¿Y cómo evitar las llamadas a la base de datos desde Magento usando algún tipo de soporte de caché?

+0

Hola Anubhava, tengo una situación similar y me gustaría saber más sobre tus experiencias. ¿Pudo resolver el problema? – 142857

+1

@ 142857: No, no pude encontrar ninguna forma nativa de almacenamiento en caché de Magento para evitar llamadas a bases de datos mientras usaba las API SOAP de Magento. Terminamos poniendo un proxy frente a Magento para admitir este tipo de almacenamiento en caché. – anubhava

+0

He llegado a saber de otro usuario que las magento apis son lentas en comparación con el tematizado, por lo tanto, no es una forma preferida de desarrollo. ¿Notaste tanta diferencia? Además, solicitaría sus comentarios en http://stackoverflow.com/questions/12640491/using-magento-apis-for-ecommerce-website#comment17050533_12640491 – 142857

Respuesta

7

Magento utiliza la memoria caché de configuración (XML) en la API, así como en el acceso frontend normal. El costo de recuperar los datos de MySQL usando API es el mismo que usar el acceso frontend. Aún no existe una caché nativa de respuesta API, solo XML y MySQL Query Cache. Tienes que agregar un proxy o cualquier otra cosa por tu cuenta.

En mi humilde opinión, recibir datos en caché será doloroso, puede obtener datos atrasados ​​y no coincidentes. Empezaré con un buen ajuste de rendimiento de MySQL y Servidor HTTP como se describe en http://info.magento.com/rs/magentocommerce/images/Magento_PerformanceWhitepaper-EEv1-9.1.pdf.

+0

+1 por tomarse el tiempo para responder esta pregunta. Leeré el documento alineado. – anubhava

Cuestiones relacionadas