Перейти к содержанию
Форум поддержки пользователей VamShop

Тормозит страница товара в админке после перехода на1.5


Рекомендуемые сообщения

После перехода на 1.54 все страницы админки летают, а вот при заходе на редактирование товара страница открывается по 30-40 секунд. Причем отправляется запрос и ооооочень долго едет ответ. Что оптимизировать нужно? Почему так происходит? Раньше такого не было. Про оптимизацию буферов мускула не писать ;)

Ссылка на сообщение
Поделиться на другие сайты

Так в 1.54 вообще не трогалась страница редактирования товара.

Наугад сложно сказать, что именно тормозит.

Разве что если у Вас html-редактор по умолчанию включён, т.е. загружается сразу при открытии страницу, то может редактор тормозить загрузку страницу, т.к. он довольно тяжёлый.

Ссылка на сообщение
Поделиться на другие сайты

Нет-нет, как раз редактор отключен.. У меня подозрение на генерацию списка доступных картинок, там сейчас в списке 3867 файлов и таких выпадающих списков 6 штук! Размер страницы получается 1 106,49 КБ. Тут нужно включать gzip компрессию для админки. Может, в прошлой версии она была?

Для страницы каталога нашел как включить gzip, а вот для админки - нет.

Ссылка на сообщение
Поделиться на другие сайты

Подскажите как установить магазин

Не могу понять как открыть какието права доступа  на 777 и в инструкции нет описания ! Установите права доступа 777 на ...... !!!, а как !!!

Ссылка на сообщение
Поделиться на другие сайты

Да, если картинок много, то список долго строится будет.

Нужно наверное этот список отключить, вывод списка, если не используете его.

В /admin/includes/modules/products_images.php меняйте:


echo '<br /><br />' . TEXT_PRODUCTS_IMAGE_GET_FILE . '<br />' . vam_draw_pull_down_menu('get_file_image_0',$file_list,$pInfo->products_image);

[/code] на:
[code]
// echo '<br /><br />' . TEXT_PRODUCTS_IMAGE_GET_FILE . '<br />' . vam_draw_pull_down_menu('get_file_image_0',$file_list,$pInfo->products_image);

Про права доступа ответил в соседней теме.

Ссылка на сообщение
Поделиться на другие сайты

Саша, выпадающие списки нашел в файле products_images.php, в new_product.php нет такого. Это чуть убыстрило загрузку, но на 15-20 секунд, сейчас грузится 25 секунд. Есть ли еще варианты убыстрения? Как можно включить отладку, чтобы посмотреть что именно тормозит?

Ссылка на сообщение
Поделиться на другие сайты

Да, падон, чуть ошибся, исправил сообщение.

Да вроде никакой отладки и нет.

Посмотрите, может ещё какие-то длинные списки (dropdown) есть.

Ссылка на сообщение
Поделиться на другие сайты

Можно ещё закладки выключить в Админке - Настройки - Основные - Магазин - Закладки в админке.

Ссылка на сообщение
Поделиться на другие сайты

Можно ещё закладки выключить в Админке - Настройки - Основные - Магазин - Закладки в админке.

Нет, это не помогает.

Ссылка на сообщение
Поделиться на другие сайты

Да, падон, чуть ошибся, исправил сообщение.

Да вроде никакой отладки и нет.

Посмотрите, может ещё какие-то длинные списки (dropdown) есть.

Длинных списков нет.

Отладка очень бы не помешала. Страница добавления / редактирования товара при весе 14 Кб загружается до краткого описания и потом жутко долго думает и останавливается.

Что интересно, на странице добавления группы товара все ОК, залетает моментально.

Может, что-то пояснит, в файл mysql_db_error.log массовейшим образом сыпятся такие вот ошибки:


09/10/2009 18:10:10 | 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-0, 0' at line 33 | select distinct
                                            p.products_id,
                                            p.products_fsk18,
                                            pd.products_name,
                                            pd.products_short_description,
                                            p.products_image,
                                            p.products_price,
                                            p.products_model,
                                            p.products_vpe,
                                            p.products_quantity,
                                            p.products_vpe_status,
                                            p.products_vpe_value,                                                   
                                            p.products_tax_class_id,
                                            p.products_date_added,
                                            m.manufacturers_name
                                            from products p
                                            left join manufacturers m
                                            on p.manufacturers_id = m.manufacturers_id
                                            left join products_description pd
                                            on p.products_id = pd.products_id,
                                            categories c,
                                            products_to_categories p2c
                                            WHERE pd.language_id = '1'
                                            and c.categories_status=1
                                            and p.products_id = p2c.products_id
                                            and c.categories_id = p2c.categories_id
                                            and products_status = '1'


                                            and p.products_date_added > '2009.09.09'
                                            order
                                            by
                                            p.products_date_added DESC  LIMIT -0, 0 | /products_new.php?page=6
[/code]

Ссылка на сообщение
Поделиться на другие сайты

Тогда не знаю, может просто mysql медленный, поэтому и тормозит страница, других вариантов больше нет.

Судя по запросу, что-то не так с разбивкой новинок на страницы.

В Админке - Настройки - Максимальные - Количество Новинок на странице например 20 поставить.

Ссылка на сообщение
Поделиться на другие сайты

Тогда не знаю, может просто mysql медленный, поэтому и тормозит страница, других вариантов больше нет.

Судя по запросу, что-то не так с разбивкой новинок на страницы.

В Админке - Настройки - Максимальные - Количество Новинок на странице например 20 поставить.

Саш, я в начале писал, что с mysql все ок, это и правда так :)) На хостинге 2Гига памяти, около гига идет на кеши mysql, другая оптимизация тоже есть ;) Ну как может он тормозить? ;)

Я путем сравнения с прошлой версией вычислил, что останавливает все

array_multisort ($files, SORT_ASC);

в файле /admin/includes/functions/trumbnails_add_funcs.php

С закоментированной строчкой все начало хоть загружаться до конца, но все-равно тормозит. Подчеркиваю, что на 1.38 все летало. И, кстати, редактирование категории залетает моментом.

Вот такое выдается в error log:


[Sun Oct 11 19:37:31 2009] [error] [client 1.2.3.4] PHP Fatal error:  Maximum execution time of 30 seconds exceeded in /site.com/admin/includes/functions/trumbnails_add_funcs.php on line 78, referer: http://www.site.com/admin/categories.php?cPath=0&pID=
[Sun Oct 11 19:37:31 2009] [error] [client 1.2.3.4] File does not exist: /site.com/admin/includes/javascript/tiny_mce/plugins/imagemanager, referer: http://www.site.com/admin/categories.php?cPath=0&action=new_product
[Sun Oct 11 19:37:31 2009] [error] [client 1.2.3.4] File does not exist: /site.com/admin/includes/javascript/tiny_mce/plugins/filemanager, referer: http://www.site.com/admin/categories.php?cPath=0&action=new_product
[Sun Oct 11 19:37:32 2009] [error] [client 1.2.3.4] File does not exist: /site.com/admin/includes/javascript/tiny_mce/plugins/imagemanager, referer: http://www.site.com/admin/categories.php?cPath=0&action=new_product
[Sun Oct 11 19:37:32 2009] [error] [client 1.2.3.4] File does not exist: /site.com/admin/includes/javascript/tiny_mce/plugins/filemanager, referer: http://www.site.com/admin/categories.php?cPath=0&action=new_product
[Sun Oct 11 19:37:32 2009] [error] [client 1.2.3.4] File does not exist: /site.com/admin/includes/javascript/tiny_mce/plugins/filemanager, referer: http://www.site.com/admin/categories.php?cPath=0&action=new_product[/code]

Как можно объяснить не нахождение imagemanager и filemanager?

Ссылка на сообщение
Поделиться на другие сайты

Закоментировал строчки


$dir_list = vam_array_merge(array('0' => array('id' => '', 'text' => TEXT_SELECT_DIRECTORY)),vam_get_files_in_dir(DIR_FS_CATALOG_ORIGINAL_IMAGES, '', true));

$file_list = vam_array_merge(array('0' => array('id' => '', 'text' => TEXT_SELECT_IMAGE)),vam_get_files_in_dir(DIR_FS_CATALOG_ORIGINAL_IMAGES));
[/code]

и все начало залетать за 0.0902628898621 сек.

Сравнил с тем, что было в 1.38, все то же самое. В чем же причина тормозов с картинками?

Ссылка на сообщение
Поделиться на другие сайты

У Вас картинок много, на это и уходит время, этот код как раз берёт список картинок из категории.

Если не используете опция Выбрать загруженный файл, то правильно, что закомментировали.

Ссылка на сообщение
Поделиться на другие сайты

У Вас картинок много, на это и уходит время, этот код как раз берёт список картинок из категории.

Если не используете опция Выбрать загруженный файл, то правильно, что закомментировали.

Саш, ну я это понял, что из-за картинок тормозит (кстати, почему-то список директорий тоже 15 сек делался, хотя их там 3 штуки). Вопрос в том, что при том же кол-ве картинок 1.38 не тормозил на том же хостинге. Почему так происходит я и прошу разобраться, т.к. в 1.54 стало хуже.

Также в целом работа фронтенда сайта стала заметно медленнее, раньше страницы залетали, сейчас генерятся по 2-3 секунды. Что тут можно поправить?

Ссылка на сообщение
Поделиться на другие сайты

Так если я правильно помню с 1.38 версии ничего ведь не менялось, что касается работы с картинками, всё осталось так же как и в 1.38.

Я и не скажу даже, почему тормоза.

Скрипт точно такой же, что 1.38, что 1.54, правится лишь функционал, ошибки, но не основа.

Возможно, что хостер нагружен в разное время по-разному и поэтому скорость работы сайта тоже разное.

Либо может сосед по серверу какой-то появился, который все ресурсы ест.

Ссылка на сообщение
Поделиться на другие сайты
  • 2 weeks later...

Итак, у меня дошли руки разобраться почему же сейчас тормозит фронт-энд магазина.

Есть такой файлик

templates/TEMPLATE/source/inc/vam_show_category.inc.php

В нем есть функция vam_show_category(). По сравнению с 1.38 в 1.54 какой-то добрый человек сделал так

$pInCat = vam_count_products_in_category($cid);
if ($pInCat > 0)
$Empty = false;[/code] В 1.38 было так:
[code]if (SHOW_COUNTS == 'true') {
     $products_in_category = vam_count_products_in_category($counter);
     if ($products_in_category > 0) {
       $categories_string .= '&nbsp;(' . $products_in_category . ')';
     }
   }
Простыми словами - раньше только при включенной опции считалось количество продуктов в категории, а сейчас это делается по умолчанию. При этом на моем не самом медленном и тюненном VPS'е эта процедура занимала в среднем секунд по 5-6, т.к. товаров много. Если просто закомментировать и оставить только $Empty = false;
//	$pInCat = vam_count_products_in_category($cid);
// if ($pInCat > 0)
// $Empty = false;

$Empty = false;[/code]

То скорость загрузки увеличивается в 5-6 раз (до 0,8 с).

Саша, прошу поправить эту ситуацию в новом апдейте. Для справки - кол-во товаров у меня 3,618.

Ссылка на сообщение
Поделиться на другие сайты

Еще одна странная особенность движка - кеш тормозит работу системы, а не убыстряет. При выключенном кеше достигается убыстрение на 0.2-0.5 сек.

Ссылка на сообщение
Поделиться на другие сайты

Да, еще одна особенность - сильно смущает то, что application_top.php генерится в районе 0,6-0,8 сек. Ооочень долго. Думаю, что есть пространство для оптимизации скорости.

Ссылка на сообщение
Поделиться на другие сайты

pervak

Насчёт кэша не замечал такого, видимо, т.к. кэш файловый, т.е. всё пишется в файле, видимо, скорость записи на диск маленькая у Вашего хостера, может в этом причина тормозов.

А как Вы определили, что именно этот файл и 0.6-0.8

Ссылка на сообщение
Поделиться на другие сайты

pervak

Насчёт кэша не замечал такого, видимо, т.к. кэш файловый, т.е. всё пишется в файле, видимо, скорость записи на диск маленькая у Вашего хостера, может в этом причина тормозов.

Да нет же, выделенный сервер и очень хорошо и быстро все работает.

А как Вы определили, что именно этот файл и 0.6-0.8

В index.php добавил код


function getmicrotime(){
  list($usec, $sec) = explode(" ",microtime());
  return ((float)$usec + (float)$sec);
}
$time_start = getmicrotime();
$time_finish[] = getmicrotime() - $time_start;
include ('includes/application_top.php');
$time_finish[] = getmicrotime() - $time_start;
...
...
print_r($time_finish);
[/code]

И по такому принципу отлавливаю и остальные тормозящие моменты.

Саш, очень хотелось бы, чтобы движок был отлажен на нормальном количестве товаров и категорий - хотя бы 5000 товаров в 30-50 категориях. Все узкие места в таком случае сразу вылезут.

Ссылка на сообщение
Поделиться на другие сайты

pervak

Попробую заняться этой темой до выхода следующей версии, т.е. посмотрю где какие sql запросы можно лишние убрать, где оптимизировать.

Ссылка на сообщение
Поделиться на другие сайты

+1 .

Поменял хост и соответственно с 1.49 перешел на 1.55 . Товар добавил через Excel , сегодня стал добавлять вручную , вход в товар 30-40 секунд , самое интересное , что сохранение данных с нарезкой картинки занимает пол-секунды ,  тормозит именно на входе . Техподержке хоста мозг сегодня вынес  ;D

Ссылка на сообщение
Поделиться на другие сайты

Поменял код

$pInCat = vam_count_products_in_category($cid);

if ($pInCat > 0)

$Empty = false;

на

// $pInCat = vam_count_products_in_category($cid);

// if ($pInCat > 0)

// $Empty = false;

$Empty = false;

как тормозил так и осталось вход в товар 30-40с все остальное работает быстро

Ссылка на сообщение
Поделиться на другие сайты

Этот код отвечает за отображение на сайте. В админке тормоза лечатся комментированием строк, отвечающих за отображение списков картинок

$dir_list = vam_array_merge(array('0' => array('id' => '', 'text' => TEXT_SELECT_DIRECTORY)),vam_get_files_in_dir(DIR_FS_CATALOG_ORIGINAL_IMAGES, '', true));

$file_list = vam_array_merge(array('0' => array('id' => '', 'text' => TEXT_SELECT_IMAGE)),vam_get_files_in_dir(DIR_FS_CATALOG_ORIGINAL_IMAGES));[/code]

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...