Salvaor Posted October 20, 2021 Share Posted October 20, 2021 Buenas tardes, Mi servidor Raiola nos acaba de bloquear la web (sin previo aviso) por un uso excesivo de recursos por consultas SQL atascadas. Este uso de recursos se estaba produciendo por consultas SQL atascadas, las cuales se demoraban mucho en ejecutarse, como las siguientes: SELECT COUNT(DISTINCT p.id_product) c FROM (SELECT p.id_product, p.id_manufacturer, SUM(sa.quantity) as quantity, p.condition, p.weight, p.price, psales.quantity as sales FROM ps_product p LEFT JOIN ps_product_attribute pa ON (p.id_product = pa.id_product) LEFT JOIN ps_product_attribute_combination pac ON (pa.id_product_attribute = pac.id_product_attribute) LEFT JOIN ps_stock_available sa ON (p.id_product = sa.id_product AND IFNULL(pac.id_product_attribute, 0) = sa.id_product_attribute AND sa.id_shop = 1 AND sa.id_shop_group = 0 ) LEFT JOIN ps_product_sale psales ON (psales.id_product = p.id_product) INNER JOIN ps_category_product cp ON (p.id_product = cp.id_product) INNER JOIN ps_category c ON (cp.id_category = c.id_category AND c.active=1) INNER JOIN ps_product_shop ps ON (p.id_product = ps.id_product AND ps.id_shop = 1 AND ps.active = TRUE) LEFT JOIN ps_stock_available sa_1 ON (p.id_product = sa_1.id_product AND IFNULL(pac.id_product_attribute, 0) = sa_1.id_product_attribute AND sa_1.id_shop = 1 AND sa_1.id_shop_group = 0 ) WHERE ((sa.quantity<=0 AND sa_1.out_of_stock IN (0, 2))) AND p.visibility IN ('both', 'catalog') AND c.nleft>=355 AND c.nright<=356 AND ps.id_shop='1' GROUP BY p.id_product) p LEFT JOIN ps_product_attribute pa ON (p.id_product = pa.id_product) LEFT JOIN ps_product_attribute_combination pac ON (pa.id_product_attribute = pac.id_product_attribute) LEFT JOIN ps_stock_available sa ON (p.id_product = sa.id_product AND IFNULL(pac.id_product_attribute, 0) = sa.id_product_attribute AND sa.id_shop = 1 AND sa.id_shop_group = 0 ) LEFT JOIN ps_stock_available sa_1 ON (p.id_product = sa_1.id_product AND IFNULL(pac.id_product_attribute, 0) = sa_1.id_product_attribute AND sa_1.id_shop = 1 AND sa_1.id_shop_group = 0 ) WHERE ((sa.quantity<=0 AND sa_1.out_of_stock IN (0, 2))) ¿Alguna idea de qué puede ser o cómo solucionarlo? Hasta que me respondan hemos probado a desactivar el módulo de facetas que suele ser problemático, pero claro tampoco podemos estar con la web cerrada.. Link to comment Share on other sites More sharing options...
pullidea-dev Posted October 20, 2021 Share Posted October 20, 2021 (edited) Qué tal construir varias sentencias que se puedan ejecutar en menos tiempo que la original? De esa manera, puede reducir el tiempo de ejecución único de cada sql. El tiempo total de ejecución puede incrementarse, pero puede ejecutarse en el tiempo límite. Edited October 20, 2021 by raudsepp (see edit history) Link to comment Share on other sites More sharing options...
Loadinges Posted October 21, 2021 Share Posted October 21, 2021 Buenas, ¿Puedes facilitar la URL para echar un vistazo? ¿Sabes el número aproximado de atributos o combinaciones que tienes? El problema suele venir por ahí. Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 21, 2021 Share Posted October 21, 2021 Esa consulta es la de listados de productos por categorías.. como te indican es muy probable que tengas muchas combinaciones por productos. Este problema lo viene arrastrando Prestashop desde siempre y una solución era trabajar estos productos con una cantidad grande de combinaciones con un módulo de prestochangeo Attribute Wizard Pro https://www.presto-changeo.com/prestashop-17-modules/139-prestashop-attribute-wizard-pro-module.html Link to comment Share on other sites More sharing options...
gusman126 Posted October 22, 2021 Share Posted October 22, 2021 La única solución , vas a tener que ampliar el servidor o cambiar de hospedaje. Como dicen por aquí lo más seguro es que tengas una cantidad elevada de combinaciones y necesites más recursos Nunca había visto que bloquear la web por una cosa así. Debes tener unos recursos mínimos y PrestaShop pide bastantes Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now