yadrinez
Осваиваюсь на форуме
 
Репутация: +9/-0
Offline
Сообщений: 116
|
 |
« : 26.11.2009, 21:38:07 » |
|
Предлагаю помещать в эту тему простые хаки для улучшения производительности VirtueMart. Сам я недавно ковыряюсь в нем. Сегодня например сделал следующее: В файле ps_product.php есть функция function get_flypage($product_id), которая возвращает шаблон товара. Внутри функции есть запрос от которого я предполагаю можно избавиться, если шаблон для отображения товара используем один. Первоначальная функция function get_flypage($product_id) {
if( empty( $_SESSION['product_sess'][$product_id]['flypage'] )) { $db = new ps_DB; $productParentId = (int)$product_id; do { $q = "SELECT `#__{vm}_product`.`product_parent_id` AS product_parent_id, `#__{vm}_category`.`category_flypage` FROM `#__{vm}_product`
LEFT JOIN `#__{vm}_product_category_xref` ON `#__{vm}_product_category_xref`.`product_id` = `#__{vm}_product`.`product_id` LEFT JOIN `#__{vm}_category` ON `#__{vm}_product_category_xref`.`category_id` = `#__{vm}_category`.`category_id`
WHERE `#__{vm}_product`.`product_id`='$productParentId' "; $productParentId = $db->f("product_parent_id"); $db->query($q); $db->next_record(); } while( $db->f("product_parent_id") && !$db->f("category_flypage"));
if ($db->f("category_flypage")) { $_SESSION['product_sess'][$product_id]['flypage'] = $db->f("category_flypage"); } else { $_SESSION['product_sess'][$product_id]['flypage'] = FLYPAGE; } } return $_SESSION['product_sess'][$product_id]['flypage']; } Функция после переделки function get_flypage($product_id) { $_SESSION['product_sess'][$product_id]['flypage'] = "mypage.tpl"; return $_SESSION['product_sess'][$product_id]['flypage']; } Я принудительно задаю шаблон для отображения страницы "mypage.tpl"Так как на сайте всегда использую только его
|
|
|
|
|
Записан
|
|
|
|
| |
|
Serafimk
Гость
|
 |
« Ответ #151 : 04.04.2011, 21:28:38 » |
|
здравствуйте, планирую заняться убыстрением своего сайта. подскажите, как сделать чтобы информация о количестве запросов выводилась? Так и не нашел как это правильно сделать. Использую Jommla 1.5.2.0 и VirtueMart 1.1.6. В Joomla включил режим отладки.
|
|
|
|
|
Записан
|
|
|
|
A.Nitro
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 14
|
 |
« Ответ #152 : 06.04.2011, 15:31:02 » |
|
А как ты ето все определил мне интересно очень)))) Шаблон тяжелый походу вот и тормозит... js меню + нестандартная увеличивалка картинок.
Определил пейдж спидом! Я не знаю мождно выкладывать ссылки на свои сайт или нет но расскажу что я делал со своим магазом Шаблон полностью очищен он лишних неиспользуемых блоков меню выводиться скриптом и 2 запроса использую ссs объедены и сжаты и еще в них удалено многое дальше былы удалены многие запросы как предлагаться выше но не все так как я например использую товары со скидками
|
|
|
|
|
Записан
|
|
|
|
Andrew1110
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 164
|
 |
« Ответ #153 : 07.04.2011, 16:11:55 » |
|
Информация о профиле Application afterLoad: 0.002 seconds, 0.53 MB Application afterInitialise: 0.124 seconds, 6.06 MB Application afterRoute: 0.124 seconds, 6.06 MB Application afterDispatch: 0.490 seconds, 8.38 MB Application afterRender: 0.567 seconds, 9.34 MB Использование памяти 9843032 18 зарегистрированных запросов
Это при включении режим отладки -отладка системы- да... Я так понимаю это для центральной страницы с категориями. А как получить эту же информацию при загрузке товаров категории? .... и... Это нормальные характеристики? или над ними тоже надо работать?
|
|
|
|
« Последнее редактирование: 07.04.2011, 16:22:27 от Andrew1110 »
|
Записан
|
|
|
|
Servelatin
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 23
|
 |
« Ответ #154 : 03.06.2011, 20:12:59 » |
|
как рыба об лёд... Joomla 1.5.22 + VM 1.1.8 stable + query cache 1.5 rev374 night Всё оптимизировано по всем советам и не советам. В базе примерно 50 категорий+500 подкатегорий+7000 конечных категорий (и это я ещё товар не залил..) Результат: загрузка главной 30 сек. ИНФОРМАЦИЯ О ПРОФИЛЕ Application afterLoad: 0.000 seconds, 0.38 MB Application afterInitialise: 0.046 seconds, 4.32 MB Application afterRoute: 0.052 seconds, 5.02 MB Application afterDispatch: 0.087 seconds, 8.60 MB Application afterRender: 7.256 seconds, 36.57 MB ИСПОЛЬЗОВАНИЕ ПАМЯТИ 38461616 ЗАРЕГИСТРИРОВАНО ЗАПРОСОВ: 10
Вопрос: Откуда набегают эти 30 секунд и 37мб загрузки ?
|
|
|
|
|
Записан
|
|
|
|
|
flyingspook
|
 |
« Ответ #155 : 03.06.2011, 20:18:11 » |
|
Вопрос: Откуда набегают эти 30 секунд и 37мб загрузки ? смотреть надо в слепую мало что можно сказать что грузится, что подцеплено
|
|
|
|
|
Записан
|
|
|
|
Servelatin
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 23
|
 |
« Ответ #156 : 03.06.2011, 20:24:44 » |
|
Да ничего не подцеплено (на мой взгляд) из модулей: mod_mainmenu mod_banners mod_syndicate mod_simpleform2 mod_virtuemart mod_virtuemart_search mod_virtuemart_featureprod mod_news_pro_gk4 mod_latestnews
...меню DTree..
вот листинг загрузки главной:
ЗАРЕГИСТРИРОВАНО ЗАПРОСОВ: 10
SELECT * FROM jos_session WHERE session_id = '3dfa6134addc8af0ff153c2355272fac' DELETE FROM jos_session WHERE ( time < '1307115011' ) SELECT * FROM jos_session WHERE session_id = '3dfa6134addc8af0ff153c2355272fac' UPDATE jos_session SET `time`='1307117711',`userid`='62',`usertype`='Super Administrator',`username`='admin',`gid`='25',`guest`='0',`client_id`='0',`data`='__default|a:9:{s:15:\"session.counter\";i:45;s:19:\"session.timer.start\";i:1307108481;s:18:\"session.timer.last\";i:1307117450;s:17:\"session.timer.now\";i:1307117661;s:24:\"session.client.forwarded\";s:14:\"79.165.177.152\";s:22:\"session.client.browser\";s:100:\"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.71 Safari/534.24\";s:8:\"registry\";O:9:\"JRegistry\":3:{s:17:\"_defaultNameSpace\";s:7:\"session\";s:9:\"_registry\";a:1:{s:7:\"session\";a:1:{s:4:\"data\";O:8:\"stdClass\":0:{}}}s:7:\"_errors\";a:0:{}}s:4:\"user\";O:5:\"JUser\":19:{s:2:\"id\";s:2:\"62\";s:4:\"name\";s:13:\"Administrator\";s:8:\"username\";s:5:\"admin\";s:5:\"email\";s:20:\"admin@buzapchasti.ru\";s:8:\"password\";s:65:\"6f475d31762f94155539c567c51771a2:UYsA3LqCRqDzuq4OhvAH0hzXjaTNBGah\";s:14:\"password_clear\";s:0:\"\";s:8:\"usertype\";s:19:\"Super Administrator\";s:5:\"block\";s:1:\"0\";s:9:\"sendEmail\";s:1:\"1\";s:3:\"gid\";s:2:\"25\";s:12:\"registerDate\";s:19:\"2011-05-24 05:31:23\";s:13:\"lastvisitDate\";s:19:\"2011-06-03 15:49:43\";s:10:\"activation\";s:0:\"\";s:6:\"params\";s:0:\"\";s:3:\"aid\";i:2;s:5:\"guest\";i:0;s:7:\"_params\";O:10:\"JParameter\":7:{s:4:\"_raw\";s:0:\"\";s:4:\"_xml\";N;s:9:\"_elements\";a:0:{}s:12:\"_elementPath\";a:1:{i:0;s:81:\"/home/iamsexru/public_html/buzapchasti.ru/libraries/joomla/html/parameter/element\";}s:17:\"_defaultNameSpace\";s:8:\"_default\";s:9:\"_registry\";a:1:{s:8:\"_default\";a:1:{s:4:\"data\";O:8:\"stdClass\":0:{}}}s:7:\"_errors\";a:0:{}}s:9:\"_errorMsg\";N;s:7:\"_errors\";a:0:{}}s:13:\"session.token\";s:32:\"8b3e4dcaf60c21a513b2ecd84caa7613\";}auth|a:13:{s:11:\"show_prices\";i:1;s:7:\"user_id\";s:2:\"62\";s:8:\"username\";s:5:\"admin\";s:5:\"perms\";s:5:\"admin\";s:10:\"first_name\";N;s:9:\"last_name\";N;s:7:\"country\";s:2:\"US\";s:3:\"zip\";s:0:\"\";s:16:\"shopper_group_id\";s:1:\"5\";s:22:\"shopper_group_discount\";s:4:\"0.00\";s:24:\"show_price_including_tax\";s:1:\"1\";s:21:\"default_shopper_group\";s:1:\"1\";s:22:\"is_registered_customer\";b:1;}cart|a:1:{s:3:\"idx\";i:0;}recent|a:1:{s:3:\"idx\";i:0;}ps_vendor_id|s:1:\"1\";minimum_pov|N;vendor_currency|s:3:\"RUB\";vmMiniCart|b:0;userstate|a:1:{s:10:\"product_id\";i:0;}last_page|s:11:\"shop.browse\";last_browse_parameters|a:7:{s:11:\"category_id\";s:2:\"24\";s:15:\"manufacturer_id\";i:0;s:7:\"keyword\";b:0;s:8:\"keyword1\";s:0:\"\";s:8:\"keyword2\";s:0:\"\";s:8:\"featured\";s:1:\"N\";s:10:\"discounted\";s:1:\"N\";}' WHERE session_id='3dfa6134addc8af0ff153c2355272fac' SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.images, a.attribs, a.urls, a.metakey, a.metadesc, a.access, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(':', a.id, a.alias) ELSE a.id END AS slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END AS catslug, CHAR_LENGTH( a.`fulltext` ) AS readmore, u.name AS author, u.usertype, g.name AS groups, u.email AS author_email, cc.title AS category, s.title AS section, s.ordering AS s_ordering, cc.ordering AS cc_ordering, a.ordering AS a_ordering, f.ordering AS f_ordering FROM jos_content AS a INNER JOIN jos_content_frontpage AS f ON f.content_id = a.id LEFT JOIN jos_categories AS cc ON cc.id = a.catid LEFT JOIN jos_sections AS s ON s.id = a.sectionid LEFT JOIN jos_users AS u ON u.id = a.created_by LEFT JOIN jos_groups AS g ON a.access = g.id WHERE 1 AND a.access <= 2 AND a.state >= 0 ORDER BY f.ordering SELECT *, RAND() AS ordering FROM jos_banner WHERE showBanner = 1 AND (imptotal = 0 OR impmade < imptotal) AND cid = 1 AND catid = 1 ORDER BY sticky DESC, ordering LIMIT 0, 1 UPDATE jos_banner SET impmade = impmade + 1 WHERE bid = 1 SELECT `cart_content` FROM `jos_vm_cart` WHERE `user_id`=62 SELECT DISTINCT product_sku FROM jos_vm_product WHERE (jos_vm_product.product_parent_id='' OR jos_vm_product.product_parent_id='0') AND vendor_id='1' AND jos_vm_product.product_publish='Y' AND jos_vm_product.product_special='Y' ORDER BY RAND() LIMIT 0, 3 SELECT published FROM jos_modules WHERE module='mod_virtuemart_cart'
Подкиньте мыслей
|
|
|
|
|
Записан
|
|
|
|
|
flyingspook
|
 |
« Ответ #157 : 03.06.2011, 20:32:04 » |
|
Подкиньте мыслей
смотреть шаблон картинки скрипты стили и все это оптимизировать
|
|
|
|
|
Записан
|
|
|
|
Vadim_Bone
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 41
|
 |
« Ответ #158 : 03.09.2011, 15:27:13 » |
|
Это какой-то ужас, на магазине около 3-х тыс товаров, но
Информация о профиле Application afterLoad: 0.005 seconds, 0.39 MB Application afterInitialise: 0.411 seconds, 4.14 MB Application afterRoute: 2.904 seconds, 7.33 MB Application afterDispatch: 8.967 seconds, 19.16 MB Application afterRender: 19.196 seconds, 28.09 MB Зарегистрировано запросов: 1708
сделал абсолютно все, что написано на форуме и получил такие космические цифры... даже не знаю что делать...народ, подскажите...
|
|
|
|
|
Записан
|
|
|
|
Arkadiy
Группа развития
   
Репутация: +244/-5
Offline
Сообщений: 4895
Былененький он зел.
|
 |
« Ответ #159 : 03.09.2011, 16:46:30 » |
|
Включать отладку и смотреть откуда берутся запросы. По мегабайтам вкладка "сеть" FireBug даст представление.
|
|
|
|
|
Записан
|
|
|
|
vov41k
Захожу иногда

Репутация: +0/-1
Offline
Пол: 
Сообщений: 15
|
 |
« Ответ #160 : 09.09.2011, 15:01:01 » |
|
www.astykzhan.kz Общее количество товаров 25000 ед., время генерации в категории удалось уменьшить до 0,3 сек, при общем кол-ве запросов 26.
КАК? 0_0 У меня на главной 40, просомотр товара 40. просмотр категории 150. есть ли нормальных кэш для VirtueMart? кроме qcache?
|
|
|
|
« Последнее редактирование: 09.09.2011, 16:37:08 от vov41k »
|
Записан
|
|
|
|
vov41k
Захожу иногда

Репутация: +0/-1
Offline
Пол: 
Сообщений: 15
|
 |
« Ответ #161 : 14.09.2011, 01:18:54 » |
|
В магазине 8000 товаров. около 70 категорий. При выводе 20 товаров в категории генерируется 350-420 запросов. При просмотре товара генерируется около 60 запросов. Методом научного втыка были проведены следующие изменения. ps_perm.phpЗапрос строка 35 $db->query('SELECT group_id,group_name,group_level FROM `#__{vm}_auth_group` ORDER BY group_level'); ps_product.phpстрока 654-656 $q = "SELECT `product_type_id` FROM `#__{vm}_product_product_type_xref` WHERE "; $q .= "`product_id`=$product_id"; $db->query($q); строка 823 $db->query( "SELECT file_id FROM #__{vm}_product_files WHERE file_product_id='$product_id'" ); строка 1033-1035 $q = "SELECT COUNT(product_id) as num_rows FROM #__{vm}_product WHERE product_parent_id='$pid' "; $db->query($q); $db->next_record(); строка 1148-1153 $q = "SELECT #__{vm}_vendor.vendor_name FROM #__{vm}_product, #__{vm}_vendor "; $q .= "WHERE #__{vm}_product.product_id='$product_id' "; $q .= "AND #__{vm}_vendor.vendor_id=#__{vm}_product.vendor_id";
$db->query($q); $db->next_record(); строка 1217-1221 $q = "SELECT manufacturer_id FROM #__{vm}_product_mf_xref "; $q .= "WHERE product_id='$product_id' ";
$db->query($q); $db->next_record(); строка 1239-1244 $q = "SELECT mf_name,#__{vm}_manufacturer.manufacturer_id FROM #__{vm}_product_mf_xref,#__{vm}_manufacturer "; $q .= "WHERE product_id='$product_id' "; $q .= "AND #__{vm}_manufacturer.manufacturer_id=#__{vm}_product_mf_xref.manufacturer_id";
$db->query($q); $db->next_record(); строка 1577-1579 $q = 'SELECT tax_rate FROM #__{vm}_product, #__{vm}_tax_rate '; $q .= 'WHERE product_tax_id=tax_rate_id AND product_id='.(int)$product_id; $db->query($q); строка 2324-2327 $q = "SELECT amount,is_percent FROM #__{vm}_product,#__{vm}_product_discount "; $q .= "WHERE product_id='$product_id' AND (start_date<='$starttime' OR start_date=0) AND (end_date>='$endofday' OR end_date=0) "; $q .= "AND product_discount_id=discount_id"; $db->query( $q ); строка 2339-2340 $q = "SELECT product_parent_id FROM #__{vm}_product WHERE product_id=$product_id"; $db->query($q); строка 2342-2345 $q = "SELECT amount,is_percent FROM #__{vm}_product,#__{vm}_product_discount "; $q .= "WHERE product_id='".$db->f("product_parent_id")."' AND (start_date<='$starttime' OR start_date=0) AND (end_date>='$endofday' OR end_date=0) "; $q .= "AND product_discount_id=discount_id"; db->query( $q ); строка 2645 $q .= "(#__{vm}_product.product_parent_id='' OR #__{vm}_product.product_parent_id='0') \n"; строка 2763-2772 $q = "SELECT product_name, category_name, c.category_flypage,product_s_desc,product_thumb_image "; $q .= "FROM #__{vm}_product as p,#__{vm}_category as c,#__{vm}_product_category_xref as cx "; $q .= "WHERE p.product_id = '$prod_id' "; $q .= "AND c.category_id = '$category_id' "; $q .= "AND p.product_id = cx.product_id "; $q .= "AND c.category_id=cx.category_id "; $q .= "AND p.product_publish='Y' "; $q .= "AND c.category_publish='Y' "; $q .= "LIMIT 0,1"; $db->query( $q );
файл ps_product_attribute.phpстрока 263-264 $q = "SELECT product_id,product_name FROM #__{vm}_product WHERE product_parent_id='$product_id' AND product_publish='Y'" ; $db->query($q.$q1); строка 720-722 $q = "SELECT product_id, attribute, product_parent_id FROM #__{vm}_product WHERE product_id='$product_id'"; $db->query($q); $db->next_record(); строка 725-727 $q = "SELECT product_id, attribute FROM #__{vm}_product WHERE product_id='$parent_id'"; $db->query($q); $db->next_record(); строка 809-811 $q = "SELECT product_id, custom_attribute, product_parent_id FROM #__{vm}_product WHERE product_id='$product_id'"; $db->query($q); $db->next_record(); строка 814-816 $q = "SELECT product_id, custom_attribute FROM #__{vm}_product WHERE product_id='$parent_id'"; $db->query($q); $db->next_record(); файл ps_product_category.phpстрока 926-933 $q = "SELECT category_id, category_thumb_image, category_child_id,category_name FROM #__{vm}_category,#__{vm}_category_xref "; $q .= "WHERE #__{vm}_category_xref.category_parent_id='$category_id' "; $q .= "AND #__{vm}_category.category_id=#__{vm}_category_xref.category_child_id "; $q .= "AND #__{vm}_category.vendor_id='$ps_vendor_id' "; $q .= "AND #__{vm}_category.category_publish='Y' "; $q .= "ORDER BY #__{vm}_category.list_order, #__{vm}_category.category_name ASC"; $db->setQuery($q); $db->query(); строка 1202-1206 $q = "SELECT category_id, category_description FROM #__{vm}_category "; $q .= "WHERE category_id='$category_id' "; $db->setQuery($q); $db->query();
$db->next_record(); строка 1274-1278 $q = "SELECT category_id, category_name,category_parent_id FROM #__{vm}_category, #__{vm}_category_xref WHERE "; $q .= "#__{vm}_category_xref.category_child_id='$category_id' "; $q .= "AND #__{vm}_category.category_id='$category_id'"; $db->setQuery($q); $db->query(); $db->next_record(); файл product.file_list.phpстрока 604-611 $sql = 'SELECT DISTINCT file_id, file_mimetype, file_title, file_name' . ' FROM `#__{vm}_product_files` WHERE '; if( $exclude_filename ) { $sql .= ' file_title != \''.$exclude_filename.'\' AND '; } $sql .= 'file_product_id = \''.$product_id.'\' AND file_published = \'1\' AND file_is_image = \'0\''; $dbf->setQuery($sql); $dbf->query(); строка 682 $db->query( "SELECT * FROM `#__{vm}_product_files` WHERE `file_product_id`=".intval($pid)." AND `file_is_image`=1 AND `file_published`=1" ); строка 684-685 $db->query("SELECT product_parent_id FROM #__{vm}_product WHERE product_id=".intval($pid) ); $db->query( "SELECT * FROM `#__{vm}_product_files` WHERE `file_product_id`=".$db->f("product_parent_id")." AND `file_is_image`=1 AND `file_published`=1" ); строка 693 $db->query( "SELECT * FROM `#__{vm}_product_files` WHERE `file_product_id`=".intval($pid)." AND `file_is_image`=0 AND `file_published`=1" ); строка 695 $db->query("SELECT product_parent_id FROM #__{vm}_product WHERE product_id='$pid'"); строка 698 $db->query( "SELECT * FROM `#__{vm}_product_files` WHERE `file_product_id`=".$db->f("product_parent_id")." AND `file_is_image`=0 AND `file_published`=1" ); файл ps_product_type.phpстрока 514-515 $q = "SELECT * FROM #__{vm}_product_product_type_xref WHERE product_id='$product_id'"; $db->query($q); файл ps_shopper_group.phpстрока 372-375 $q = "SELECT shopper_group_id,shopper_group_discount FROM #__{vm}_shopper_group WHERE "; $q .= "vendor_id='$vendor_id' AND `default`='1'"; $db->query( $q ); $db->next_record(); файл ps_vendor.phpзаменить строка 441-444 $q = "SELECT vendor_id, vendor_min_pov,vendor_name,vendor_store_name,contact_email,vendor_full_image, vendor_freeshipping, vendor_address_1,vendor_address_2, vendor_url, vendor_city, vendor_state, vendor_country, country_2_code, country_3_code, vendor_zip, vendor_phone, vendor_store_desc, vendor_currency, vendor_currency_display_style, vendor_accepted_currencies, vendor_address_format, vendor_date_format, state_name на $q = "SELECT vendor_id, vendor_currency, vendor_currency_display_style файл shop.product_details.phpстрока 83-86 $q = "SELECT product_sku, related_products FROM #__{vm}_product,#__{vm}_product_relations "; $q .= "WHERE #__{vm}_product_relations.product_id='$product_id' AND product_publish='Y' "; $q .= "AND FIND_IN_SET(#__{vm}_product.product_id, REPLACE(related_products, '|', ',' )) LIMIT 0, 4"; $db->query( $q ); файл shop_browse_queries.phpзаменить строка 37-39 $fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`,`#__{vm}_category`.`category_id`, `#__{vm}_product`.`product_id`,`product_full_image`,`product_thumb_image`,`product_s_desc`,`product_parent_id`,`product_publish`,`product_in_stock`,`product_sku`,`author`,`location`,`publisher`,`god`,`pages`,`isbn`,`format`,`savepages`,`nomer`,`tip`,`product_url`, `product_weight`,`product_weight_uom`,`product_length`,`product_width`,`product_height`,`product_lwh_uom`,`product_in_stock`,`product_available_date`,`product_availability`,`#__{vm}_product`.`mdate`, `#__{vm}_product`.`cdate`"; на $fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`, `#__{vm}_product`.`product_id`,`product_s_desc`,`product_sku`,`author`,`location`,`publisher`,`god`,`pages`,`isbn`,`format`,`savepages`,`nomer`,`tip` "; В результате: Категории - сократились с 350-420 до 120 Просмотр товара - с 60 до 30 Все удаленные запросы лично мне не были нужны, возможно кому-то пригодится. http://www.onlinedisk.ru/file/363934/После этого, в категории при переходе на следующую страницу, месяется шаблон сайта на стандартный и: SQL/DB Error -- [User 'ПОЛЬЗОВАТЕЛЬ_БД' has exceeded the 'max_questions' resource (current value: 100)]
SQL/DB Error -- [User 'ПОЛЬЗОВАТЕЛЬ_БД' has exceeded the 'max_questions' resource (current value: 100)] Ошибка при загрузке модулей:User 'ПОЛЬЗОВАТЕЛЬ_БД' has exceeded the 'max_questions' resource (current value: 100) SQL=SELECT id, title, module, position, content, showtitle, control, params FROM jos_modules AS m LEFT JOIN jos_modules_menu AS mm ON mm.moduleid = m.id WHERE m.published = 1 AND m.access <= 2 AND m.client_id = 0 AND ( mm.menuid = 186 OR mm.menuid = 0 ) ORDER BY position, ordering Ошибка при загрузке модулей:User 'ПОЛЬЗОВАТЕЛЬ_БД' has exceeded the 'max_questions' resource (current value: 100) SQL=SELECT id, title, module, position, content, showtitle, control, params FROM jos_modules AS m LEFT JOIN jos_modules_menu AS mm ON mm.moduleid = m.id WHERE m.published = 1 AND m.access <= 2 AND m.client_id = 0 AND ( mm.menuid = 186 OR mm.menuid = 0 ) ORDER BY position, ordering Ошибка при загрузке модулей:User 'ПОЛЬЗОВАТЕЛЬ_БД' has exceeded the 'max_questions' resource (current value: 100) SQL=SELECT id, title, module, position, content, showtitle, control, params FROM jos_modules AS m LEFT JOIN jos_modules_menu AS mm ON mm.moduleid = m.id WHERE m.published = 1 AND m.access <= 2 AND m.client_id = 0 AND ( mm.menuid = 186 OR mm.menuid = 0 ) ORDER BY position, ordering Ошибка при загрузке модулей:User 'ПОЛЬЗОВАТЕЛЬ_БД' has exceeded the 'max_questions' resource (current value: 100) SQL=SELECT id, title, module, position, content, showtitle, control, params FROM jos_modules AS m LEFT JOIN jos_modules_menu AS mm ON mm.moduleid = m.id WHERE m.published = 1 AND m.access <= 2 AND m.client_id = 0 AND ( mm.menuid = 186 OR mm.menuid = 0 ) ORDER BY position, ordering Ошибка при загрузке модулей:User 'ПОЛЬЗОВАТЕЛЬ_БД' has exceeded the 'max_questions' resource (current value: 100) SQL=SELECT id, title, module, position, content, showtitle, control, params FROM jos_modules AS m LEFT JOIN jos_modules_menu AS mm ON mm.moduleid = m.id WHERE m.published = 1 AND m.access <= 2 AND m.client_id = 0 AND ( mm.menuid = 186 OR mm.menuid = 0 ) ORDER BY position, ordering Ошибка при загрузке модулей:User 'ПОЛЬЗОВАТЕЛЬ_БД' has exceeded the 'max_questions' resource (current value: 100) SQL=SELECT id, title, module, position, content, showtitle, control, params FROM jos_modules AS m LEFT JOIN jos_modules_menu AS mm ON mm.moduleid = m.id WHERE m.published = 1 AND m.access <= 2 AND m.client_id = 0 AND ( mm.menuid = 186 OR mm.menuid = 0 ) ORDER BY position, ordering Ошибка при загрузке модулей:User 'ПОЛЬЗОВАТЕЛЬ_БД' has exceeded the 'max_questions' resource (current value: 100) SQL=SELECT id, title, module, position, content, showtitle, control, params FROM jos_modules AS m LEFT JOIN jos_modules_menu AS mm ON mm.moduleid = m.id WHERE m.published = 1 AND m.access <= 2 AND m.client_id = 0 AND ( mm.menuid = 186 OR mm.menuid = 0 ) ORDER BY position, ordering Ошибка при загрузке модулей:User 'ПОЛЬЗОВАТЕЛЬ_БД' has exceeded the 'max_questions' resource (current value: 100) SQL=SELECT id, title, module, position, content, showtitle, control, params FROM jos_modules AS m LEFT JOIN jos_modules_menu AS mm ON mm.moduleid = m.id WHERE m.published = 1 AND m.access <= 2 AND m.client_id = 0 AND ( mm.menuid = 186 OR mm.menuid = 0 ) ORDER BY position, ordering
|
|
|
|
|
Записан
|
|
|
|
|
skyscraper
|
 |
« Ответ #162 : 15.09.2011, 19:01:50 » |
|
vov41k в shop_browse_queries.php лишку убрал, внимательнее читай свои нужные поля =) пс: не помню писали хак про картинки, но он очень актуален, при входе в категорию картинки обрабатывает image tag и у многих они появляются по очереди, поэтому надо в admin/com_virtuemart/html/shop.browse найти и заменить следующие поля с product_thumb_image if( $db_browse->f("product_thumb_image") ) { $product_thumb_image = $db_browse->f("product_thumb_image"); } if( $product_thumb_image ) { if( substr( $product_thumb_image, 0, 4)!= "http" ) { if(PSHOP_IMG_RESIZE_ENABLE == '1') { $product_thumb_image = $mosConfig_live_site."/components/com_virtuemart/shop_image/product/".$product_thumb_image; } elseif( !file_exists( IMAGEPATH."product/".$product_thumb_image )) { $product_thumb_image = VM_THEMEURL.'images/'.NO_IMAGE; } } } else { $product_thumb_image = VM_THEMEURL.'images/'.NO_IMAGE; }
// Get the full image path, or URL if set, or the no_image if( $db_browse->f("product_full_image") ) { $product_full_image = $db_browse->f("product_full_image"); } elseif( $product_parent_id != 0 ) { $product_full_image = $dbp->f("product_full_image"); // Use product_full_image from Parent Product } else { $product_full_image = VM_THEMEURL . 'images/' . NO_IMAGE;
// Get the size information for the no_image if( file_exists( VM_THEMEPATH . 'images/' . NO_IMAGE ) ) { $full_image_info = getimagesize( VM_THEMEPATH . 'images/' . NO_IMAGE ); $full_image_width = $full_image_info[0]+40; $full_image_height = $full_image_info[1]+40; } }
// Get image size information and add the full URL if( substr( $product_full_image, 0, 4)!= 'http' ) { // This is a local image if( file_exists( IMAGEPATH . 'product/' . $product_full_image ) ) { $full_image_info = getimagesize( IMAGEPATH . 'product/' . $product_full_image ); $full_image_width = $full_image_info[0]+40; $full_image_height = $full_image_info[1]+40; } $product_full_image = IMAGEURL . 'product/' . $product_full_image; } elseif( !isset( $full_image_width ) || !isset( $full_image_height ) ) { // This is a URL image $full_image_info = getimagesize( $product_full_image ); $full_image_width = $full_image_info[0]+40; $full_image_height = $full_image_info[1]+40; }
|
|
|
|
|
Записан
|
|
|
|
askhab
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 43
|
 |
« Ответ #163 : 11.10.2011, 15:26:39 » |
|
Использовал хак hawordа не помогло. Вот что происходит:
Информация о профиле Application afterLoad: 0.000 seconds, 0.25 MB Application afterInitialise: 0.058 seconds, 2.38 MB Application afterRoute: 0.082 seconds, 3.60 MB Application afterDispatch: 0.119 seconds, 5.26 MB Application afterRender: 5.960 seconds, 13.53 MB Использование памяти 14262040 Зарегистрировано запросов: 2101
У меня около 8 тыс товаров. Категории вложены до 5 подкатегорий.
все запросы генерит mod_product_categories, если его отключить вот что происходит:
Информация о профиле Application afterLoad: 0.000 seconds, 0.25 MB Application afterInitialise: 0.025 seconds, 2.38 MB Application afterRoute: 0.048 seconds, 3.60 MB Application afterDispatch: 0.084 seconds, 5.26 MB Application afterRender: 0.786 seconds, 8.47 MB Использование памяти 8948864 Зарегистрировано запросов: 175
Прям райское наслаждение)). Нр убрать никак не могу, так как не представляю как клиент будет искать например процессор, если вложенность такая Компьютерная техника - Комплектующие ПК - Процессоры - Процессоры :: Процессоры Intel - Процессоры Intel Core i7/i5/i3/Pentium Socket 1155
что можно сделать, посоветуйте, пожалуйста.
|
|
|
|
|
Записан
|
|
|
|
Arkadiy
Группа развития
   
Репутация: +244/-5
Offline
Сообщений: 4895
Былененький он зел.
|
 |
« Ответ #164 : 11.10.2011, 19:16:51 » |
|
Использовать другой модуль категорий, тут есть неплохие, например danik.html делал такой.
|
|
|
|
|
Записан
|
|
|
|
zlodey87
Новичок
Репутация: +0/-0
Offline
Сообщений: 2
|
 |
« Ответ #165 : 04.11.2011, 08:28:36 » |
|
не легче самому написать запрос и выдернуть опубликованные категории и подкатегории, потом у каждой категории задать свою ссылку
|
|
|
|
|
Записан
|
|
|
|
DiffuSer
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 38
|
 |
« Ответ #166 : 08.11.2011, 12:19:33 » |
|
Подскажите, а хак haword'а подходит для 1.1.9? И не режет ли он какой-либо функционал?
|
|
|
|
|
Записан
|
|
|
|
Eduard
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 45
|
 |
« Ответ #167 : 11.11.2011, 10:59:08 » |
|
Вот, что было сделано мной для оптимизации. Для начала сел и проанализировал, что используется, а что - нет и не будет. И отсюда начал плясать. Версия вирта 1.9 В магазине около 250 категорий. Сейчас товаров около 3 тыс, планируется до 7-8 тыс. Вот такие допущения были мной приняты: 1. Дочерние товары не используются 2. Свойства и типы товаров не используются 3. Не используются похожие товары 4. Не используется расчет налогов 5. Не используются производители 6. Файлы и дополнительные картинки на странице категории не выводятся 7. Рейтинг товаров нам не нужен на страницах категории (всё равно им никто не пользуется) Для начала убираем нафиг вывод картинок в тегах: echo ps_product::image_tag в файле browse_x. Это уже дает результат, а затем начинаем копать файл shop.browse.php Комментим строки 161-169: $db->query( "SELECT manufacturer_id, mf_name, mf_desc FROM #__{vm}_manufacturer WHERE manufacturer_id='$manufacturer_id'"); $db->next_record(); $mainframe->setPageTitle( $db->f("mf_name") );
$browsepage_lbl = shopMakeHtmlSafe( $db->f("mf_name") ); $tpl->set( 'browsepage_lbl', $browsepage_lbl ); $browsepage_lbltext = $db->f("mf_desc"); $tpl->set( 'browsepage_lbltext', $browsepage_lbltext ); $browsepage_header = $tpl->fetch( 'browse/includes/browse_header_manufacturer.tpl.php' ); То же самое 412-414 $files = ps_product_files::getFilesForProduct( $db_browse->f('product_id') ); $products[$i]['files'] = $files['files']; $products[$i]['images'] = $files['images']; Комментим строку 433 $product_rating = ps_reviews::allvotes( $db_browse->f("product_id") ); И нужно закомментировать ненужные переменные со строк 457-485. Комментим строки 510-511 $recent_products = $ps_product->recentProducts(null,$tpl->get_cfg('showRecent', 5)); $tpl->set('recent_products',$recent_products); Ещё есть смысл поиграть с выводом и расчетом прайса, но туда я пока не добрался До проведения оптимизации число запросов было: 652 (при выводе 20 товаров на страницу). После проведения: 104 До оптимизации: 25Mb оперативки После: 19Mb Взято тут.
|
|
|
|
|
Записан
|
|
|
|
Amid1210
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 36
|
 |
« Ответ #168 : 10.03.2012, 20:48:59 » |
|
Это какой-то ужас, на магазине около 3-х тыс товаров, но
Информация о профиле Application afterLoad: 0.005 seconds, 0.39 MB Application afterInitialise: 0.411 seconds, 4.14 MB Application afterRoute: 2.904 seconds, 7.33 MB Application afterDispatch: 8.967 seconds, 19.16 MB Application afterRender: 19.196 seconds, 28.09 MB Зарегистрировано запросов: 1708
Где это можно проверить, подскажите? это сайт или прога?
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #169 : 10.03.2012, 21:07:40 » |
|
Amid1210, включите режим отладки (debug) в настройках Joomla. Отладочная инфа появится на сайте внизу страницы.
|
|
|
|
|
Записан
|
|
|
|
openx
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 16
|
 |
« Ответ #170 : 24.03.2012, 11:17:12 » |
|
1.1.19 все перепробывал дабы поднять скорость вывода страниц - все впустую. И тут - в админке включив gzip сжатие - даже визуально заметил ускорение раз в 20 минимум, все стало открываться влёт!
Главная страница
Информация о профиле Application afterLoad: 0.002 seconds, 0.11 MB Application afterInitialise: 0.036 seconds, 0.62 MB Application afterRoute: 0.040 seconds, 0.82 MB Application afterDispatch: 0.078 seconds, 1.30 MB Application afterRender: 0.223 seconds, 2.58 MB Использование памяти 2763532 Зарегистрировано запросов: 354
ну и все остальные +/- в том же районе
|
|
|
|
|
Записан
|
|
|
|
Plavic
Новичок
Репутация: +0/-0
Offline
Сообщений: 1
|
 |
« Ответ #171 : 24.03.2012, 16:10:23 » |
|
Здравствуйте. Проделывал данные модификации - сайт ускорился.
Но тут хостер вчера прислал сообщение:
В вашем аккаунте зафиксировано превышение квоты на загрузку сервера баз данных. База данных, превышающая квоту: gb_kupic1
Параметры запроса, вызывающего проблему: (приводятся параметры одного из запросов)
Время исполнения, секунд - 17 Кол-во просмотренных строк - 6206 Запрос: ------- use gb_kupic1; SET timestamp=1332493313; select * from ( SELECT DISTINCT `product_name`, `product_desc`, `default`, `shopper_group_id`, `products_per_row`,`category_browsepage`,`category_flypage`, `jos_vm_category`.`category_id`, `jos_vm_product`.`product_id`,`product_full_image`,`product_thumb_image`, `product_s_desc`,`product_parent_id`,`product_publish`,`product_in_stock`, `product_sku`, `product_url`, `product_weight`,`product_weight_uom`,`product_length`,`product_width`, `product_height`,`product_lwh_uom`, `product_available_date`,`product_availability`, `jos_vm_product`.`mdate`, `jos_vm_product`.`cdate` FROM (`jos_vm_product`, `jos_vm_category`, `jos_vm_product_category_xref`,`jos_vm_shopper_group`) WHERE (`jos_vm_product_category_xref`.`product_id`=`jos_vm_product`.`product_id` OR `jos_vm_product_category_xref`.`product_id`=`jos_vm_product`.`product_parent_id`) AND `jos_vm_product_category_xref`.`category_id`=`jos_vm_category`.`category_id` AND `jos_vm_product_category_xref`.`category_id`=31 AND `product_publish`='Y' AND `category_publish`='Y' ) as jos_vm_product LEFT JOIN `jos_vm_product_price` ON (`jos_vm_product`.`product_id` = `jos_vm_product_price`.`product_id`) WHERE ((`jos_vm_product`.`product_id`=`jos_vm_product_price`.`product_id` AND `jos_vm_product`.`shopper_group_id`=`jos_vm_product_price`.`shopper_group_id`) OR `jos_vm_product_price`.`product_id` IS NULL) AND `jos_vm_product`.`default` = 1 AND `product_parent_id`=0 GROUP BY `jos_vm_product`.`product_sku` ORDER BY `jos_vm_product`.`product_name` ASC LIMIT 0, 20; -------
ВАЖНО: ключевой параметр - количество просмотренных строк, а не время исполнения запроса (время роли не играет).
Если вы хотите продолжать пользоваться нашими услугами, вам необходимо в короткий срок решить проблему. Ваш аккаунт или БД может быть заблокированы, так как подобная нагрузка может вызывать перегрузку сервера баз данных и отказ в обслуживании для других клиентов.
Что делать?) Помогите.
|
|
|
|
|
Записан
|
|
|
|
dreamer85
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 17
|
 |
« Ответ #172 : 29.04.2012, 17:01:23 » |
|
в общем заметил такую особенность до отключении функции отображения колличества товаров в скобках рядом с категорией колличество запросов было Информация о профиле Application afterLoad: 0.003 seconds, 0.52 MB Application afterInitialise: 0.152 seconds, 4.98 MB Application afterRoute: 0.167 seconds, 5.41 MB Application afterDispatch: 1.154 seconds, 11.88 MB Application afterRender: 4.562 seconds, 14.20 MB Использование памяти 14986756 Зарегистрировано запросов: 2595
после отключения стало
Информация о профиле Application afterLoad: 0.046 seconds, 0.52 MB Application afterInitialise: 0.957 seconds, 4.98 MB Application afterRoute: 1.052 seconds, 5.41 MB Application afterDispatch: 2.665 seconds, 11.35 MB Application afterRender: 12.132 seconds, 13.32 MB Использование памяти 14057168 Зарегистрировано запросов: 23
|
|
|
|
|
Записан
|
|
|
|
uamobile
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 20
|
 |
« Ответ #173 : 24.05.2012, 15:05:51 » |
|
гляньте пожалуйста http://uamobile.com.ua/ , отладка системы включена, формируется оч. много запросов, хаки от haword сделал, вознаграждение гарантирую )), заранее спасибо
|
|
|
|
|
Записан
|
|
|
|
Servelatin
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 23
|
 |
« Ответ #174 : 24.05.2012, 15:15:07 » |
|
гляньте пожалуйста http://uamobile.com.ua/ , отладка системы включена, формируется оч. много запросов, хаки от haword сделал, вознаграждение гарантирую )), заранее спасибо
Юзай eaccelerator в связке с memcached. Удали лишнее из шаблонов.
|
|
|
|
|
Записан
|
|
|
|
uamobile
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 20
|
 |
« Ответ #175 : 24.05.2012, 15:24:21 » |
|
в этом не очень, можно подробней
|
|
|
|
|
Записан
|
|
|
|
Servelatin
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 23
|
 |
« Ответ #176 : 24.05.2012, 16:01:44 » |
|
eaccelerator - кэширование php memcached - кэширование данных
Устанавливается на сервак. Соответственно FAQ ищешь для нужной оси. Для примера, у меня 45000 позиций в магазине, не лагает.
|
|
|
|
|
Записан
|
|
|
|
uamobile
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 20
|
 |
« Ответ #177 : 24.05.2012, 16:04:55 » |
|
eaccelerator - кэширование php memcached - кэширование данных
Устанавливается на сервак. Соответственно FAQ ищешь для нужной оси. Для примера, у меня 45000 позиций в магазине, не лагает.
так ведь сайт на хостинге, лагов нет, просто кол-во запросов большое
|
|
|
|
|
Записан
|
|
|
|
Servelatin
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 23
|
 |
« Ответ #178 : 24.05.2012, 16:11:00 » |
|
так ведь сайт на хостинге, лагов нет, просто кол-во запросов большое
1) Хостинг Ваш можно не хило ускорить, если конечно есть права доступа. 2) Я не наблюдаю чтобы твой сайт тормозил и долго выдавал страницы. 3) Быстрее быстрого не будет.
|
|
|
|
|
Записан
|
|
|
|
uamobile
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 20
|
 |
« Ответ #179 : 24.05.2012, 19:53:38 » |
|
1) Хостинг Ваш можно не хило ускорить, если конечно есть права доступа. 2) Я не наблюдаю чтобы твой сайт тормозил и долго выдавал страницы. 3) Быстрее быстрого не будет.
прав доступа на такое нету, смущает кол-во запросов большое, спасибо. буду пытаться оптимизировать еще шаблон.
|
|
|
|
|
Записан
|
|
|
|
|