Andrzej
Łoboź
Informatyk.
Przedsiębiorca.
Temat: Virtuemart - mnóstwo zapytań, powolne działanie
Cześć,Mam problem ze stroną Joomla + Virtuemart. Objawia się bardzo powolnym działaniem (5 sekund na otworzenie strony kategorii z 'sample data' (3 produkty), kiedy zaimportowałem własne produkty na wyświetlenie strony z 30 produktami potrzebuje ok. 20s.
Problem objawia się w ilości zapytań do bazy danych - debug ze strony kategorii pokazuje ponad 900 wykonanych zapytań, w tym kilka powtarzających się. Wkleję zapytania dla jednego produktu:
#
SELECT product_id, `lis_vm_product`.*
FROM `lis_vm_product`
WHERE `product_id`=6
#
SELECT amount,is_percent
FROM lis_vm_product,lis_vm_product_discount
WHERE product_id='6'
AND (start_date<='1276554813' OR start_date=0)
AND (end_date>='1276472160' OR end_date=0)
AND product_discount_id=discount_id
#
SELECT product_parent_id
FROM lis_vm_product
WHERE product_id=6
#
SELECT amount,is_percent
FROM lis_vm_product,lis_vm_product_discount
WHERE product_id='0'
AND (start_date<='1276554813' OR start_date=0)
AND (end_date>='1276472160' OR end_date=0)
AND product_discount_id=discount_id
#
SELECT vendor_id
FROM lis_vm_product
WHERE product_id='6'
#
SELECT shopper_group_id,shopper_group_discount
FROM lis_vm_shopper_group
WHERE vendor_id='1'
AND `default`='1'
#
SELECT `product_price`, `product_price_id`, `product_currency`
FROM `lis_vm_product_price`
WHERE product_id=6
AND shopper_group_id=5
ORDER BY price_quantity_start
#
SELECT tax_rate
FROM lis_vm_product, lis_vm_tax_rate
WHERE product_tax_id=tax_rate_id
AND product_id=6
#
SELECT tax_rate
FROM lis_vm_product, lis_vm_tax_rate
WHERE product_tax_id=tax_rate_id
AND product_id=6
#
SELECT *
FROM `lis_vm_product_files`
WHERE `file_product_id`=6
AND `file_is_image`=1
AND `file_published`=1
#
SELECT product_parent_id
FROM lis_vm_product
WHERE product_id=6
#
SELECT *
FROM `lis_vm_product_files`
WHERE `file_product_id`=0
AND `file_is_image`=1
AND `file_published`=1
#
SELECT *
FROM `lis_vm_product_files`
WHERE `file_product_id`=6
AND `file_is_image`=0
AND `file_published`=1
#
SELECT product_parent_id
FROM lis_vm_product
WHERE product_id='6'
#
SELECT *
FROM `lis_vm_product_files`
WHERE `file_product_id`=0
AND `file_is_image`=0
AND `file_published`=1
#
SELECT votes, allvotes, rating
FROM lis_vm_product_votes
WHERE product_id='6'
#
SELECT `product_id`
FROM `lis_vm_product_attribute_sku`
WHERE `product_id`=6
#
SELECT `attribute`,`custom_attribute`
FROM `lis_vm_product`
WHERE `product_id`=6
Próbowałem m.in. pluginu VMSpeedBoost - niestety zredukował ilość zapytań do "tylko" 450 (z 900), natomiast strona wcale nie przyspieszyła. Różne ustawienia cache, sesji - też nie pomogło. Wyłączyłem wszystkie pluginy, moduły i komponenty, próbowałem też na całkowicie gołej instalacji Joomla (bez danych) + Virtuemart + przykładowe dane Virtuemart - ale też jest beznadziejnie.
Problem wygląda na podobny do opisanego na https://forum.virtuemart.net/index.php?topic=69341.0 , ale rozwiązanie tam przedstawione nie pomaga. Będę wdzięczny za każdą pomoc.Andrzej Łoboź edytował(a) ten post dnia 15.06.10 o godzinie 00:43