Добрый день, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Форум
 CMS Status-X | Техническая помощь
         Тормозит сайт

Похожие темы  |  Печать страницы

Тормозит сайт


События Пятница, 19.08.2011, 18:16

Rain

Группа: Пользователь
Ранг: Новичок
Cообщений: 30
Регистрация: 31.10.2009
Сообщение Администратора
Предупреждение об использовании данного изменения!
При внесении данного изменения отключается возможность использования функционала мультишопа


Понятия не имею нахрена такие запросы создавать Думаю

Поправил в файле class.Shop.php (у меня начинается с 1515 строки)
заменил:
PHP-код
        if (empty($_REQUEST['cid'])) {
            
$cat '';
            
$sql_cid Sys::ArraySet('Result_Fetch_Assoc''shop_kategorie''Id'"WHERE Sektion = '" $_SESSION['area'] . "' AND Aktiv = '1'");
            foreach (
$sql_cid as $row_cid) {
                
$cat .= "Kategorie = '" $row_cid['Id'] . "' OR ";
            }

            
$db_cid = (!empty($cat)) ? " AND ( " substr($cat0, -3) . " ) " "AND Kategorie = '0'";
        } else {
            
$area $this->_DB->Cache_Fetch_Assoc("SELECT Sektion FROM " PREFIX "_shop_kategorie WHERE Id = '" $cid "' LIMIT 1");
            if (
is_array($area) and $_SESSION['area'] != $area['Sektion']) {
                
$_SESSION['area'] = $area['Sektion'];
                
$ssl = (Sys::$config_sys['ssl'] == '1') ? 'https://' 'http://';
                
$this->_getClass('Redir')->getRedirect($ssl $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
            }
        }

на:
PHP-код
        if (!empty($_REQUEST['cid'])) {
            
$cat '';
            
$area $this->_DB->Cache_Fetch_Assoc("SELECT Sektion FROM " PREFIX "_shop_kategorie WHERE Id = '" $cid "' LIMIT 1");
            if (
is_array($area) and $_SESSION['area'] != $area['Sektion']) {
                
$_SESSION['area'] = $area['Sektion'];
                
$ssl = (Sys::$config_sys['ssl'] == '1') ? 'https://' 'http://';
                
$this->_getClass('Redir')->getRedirect($ssl $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
            }
        }

Проблема частично решена, по крайней мере тормозить сайт стал существенно меньше (раз в 20 наверное Ржу нимагу)


Потестил
Все товары выводятся корректно, каждый товар в своей категории
в каждой категории только свои товары

Может кому поможет Смешно
P.S.
Проблема была из-за огромного количества категорий (487)
А так же огромного количества товаров в них (87 тыс.)

Отредактировано Status-X: 19.08.2011, 18:56:00

Пользователь офлайн
События Пятница, 19.08.2011, 18:41

Status-X

Группа: Администратор
Cообщений: 3005
Регистрация: 23.10.2009
Город: Санкт-Петербург
Этот хак убивает возможность мультишопа, то есть теперь только одна секция c магазиномРжу нимагу


Пользователь офлайн
События Пятница, 19.08.2011, 18:46

Rain

Автор текущей темы
Группа: Пользователь
Ранг: Новичок
Cообщений: 30
Регистрация: 31.10.2009
Я знаю, но мне например этого не нужно
Приходится чем-то жертвовать
а если делать вторую секцию, с другими категориями товаров (к примеру ещё дополнительно 200-300 категорий)
и добавить туда еще 20-30 тыс. товаров, и тогда можно будет сервер сразу из розетки выдернуть и пойти пить пиво Ржу нимагу

Так что это дело выбора каждого Смешно


_____
Если этот хак не применять, тогда нужно добавить дополнительное поле в sys_shop_produkte - Sektion
и там хранить данные о секции, с таким подходом этот запрос можно упростить, он будет легче и не будет создавать назгрузку

Легче ведь сделать выбор товаров где Sektion = '" . $_SESSION['area'], чем сверять отношение категорий к той или иной секции (http://www.status-x.ru/forum-action/postcount/4961/)
Немного подправить код при добавлении товара и всё будет отлично

Это моё мнение

Отредактировано Rain: 19.08.2011, 18:53:29
Пользователь офлайн
События Пятница, 19.08.2011, 18:51

Status-X

Группа: Администратор
Cообщений: 3005
Регистрация: 23.10.2009
Город: Санкт-Петербург
Проблема возникает только из за количества категорий, изначально тупая архитектура немцем заложена, но количество товаров практически не влияет, у меня демо базе 2190000 товаров, категорий всего 100, и разницы в скорости нет. При том что это комерческий вариант сборки и там гораздо больше функционала довольно ресурсоемкого


Благодарности Rain
Пользователь офлайн
События Пятница, 19.08.2011, 18:58

Rain

Автор текущей темы
Группа: Пользователь
Ранг: Новичок
Cообщений: 30
Регистрация: 31.10.2009
Количество товаров тоже влияет :)

Запрос построен так, что он ищет товары по отношению к категории, а категории по отношению к секции

по крайней мере в методе listProducts именно так
Пользователь офлайн
События Пятница, 19.08.2011, 19:03

Status-X

Группа: Администратор
Cообщений: 3005
Регистрация: 23.10.2009
Город: Санкт-Петербург
Цитата
Автор: Rain
Количество товаров тоже влияет :)

Запрос построен так, что он ищет товары по отношению к категории, а категории по отношению к секции

по крайней мере в методе listProducts именно так


А у тебя случаем индексы в базе не похерились???
Это кстати кстати к впоросу и торможении сайта


Пользователь офлайн
События Пятница, 19.08.2011, 19:04

Rain

Автор текущей темы
Группа: Пользователь
Ранг: Новичок
Cообщений: 30
Регистрация: 31.10.2009
Нет, с индексами всё в порядке
Пользователь офлайн
События Пятница, 19.08.2011, 19:46

Status-X

Группа: Администратор
Cообщений: 3005
Регистрация: 23.10.2009
Город: Санкт-Петербург
Вариант хака выложенного выше (http://www.status-x.ru/forum-action/postcount/4963/)
Но с сохранением функций мультишопа.
Правленный класс в архиве

Отредактировано Status-X: 19.08.2011, 19:51:55
Вложения
class.shop.rar   (6 x загружено | 33,9 Кб)   



Благодарности Kurman, Rain
Пользователь офлайн
События Пятница, 19.08.2011, 19:52

Status-X

Группа: Администратор
Cообщений: 3005
Регистрация: 23.10.2009
Город: Санкт-Петербург
Если кто скачал до этого сообщения качаем еще раз, забыл нюанс поправить


Благодарности Rain
Пользователь офлайн
События Пятница, 19.08.2011, 19:56

Rain

Автор текущей темы
Группа: Пользователь
Ранг: Новичок
Cообщений: 30
Регистрация: 31.10.2009
Спровоцировал тебя на исправлении очередной проблемы в движке :)
Пользователь офлайн
События Пятница, 19.08.2011, 20:02

Status-X

Группа: Администратор
Cообщений: 3005
Регистрация: 23.10.2009
Город: Санкт-Петербург
Цитата
Автор: Rain
Спровоцировал тебя на исправлении очередной проблемы в движке :)


Я магазин боком стараюсь обходить, он очень страшен, неимоверно мноого времени на его правку уходит


Пользователь офлайн
События Пятница, 19.08.2011, 20:08

Rain

Автор текущей темы
Группа: Пользователь
Ранг: Новичок
Cообщений: 30
Регистрация: 31.10.2009
Я делаю именно магазин, не портал
так что я скорей всего найду еще что-нибудь
найденные проблемы буду описывать на форуме, что буду править, так же сообщу

Просто мне Koobi не знаком, и разбираться времени нет
Однако прошлую тему можно закрыть уже, разобрался в тех вопросах :)
Пользователь офлайн


Похожие темы  |  Печать страницы  |   Предыдущая тема  |   Следующая тема

Быстрый переход:  
 

 Сейчас на сайте


Пользователей: 0, Гостей: 10

Поисковые боты: 10
Googlebot(3), Unknown Bot(2), Inktomi Slurp, Yandex(2), BingBot(2)

 Статистика форума


  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: intuix

 Дни рождения


alex.gladchenko (48), Юрик (39)
Печать | Copyright © 2009 - 2016 Status-X All rights reserved | Powered by CMS Status-X 1.05 | Контакты