snastik Опубликовано: 14 марта 2013 Поделиться Опубликовано: 14 марта 2013 (изменено) Да, я не могу представить ситуацию, когда захочется именно дублировать дополнительно для фильтра то, что уже и так есть в атрибутах. Теоретически я понимаю, плюс всего один - возможность отделения мух от котлет, если кол-во атрибутов и кол-во элементов, участвующих в фильтрации, слишком разное. Но на практике не встречал таких ситуаций. То ли атрибутов у каждого товара несколько десятков, а фильтр нужен не по всем, а только по парочке? Для снижения нагрузки на фильтр, получается? То ли ещё что? Можете на конкретных примерах пояснить практические плюсы? Или только тот, что я назвал, и он все неудобства покрывает? Изменено 16 марта 2013 пользователем snastik Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 14 марта 2013 Поделиться Опубликовано: 14 марта 2013 вот пара моих примеров Во, и как раз то, что называется "гостевой эффект" :) Тыкаю наугад и выбираю в фильтре: Категория: Электрогенераторы Тип генератора: Бензиновые Мощность кВт: 6 - 7 кВт Количество фаз: 3 фазы Метод запуска: Автоматический (АВР) Остается 5 товаров. Нажимаю на первый - и вижу мощность 7.5 кВт. Какая замечательная иллюстрация. Это то, что называется отсутствием нормализации и вредом дублирования. В общем, идея, как я понял, именно та, которую я называл. В атрибутах есть мощности (5.5, 6.5, ... кВт), а в фильтре для уменьшения вариантов они включаются в одну из групп (5-7 кВт и т.д.) Но я до сих пор не понимаю зачем так много дублировать и вносить ошибки, если проще добавить ещё один "группировочный" атрибут. Смысл тот же, что при дублировании (атрибуты отдельно, фильтр отдельно), но таких групп надо 2-3 (из 20 в среднем атрибутов на каждый товар), правильно? То есть 2-3 лишних атрибута для служебных целей. А остальные можно просто галочками включать или выключать для участия в работе фильтра. Вероятность ошибок - гораздо ниже, чем если всё то же самое мы банально ВЫНУЖДЕНЫ дублировать. Один раз в атрибутах, другой - в значениях фильтра. Об этом же и речь. Да, естественно - желательно иметь возможность указывать, какие атрибуты и опции участвуют в работе фильтра и навигации. Например, это "группировочный" с диапазонами - есть в фильтре, а пара атрибутов с точными значениями мощности (номинальная и максимальная) - не участвуют. (Не знаю, есть ли это в том фильтре, который на ваших сайтах используется.) Но дублировать?... Прелести подхода я и после этих примеров ещё не понял, скорее убедился в обратном. Или не туда смотрел и не всё увидел? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RGB Опубликовано: 14 марта 2013 Поделиться Опубликовано: 14 марта 2013 Исправил ошибочку, выложил на гитхаб. До атрибутов я еще не добрался (первая попытка показала ухудшение результатов, но возможно виной тому мои кривые руки), но вот по исправлению начала самого первого запроса $query = $this->db->query("SELECT DISTINCT *, p.rating, pd.name AS name, p.image, m.name AS manufacturer, таким образом $query = $this->db->query("SELECT DISTINCT pd.name AS name, p.image, m.name AS manufacturer, ничего хорошего не дало - если убрать *, сыпятся нотисы: Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: image in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 184Notice: Undefined index: tax_class_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 191Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 196Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 203Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 215Notice: Undefined index: name in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 217Notice: Undefined index: model in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 218Notice: Undefined index: stock_status_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 219Notice: Undefined index: date_available in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 220Notice: Undefined index: sku in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 221Notice: Undefined index: upc in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 222Notice: Undefined index: quantity in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 226Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 232 Вы проверяли это у себя? Мне кажется, нужно сделать так (по крайней мере, у меня так работает): $query = $this->db->query("SELECT DISTINCT p.product_id, p.price, p.tax_class_id, p.model, p.sku, p.quantity, p.stock_status_id, p.date_available, p.upc, pd.name AS name, p.image, m.name AS manufacturer, Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... snastik Опубликовано: 14 марта 2013 Поделиться Опубликовано: 14 марта 2013 (изменено) Во, и как раз то, что называется "гостевой эффект" :) Тыкаю наугад и выбираю в фильтре: Категория: Электрогенераторы Тип генератора: Бензиновые Мощность кВт: 6 - 7 кВт Количество фаз: 3 фазы Метод запуска: Автоматический (АВР) Остается 5 товаров. Нажимаю на первый - и вижу мощность 7.5 кВт. Какая замечательная иллюстрация. Это то, что называется отсутствием нормализации и вредом дублирования. В общем, идея, как я понял, именно та, которую я называл. В атрибутах есть мощности (5.5, 6.5, ... кВт), а в фильтре для уменьшения вариантов они включаются в одну из групп (5-7 кВт и т.д.) Но я до сих пор не понимаю зачем так много дублировать и вносить ошибки, если проще добавить ещё один "группировочный" атрибут. Смысл тот же, что при дублировании (атрибуты отдельно, фильтр отдельно), но таких групп надо 2-3 (из 20 в среднем атрибутов на каждый товар), правильно? То есть 2-3 лишних атрибута для служебных целей. А остальные можно просто галочками включать или выключать для участия в работе фильтра. Вероятность ошибок - гораздо ниже, чем если всё то же самое мы банально ВЫНУЖДЕНЫ дублировать. Один раз в атрибутах, другой - в значениях фильтра. Об этом же и речь. Да, естественно - желательно иметь возможность указывать, какие атрибуты и опции участвуют в работе фильтра и навигации. Например, это "группировочный" с диапазонами - есть в фильтре, а пара атрибутов с точными значениями мощности (номинальная и максимальная) - не участвуют. (Не знаю, есть ли это в том фильтре, который на ваших сайтах используется.) Но дублировать?... Прелести подхода я и после этих примеров ещё не понял, скорее убедился в обратном. Или не туда смотрел и не всё увидел? я же в первом сообщении написал что на 0.1.9.4 так и есть имеется ввиду что у каждой группы атрибутов есть возможность выбора где она участвует. 1. для характеристики 2. для фильтра 3. для сравнения насчет 7,5 киловат то тут указана мощность максимальная а менеджер отвечающий за группу товаров отнес его в диапазон до 7 киловат только лиш потому что он знает что номинал у него до 7 тут все сложно многие производители указывают только максимальную мощность и следят чтобы мы указывали именно так и никак иначе вторые указывают свою мощность в кВа что меньше киловата и тоже пытаются подсунуть свои циферки повыше а нам нужно подобрать генератор не по циферкам на капоте а по реальным показателям чтобы у клиента потом насос запустился или лебедка включилась и так далее. rb2 если тема интересна милости прошу в личку, иначе тема по оптимизации опенкарт превратится в тему как выбрать генератор и на что стоит обратить свое внимание :-) Изменено 14 марта 2013 пользователем snastik Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Во, и как раз то, что называется "гостевой эффект" :) Тыкаю наугад и выбираю в фильтре: Категория: Электрогенераторы Тип генератора: Бензиновые Мощность кВт: 6 - 7 кВт Количество фаз: 3 фазы Метод запуска: Автоматический (АВР) Остается 5 товаров. Нажимаю на первый - и вижу мощность 7.5 кВт. Какая замечательная иллюстрация. Это то, что называется отсутствием нормализации и вредом дублирования. В общем, идея, как я понял, именно та, которую я называл. В атрибутах есть мощности (5.5, 6.5, ... кВт), а в фильтре для уменьшения вариантов они включаются в одну из групп (5-7 кВт и т.д.) Но я до сих пор не понимаю зачем так много дублировать и вносить ошибки, если проще добавить ещё один "группировочный" атрибут. Смысл тот же, что при дублировании (атрибуты отдельно, фильтр отдельно), но таких групп надо 2-3 (из 20 в среднем атрибутов на каждый товар), правильно? То есть 2-3 лишних атрибута для служебных целей. А остальные можно просто галочками включать или выключать для участия в работе фильтра. Вероятность ошибок - гораздо ниже, чем если всё то же самое мы банально ВЫНУЖДЕНЫ дублировать. Один раз в атрибутах, другой - в значениях фильтра. Об этом же и речь. Да, естественно - желательно иметь возможность указывать, какие атрибуты и опции участвуют в работе фильтра и навигации. Например, это "группировочный" с диапазонами - есть в фильтре, а пара атрибутов с точными значениями мощности (номинальная и максимальная) - не участвуют. (Не знаю, есть ли это в том фильтре, который на ваших сайтах используется.) Но дублировать?... Прелести подхода я и после этих примеров ещё не понял, скорее убедился в обратном. Или не туда смотрел и не всё увидел? ну да, тут напрашивается полузнок с шагом .5, но включать в выборку фильтра значения которого там не должно быть это криво. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 До атрибутов я еще не добрался (первая попытка показала ухудшение результатов, но возможно виной тому мои кривые руки), но вот по исправлению начала самого первого запроса $query = $this->db->query("SELECT DISTINCT *, p.rating, pd.name AS name, p.image, m.name AS manufacturer, таким образом $query = $this->db->query("SELECT DISTINCT pd.name AS name, p.image, m.name AS manufacturer, ничего хорошего не дало - если убрать *, сыпятся нотисы: Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: image in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 184Notice: Undefined index: tax_class_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 191Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 196Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 203Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 215Notice: Undefined index: name in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 217Notice: Undefined index: model in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 218Notice: Undefined index: stock_status_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 219Notice: Undefined index: date_available in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 220Notice: Undefined index: sku in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 221Notice: Undefined index: upc in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 222Notice: Undefined index: quantity in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 226Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 232 Вы проверяли это у себя? Мне кажется, нужно сделать так (по крайней мере, у меня так работает): $query = $this->db->query("SELECT DISTINCT p.product_id, p.price, p.tax_class_id, p.model, p.sku, p.quantity, p.stock_status_id, p.date_available, p.upc, pd.name AS name, p.image, m.name AS manufacturer, * нужно не убирать, а заменить на соответвующие поля из таблицы productнапример p.image, p.price, p.tax_class_id, и тд Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 * нужно не убирать, а заменить на соответвующие поля из таблицы product например p.image, p.price, p.tax_class_id, и тд Да опять экономия на спичках... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Да опять экономия на спичках... да нет, как раз тут не спички, если у вас сто товаров тогда спички, а если 100+тыс тогда далеко не спички. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pashast Опубликовано: 15 марта 2013 Автор Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет. У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 rb2 если тема интересна милости прошу в личку, иначе тема по оптимизации опенкарт превратится в тему как выбрать генератор и на что стоит обратить свое внимание :-) Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Да опять экономия на спичках... Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RGB Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Так я про фильтр ни слова не говорил - я его отключал, когда проверял изменения. В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) О чем в моем сообщении и шла речь! Только я вместо * подставил все нужные поля конкретно из моего случая. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... А Вы тестируете на одного пользовтаеля? То есть запрос одной страницы в одной сессии? А если на 30 - 50 сессий, результат будет такой же? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Ну сами то подумайте :) да еще и кеш никто не отменял (напоминаю) А вот про хипы... myisam Showing rows 0 - 29 ( 108,408 total, Query took 0.0136 sec) MEMORY Showing rows 0 - 29 ( 108,408 total, Query took 0.0003 sec) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Дык хай-лоад или 120к+ товаров? Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... P.S. Про размер кук особливо порадовало :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Yesvik показывал, как с этим можно бороться. Суть в том, чтобы вложенным запросом сначала выбрать ID нужной сотни товаров, а только потом навешивать на них все JOIN-ы. Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Дык хай-лоад или 120к+ товаров? Одно другому не мешает. В чём вопрос-то? По сути. Понимаю ли я разницу? Понимаю. Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... Что-то Вы издалека начали. Давайте сэкономим друг другу время, а? У меня член 25 см. P.S. Про размер кук особливо порадовало :) Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Вот к стате хороший пример при выборе 1000 товаров - у человека ответы в кеш скорее всего не влезали или кей буфер переполнялся просто... над бы это дело как нить сэмитировать... ну предлагать поднять лимит на один запрос в кеше я думаю уже не надо... :) Просто где она там выборка с ответом включащих описание товара и еще каких полей которые не индексированы в 100+ позиций найти не могу... а то бы бенчнул. Серчь не предлагать он тупой это и без того понятно... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Статья порадовала... тут хоть понятно почему это происходит :) Только это было уже можно сказать в прошлом веке... они бы еще ютьюб тогда потестили в 720р Table 1. Response times for various cookie sizes Cookie Size Median Response Time (Delta) 0 bytes 78 ms (0 ms) 500 bytes 79 ms (+1 ms) 1000 bytes 94 ms (+16 ms) 1500 bytes 109 ms (+31 ms) 2000 bytes 125 ms (+47 ms) 2500 bytes 141 ms (+63 ms) 3000 bytes 156 ms (+78 ms) Note: Times are for page loads on DSL (~800 kbps). Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... vikingshop Опубликовано: 27 марта 2013 Поделиться Опубликовано: 27 марта 2013 Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Иммено так и вот сегодня поймал то о чем вы говорили, а иммено увидел converting HEAP to MyISAM... все дело в том что сначала действительно все выбирается во временную таблицу в память и если ее не хватает то все пишется на диск и это просто убивает производительность. А при select * выбераются туда все поля... решается вопрос повышением хипа и верменной таблицы... т.ч. совет вашему клиенту посмотреть размер таблиц которые в выборке и сравнить их с этими параметрами, т.к. думаю что он может всеравно встать на теже грабли что и с селект * только чуть позже. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 месяц спустя... esess74 Опубликовано: 29 апреля 2013 Поделиться Опубликовано: 29 апреля 2013 Hi! Izvinite za shrift... russkogo netu :) Nachnem s togo chto s IT osobo ne druzzu :) Problema u menja takaja.... Opencart dvizzok - bolee 100 000 tovarov, v buduschem okolo 500 000... VPS Hosting data: 70GB Hard Disk 3072MB/6144MB RAM 7000GB Bandwidth Saijt tormozit - normaljno otkrivaetsa toljko home stranica... Sokratil kategorii tovarov do minimuma (4-8)....Brand List to Product page - inogda 30 sec... Admin Product page load time - 1 min, no chashche vsego 504 Gateway Time-out Search - uzzasno medlenno, ili 504 Gateway Time-out admin/php.ini magic_quotes_gpc = Off;register_globals = Off;default_charset = UTF-8;memory_limit = 2048M;max_execution_time = 180000;upload_max_filesize = 9999M;safe_mode = Off;mysql.connect_timeout = 200;session.use_cookies = On;session.use_trans_sid = Off;session.gc_maxlifetime = 12000000;allow_url_fopen = on; Vozmozzno li nastroitj, za razumnuju cenu, chtobi vsje rabotalo, kak nado? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... RGB Опубликовано: 13 мая 2013 Поделиться Опубликовано: 13 мая 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет.У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Вот и до меня наконец то дошло, что сортировка вообще не работает при оптимизации (это я обновил свою 1.5.2.1 и заново пытался ее ускорить) :-) filterpro то использует свою сортировку, вот и не было видно ошибок, а сейчас стало сразу понятно + у вас на демке даже все эти ошибки видны (несмотря на отсутствие производителей или акций, можно открыть поиск и попытаться отсортировать выборку, например, по цене) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... delovoy Опубликовано: 14 мая 2013 Поделиться Опубликовано: 14 мая 2013 Параметры VPS: 12 ядер; 1ГБ оперативы, загрузить ее по полной так и не получилось, максимум 290МБ. 12 ядер? :ugeek: Это где такие ВПС? А частота какая гарантированная? Что за тип виртуализации? Просто интересно... У других ВДС с 3072MB/6144MB RAM Жесть, и где такая халява блин? 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... ingenerks Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ним скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузить сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... charlito Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ни-кэгм скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузи-кэшть сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Кэш-кэш-кэш... Кэш - НЕ панацея. Тоже пробовал его нормальный кешер! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 8 месяцев спустя... siniy Опубликовано: 27 февраля 2014 Поделиться Опубликовано: 27 февраля 2014 Кэш-кэш-кэш... Кэш - НЕ панацея. может и не панацея... предложите свое решение? у вас есть метод решения скорости работы opencart на 100-150К товаров путем оптимизации именно движка, запросов и так далее а не оптимизации сервера... так как я например на шаред сижу... и там ничего не наоптимизируешь... есть решения или нет? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 6 Вперёд Страница 5 из 6 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации Дублируються запросы в базу данных. Автор: mario512, 6 сентября 2022 mysql opencart (и ещё 1) Теги: mysql opencart птн пнх 4 ответа 654 просмотра mario512 6 сентября 2022 работа с базой данных Автор: AlexMax13, 1 августа 2022 база данных mysql 8 ответов 1 073 просмотра diterknobloch 27 февраля 2023 Модуль SQL менеджер SQL Buddy [Поддержка] 1 2 Автор: sv2109, 26 июля 2013 mysql 32 ответа 6 787 просмотров PetrSemenov 29 октября 2017 Кто какой программой пользуется для SQL Автор: multitask85, 10 февраля 2022 mysql 20 ответов 1 431 просмотр clarionio 22 марта 2022 кириллица в б/д Автор: satt, 8 февраля 2022 mysql utf-8 0 ответов 414 просмотров satt 8 февраля 2022 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Оптимизация движка под 120 000 товаров Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
rb2 Опубликовано: 14 марта 2013 Поделиться Опубликовано: 14 марта 2013 вот пара моих примеров Во, и как раз то, что называется "гостевой эффект" :) Тыкаю наугад и выбираю в фильтре: Категория: Электрогенераторы Тип генератора: Бензиновые Мощность кВт: 6 - 7 кВт Количество фаз: 3 фазы Метод запуска: Автоматический (АВР) Остается 5 товаров. Нажимаю на первый - и вижу мощность 7.5 кВт. Какая замечательная иллюстрация. Это то, что называется отсутствием нормализации и вредом дублирования. В общем, идея, как я понял, именно та, которую я называл. В атрибутах есть мощности (5.5, 6.5, ... кВт), а в фильтре для уменьшения вариантов они включаются в одну из групп (5-7 кВт и т.д.) Но я до сих пор не понимаю зачем так много дублировать и вносить ошибки, если проще добавить ещё один "группировочный" атрибут. Смысл тот же, что при дублировании (атрибуты отдельно, фильтр отдельно), но таких групп надо 2-3 (из 20 в среднем атрибутов на каждый товар), правильно? То есть 2-3 лишних атрибута для служебных целей. А остальные можно просто галочками включать или выключать для участия в работе фильтра. Вероятность ошибок - гораздо ниже, чем если всё то же самое мы банально ВЫНУЖДЕНЫ дублировать. Один раз в атрибутах, другой - в значениях фильтра. Об этом же и речь. Да, естественно - желательно иметь возможность указывать, какие атрибуты и опции участвуют в работе фильтра и навигации. Например, это "группировочный" с диапазонами - есть в фильтре, а пара атрибутов с точными значениями мощности (номинальная и максимальная) - не участвуют. (Не знаю, есть ли это в том фильтре, который на ваших сайтах используется.) Но дублировать?... Прелести подхода я и после этих примеров ещё не понял, скорее убедился в обратном. Или не туда смотрел и не всё увидел? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
RGB Опубликовано: 14 марта 2013 Поделиться Опубликовано: 14 марта 2013 Исправил ошибочку, выложил на гитхаб. До атрибутов я еще не добрался (первая попытка показала ухудшение результатов, но возможно виной тому мои кривые руки), но вот по исправлению начала самого первого запроса $query = $this->db->query("SELECT DISTINCT *, p.rating, pd.name AS name, p.image, m.name AS manufacturer, таким образом $query = $this->db->query("SELECT DISTINCT pd.name AS name, p.image, m.name AS manufacturer, ничего хорошего не дало - если убрать *, сыпятся нотисы: Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: image in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 184Notice: Undefined index: tax_class_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 191Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 196Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 203Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 215Notice: Undefined index: name in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 217Notice: Undefined index: model in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 218Notice: Undefined index: stock_status_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 219Notice: Undefined index: date_available in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 220Notice: Undefined index: sku in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 221Notice: Undefined index: upc in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 222Notice: Undefined index: quantity in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 226Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 232 Вы проверяли это у себя? Мне кажется, нужно сделать так (по крайней мере, у меня так работает): $query = $this->db->query("SELECT DISTINCT p.product_id, p.price, p.tax_class_id, p.model, p.sku, p.quantity, p.stock_status_id, p.date_available, p.upc, pd.name AS name, p.image, m.name AS manufacturer, Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... snastik Опубликовано: 14 марта 2013 Поделиться Опубликовано: 14 марта 2013 (изменено) Во, и как раз то, что называется "гостевой эффект" :) Тыкаю наугад и выбираю в фильтре: Категория: Электрогенераторы Тип генератора: Бензиновые Мощность кВт: 6 - 7 кВт Количество фаз: 3 фазы Метод запуска: Автоматический (АВР) Остается 5 товаров. Нажимаю на первый - и вижу мощность 7.5 кВт. Какая замечательная иллюстрация. Это то, что называется отсутствием нормализации и вредом дублирования. В общем, идея, как я понял, именно та, которую я называл. В атрибутах есть мощности (5.5, 6.5, ... кВт), а в фильтре для уменьшения вариантов они включаются в одну из групп (5-7 кВт и т.д.) Но я до сих пор не понимаю зачем так много дублировать и вносить ошибки, если проще добавить ещё один "группировочный" атрибут. Смысл тот же, что при дублировании (атрибуты отдельно, фильтр отдельно), но таких групп надо 2-3 (из 20 в среднем атрибутов на каждый товар), правильно? То есть 2-3 лишних атрибута для служебных целей. А остальные можно просто галочками включать или выключать для участия в работе фильтра. Вероятность ошибок - гораздо ниже, чем если всё то же самое мы банально ВЫНУЖДЕНЫ дублировать. Один раз в атрибутах, другой - в значениях фильтра. Об этом же и речь. Да, естественно - желательно иметь возможность указывать, какие атрибуты и опции участвуют в работе фильтра и навигации. Например, это "группировочный" с диапазонами - есть в фильтре, а пара атрибутов с точными значениями мощности (номинальная и максимальная) - не участвуют. (Не знаю, есть ли это в том фильтре, который на ваших сайтах используется.) Но дублировать?... Прелести подхода я и после этих примеров ещё не понял, скорее убедился в обратном. Или не туда смотрел и не всё увидел? я же в первом сообщении написал что на 0.1.9.4 так и есть имеется ввиду что у каждой группы атрибутов есть возможность выбора где она участвует. 1. для характеристики 2. для фильтра 3. для сравнения насчет 7,5 киловат то тут указана мощность максимальная а менеджер отвечающий за группу товаров отнес его в диапазон до 7 киловат только лиш потому что он знает что номинал у него до 7 тут все сложно многие производители указывают только максимальную мощность и следят чтобы мы указывали именно так и никак иначе вторые указывают свою мощность в кВа что меньше киловата и тоже пытаются подсунуть свои циферки повыше а нам нужно подобрать генератор не по циферкам на капоте а по реальным показателям чтобы у клиента потом насос запустился или лебедка включилась и так далее. rb2 если тема интересна милости прошу в личку, иначе тема по оптимизации опенкарт превратится в тему как выбрать генератор и на что стоит обратить свое внимание :-) Изменено 14 марта 2013 пользователем snastik Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Во, и как раз то, что называется "гостевой эффект" :) Тыкаю наугад и выбираю в фильтре: Категория: Электрогенераторы Тип генератора: Бензиновые Мощность кВт: 6 - 7 кВт Количество фаз: 3 фазы Метод запуска: Автоматический (АВР) Остается 5 товаров. Нажимаю на первый - и вижу мощность 7.5 кВт. Какая замечательная иллюстрация. Это то, что называется отсутствием нормализации и вредом дублирования. В общем, идея, как я понял, именно та, которую я называл. В атрибутах есть мощности (5.5, 6.5, ... кВт), а в фильтре для уменьшения вариантов они включаются в одну из групп (5-7 кВт и т.д.) Но я до сих пор не понимаю зачем так много дублировать и вносить ошибки, если проще добавить ещё один "группировочный" атрибут. Смысл тот же, что при дублировании (атрибуты отдельно, фильтр отдельно), но таких групп надо 2-3 (из 20 в среднем атрибутов на каждый товар), правильно? То есть 2-3 лишних атрибута для служебных целей. А остальные можно просто галочками включать или выключать для участия в работе фильтра. Вероятность ошибок - гораздо ниже, чем если всё то же самое мы банально ВЫНУЖДЕНЫ дублировать. Один раз в атрибутах, другой - в значениях фильтра. Об этом же и речь. Да, естественно - желательно иметь возможность указывать, какие атрибуты и опции участвуют в работе фильтра и навигации. Например, это "группировочный" с диапазонами - есть в фильтре, а пара атрибутов с точными значениями мощности (номинальная и максимальная) - не участвуют. (Не знаю, есть ли это в том фильтре, который на ваших сайтах используется.) Но дублировать?... Прелести подхода я и после этих примеров ещё не понял, скорее убедился в обратном. Или не туда смотрел и не всё увидел? ну да, тут напрашивается полузнок с шагом .5, но включать в выборку фильтра значения которого там не должно быть это криво. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 До атрибутов я еще не добрался (первая попытка показала ухудшение результатов, но возможно виной тому мои кривые руки), но вот по исправлению начала самого первого запроса $query = $this->db->query("SELECT DISTINCT *, p.rating, pd.name AS name, p.image, m.name AS manufacturer, таким образом $query = $this->db->query("SELECT DISTINCT pd.name AS name, p.image, m.name AS manufacturer, ничего хорошего не дало - если убрать *, сыпятся нотисы: Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: image in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 184Notice: Undefined index: tax_class_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 191Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 196Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 203Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 215Notice: Undefined index: name in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 217Notice: Undefined index: model in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 218Notice: Undefined index: stock_status_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 219Notice: Undefined index: date_available in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 220Notice: Undefined index: sku in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 221Notice: Undefined index: upc in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 222Notice: Undefined index: quantity in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 226Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 232 Вы проверяли это у себя? Мне кажется, нужно сделать так (по крайней мере, у меня так работает): $query = $this->db->query("SELECT DISTINCT p.product_id, p.price, p.tax_class_id, p.model, p.sku, p.quantity, p.stock_status_id, p.date_available, p.upc, pd.name AS name, p.image, m.name AS manufacturer, * нужно не убирать, а заменить на соответвующие поля из таблицы productнапример p.image, p.price, p.tax_class_id, и тд Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 * нужно не убирать, а заменить на соответвующие поля из таблицы product например p.image, p.price, p.tax_class_id, и тд Да опять экономия на спичках... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Да опять экономия на спичках... да нет, как раз тут не спички, если у вас сто товаров тогда спички, а если 100+тыс тогда далеко не спички. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pashast Опубликовано: 15 марта 2013 Автор Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет. У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 rb2 если тема интересна милости прошу в личку, иначе тема по оптимизации опенкарт превратится в тему как выбрать генератор и на что стоит обратить свое внимание :-) Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Да опять экономия на спичках... Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RGB Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Так я про фильтр ни слова не говорил - я его отключал, когда проверял изменения. В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) О чем в моем сообщении и шла речь! Только я вместо * подставил все нужные поля конкретно из моего случая. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... А Вы тестируете на одного пользовтаеля? То есть запрос одной страницы в одной сессии? А если на 30 - 50 сессий, результат будет такой же? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Ну сами то подумайте :) да еще и кеш никто не отменял (напоминаю) А вот про хипы... myisam Showing rows 0 - 29 ( 108,408 total, Query took 0.0136 sec) MEMORY Showing rows 0 - 29 ( 108,408 total, Query took 0.0003 sec) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Дык хай-лоад или 120к+ товаров? Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... P.S. Про размер кук особливо порадовало :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Yesvik показывал, как с этим можно бороться. Суть в том, чтобы вложенным запросом сначала выбрать ID нужной сотни товаров, а только потом навешивать на них все JOIN-ы. Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Дык хай-лоад или 120к+ товаров? Одно другому не мешает. В чём вопрос-то? По сути. Понимаю ли я разницу? Понимаю. Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... Что-то Вы издалека начали. Давайте сэкономим друг другу время, а? У меня член 25 см. P.S. Про размер кук особливо порадовало :) Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Вот к стате хороший пример при выборе 1000 товаров - у человека ответы в кеш скорее всего не влезали или кей буфер переполнялся просто... над бы это дело как нить сэмитировать... ну предлагать поднять лимит на один запрос в кеше я думаю уже не надо... :) Просто где она там выборка с ответом включащих описание товара и еще каких полей которые не индексированы в 100+ позиций найти не могу... а то бы бенчнул. Серчь не предлагать он тупой это и без того понятно... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Статья порадовала... тут хоть понятно почему это происходит :) Только это было уже можно сказать в прошлом веке... они бы еще ютьюб тогда потестили в 720р Table 1. Response times for various cookie sizes Cookie Size Median Response Time (Delta) 0 bytes 78 ms (0 ms) 500 bytes 79 ms (+1 ms) 1000 bytes 94 ms (+16 ms) 1500 bytes 109 ms (+31 ms) 2000 bytes 125 ms (+47 ms) 2500 bytes 141 ms (+63 ms) 3000 bytes 156 ms (+78 ms) Note: Times are for page loads on DSL (~800 kbps). Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... vikingshop Опубликовано: 27 марта 2013 Поделиться Опубликовано: 27 марта 2013 Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Иммено так и вот сегодня поймал то о чем вы говорили, а иммено увидел converting HEAP to MyISAM... все дело в том что сначала действительно все выбирается во временную таблицу в память и если ее не хватает то все пишется на диск и это просто убивает производительность. А при select * выбераются туда все поля... решается вопрос повышением хипа и верменной таблицы... т.ч. совет вашему клиенту посмотреть размер таблиц которые в выборке и сравнить их с этими параметрами, т.к. думаю что он может всеравно встать на теже грабли что и с селект * только чуть позже. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 месяц спустя... esess74 Опубликовано: 29 апреля 2013 Поделиться Опубликовано: 29 апреля 2013 Hi! Izvinite za shrift... russkogo netu :) Nachnem s togo chto s IT osobo ne druzzu :) Problema u menja takaja.... Opencart dvizzok - bolee 100 000 tovarov, v buduschem okolo 500 000... VPS Hosting data: 70GB Hard Disk 3072MB/6144MB RAM 7000GB Bandwidth Saijt tormozit - normaljno otkrivaetsa toljko home stranica... Sokratil kategorii tovarov do minimuma (4-8)....Brand List to Product page - inogda 30 sec... Admin Product page load time - 1 min, no chashche vsego 504 Gateway Time-out Search - uzzasno medlenno, ili 504 Gateway Time-out admin/php.ini magic_quotes_gpc = Off;register_globals = Off;default_charset = UTF-8;memory_limit = 2048M;max_execution_time = 180000;upload_max_filesize = 9999M;safe_mode = Off;mysql.connect_timeout = 200;session.use_cookies = On;session.use_trans_sid = Off;session.gc_maxlifetime = 12000000;allow_url_fopen = on; Vozmozzno li nastroitj, za razumnuju cenu, chtobi vsje rabotalo, kak nado? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... RGB Опубликовано: 13 мая 2013 Поделиться Опубликовано: 13 мая 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет.У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Вот и до меня наконец то дошло, что сортировка вообще не работает при оптимизации (это я обновил свою 1.5.2.1 и заново пытался ее ускорить) :-) filterpro то использует свою сортировку, вот и не было видно ошибок, а сейчас стало сразу понятно + у вас на демке даже все эти ошибки видны (несмотря на отсутствие производителей или акций, можно открыть поиск и попытаться отсортировать выборку, например, по цене) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... delovoy Опубликовано: 14 мая 2013 Поделиться Опубликовано: 14 мая 2013 Параметры VPS: 12 ядер; 1ГБ оперативы, загрузить ее по полной так и не получилось, максимум 290МБ. 12 ядер? :ugeek: Это где такие ВПС? А частота какая гарантированная? Что за тип виртуализации? Просто интересно... У других ВДС с 3072MB/6144MB RAM Жесть, и где такая халява блин? 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... ingenerks Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ним скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузить сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... charlito Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ни-кэгм скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузи-кэшть сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Кэш-кэш-кэш... Кэш - НЕ панацея. Тоже пробовал его нормальный кешер! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 8 месяцев спустя... siniy Опубликовано: 27 февраля 2014 Поделиться Опубликовано: 27 февраля 2014 Кэш-кэш-кэш... Кэш - НЕ панацея. может и не панацея... предложите свое решение? у вас есть метод решения скорости работы opencart на 100-150К товаров путем оптимизации именно движка, запросов и так далее а не оптимизации сервера... так как я например на шаред сижу... и там ничего не наоптимизируешь... есть решения или нет? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 6 Вперёд Страница 5 из 6 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации Дублируються запросы в базу данных. Автор: mario512, 6 сентября 2022 mysql opencart (и ещё 1) Теги: mysql opencart птн пнх 4 ответа 654 просмотра mario512 6 сентября 2022 работа с базой данных Автор: AlexMax13, 1 августа 2022 база данных mysql 8 ответов 1 073 просмотра diterknobloch 27 февраля 2023 Модуль SQL менеджер SQL Buddy [Поддержка] 1 2 Автор: sv2109, 26 июля 2013 mysql 32 ответа 6 787 просмотров PetrSemenov 29 октября 2017 Кто какой программой пользуется для SQL Автор: multitask85, 10 февраля 2022 mysql 20 ответов 1 431 просмотр clarionio 22 марта 2022 кириллица в б/д Автор: satt, 8 февраля 2022 mysql utf-8 0 ответов 414 просмотров satt 8 февраля 2022 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Оптимизация движка под 120 000 товаров Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
snastik Опубликовано: 14 марта 2013 Поделиться Опубликовано: 14 марта 2013 (изменено) Во, и как раз то, что называется "гостевой эффект" :) Тыкаю наугад и выбираю в фильтре: Категория: Электрогенераторы Тип генератора: Бензиновые Мощность кВт: 6 - 7 кВт Количество фаз: 3 фазы Метод запуска: Автоматический (АВР) Остается 5 товаров. Нажимаю на первый - и вижу мощность 7.5 кВт. Какая замечательная иллюстрация. Это то, что называется отсутствием нормализации и вредом дублирования. В общем, идея, как я понял, именно та, которую я называл. В атрибутах есть мощности (5.5, 6.5, ... кВт), а в фильтре для уменьшения вариантов они включаются в одну из групп (5-7 кВт и т.д.) Но я до сих пор не понимаю зачем так много дублировать и вносить ошибки, если проще добавить ещё один "группировочный" атрибут. Смысл тот же, что при дублировании (атрибуты отдельно, фильтр отдельно), но таких групп надо 2-3 (из 20 в среднем атрибутов на каждый товар), правильно? То есть 2-3 лишних атрибута для служебных целей. А остальные можно просто галочками включать или выключать для участия в работе фильтра. Вероятность ошибок - гораздо ниже, чем если всё то же самое мы банально ВЫНУЖДЕНЫ дублировать. Один раз в атрибутах, другой - в значениях фильтра. Об этом же и речь. Да, естественно - желательно иметь возможность указывать, какие атрибуты и опции участвуют в работе фильтра и навигации. Например, это "группировочный" с диапазонами - есть в фильтре, а пара атрибутов с точными значениями мощности (номинальная и максимальная) - не участвуют. (Не знаю, есть ли это в том фильтре, который на ваших сайтах используется.) Но дублировать?... Прелести подхода я и после этих примеров ещё не понял, скорее убедился в обратном. Или не туда смотрел и не всё увидел? я же в первом сообщении написал что на 0.1.9.4 так и есть имеется ввиду что у каждой группы атрибутов есть возможность выбора где она участвует. 1. для характеристики 2. для фильтра 3. для сравнения насчет 7,5 киловат то тут указана мощность максимальная а менеджер отвечающий за группу товаров отнес его в диапазон до 7 киловат только лиш потому что он знает что номинал у него до 7 тут все сложно многие производители указывают только максимальную мощность и следят чтобы мы указывали именно так и никак иначе вторые указывают свою мощность в кВа что меньше киловата и тоже пытаются подсунуть свои циферки повыше а нам нужно подобрать генератор не по циферкам на капоте а по реальным показателям чтобы у клиента потом насос запустился или лебедка включилась и так далее. rb2 если тема интересна милости прошу в личку, иначе тема по оптимизации опенкарт превратится в тему как выбрать генератор и на что стоит обратить свое внимание :-) Изменено 14 марта 2013 пользователем snastik Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Во, и как раз то, что называется "гостевой эффект" :) Тыкаю наугад и выбираю в фильтре: Категория: Электрогенераторы Тип генератора: Бензиновые Мощность кВт: 6 - 7 кВт Количество фаз: 3 фазы Метод запуска: Автоматический (АВР) Остается 5 товаров. Нажимаю на первый - и вижу мощность 7.5 кВт. Какая замечательная иллюстрация. Это то, что называется отсутствием нормализации и вредом дублирования. В общем, идея, как я понял, именно та, которую я называл. В атрибутах есть мощности (5.5, 6.5, ... кВт), а в фильтре для уменьшения вариантов они включаются в одну из групп (5-7 кВт и т.д.) Но я до сих пор не понимаю зачем так много дублировать и вносить ошибки, если проще добавить ещё один "группировочный" атрибут. Смысл тот же, что при дублировании (атрибуты отдельно, фильтр отдельно), но таких групп надо 2-3 (из 20 в среднем атрибутов на каждый товар), правильно? То есть 2-3 лишних атрибута для служебных целей. А остальные можно просто галочками включать или выключать для участия в работе фильтра. Вероятность ошибок - гораздо ниже, чем если всё то же самое мы банально ВЫНУЖДЕНЫ дублировать. Один раз в атрибутах, другой - в значениях фильтра. Об этом же и речь. Да, естественно - желательно иметь возможность указывать, какие атрибуты и опции участвуют в работе фильтра и навигации. Например, это "группировочный" с диапазонами - есть в фильтре, а пара атрибутов с точными значениями мощности (номинальная и максимальная) - не участвуют. (Не знаю, есть ли это в том фильтре, который на ваших сайтах используется.) Но дублировать?... Прелести подхода я и после этих примеров ещё не понял, скорее убедился в обратном. Или не туда смотрел и не всё увидел? ну да, тут напрашивается полузнок с шагом .5, но включать в выборку фильтра значения которого там не должно быть это криво. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 До атрибутов я еще не добрался (первая попытка показала ухудшение результатов, но возможно виной тому мои кривые руки), но вот по исправлению начала самого первого запроса $query = $this->db->query("SELECT DISTINCT *, p.rating, pd.name AS name, p.image, m.name AS manufacturer, таким образом $query = $this->db->query("SELECT DISTINCT pd.name AS name, p.image, m.name AS manufacturer, ничего хорошего не дало - если убрать *, сыпятся нотисы: Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: image in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 184Notice: Undefined index: tax_class_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 191Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 196Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 203Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 215Notice: Undefined index: name in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 217Notice: Undefined index: model in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 218Notice: Undefined index: stock_status_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 219Notice: Undefined index: date_available in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 220Notice: Undefined index: sku in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 221Notice: Undefined index: upc in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 222Notice: Undefined index: quantity in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 226Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 232 Вы проверяли это у себя? Мне кажется, нужно сделать так (по крайней мере, у меня так работает): $query = $this->db->query("SELECT DISTINCT p.product_id, p.price, p.tax_class_id, p.model, p.sku, p.quantity, p.stock_status_id, p.date_available, p.upc, pd.name AS name, p.image, m.name AS manufacturer, * нужно не убирать, а заменить на соответвующие поля из таблицы productнапример p.image, p.price, p.tax_class_id, и тд Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 * нужно не убирать, а заменить на соответвующие поля из таблицы product например p.image, p.price, p.tax_class_id, и тд Да опять экономия на спичках... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Да опять экономия на спичках... да нет, как раз тут не спички, если у вас сто товаров тогда спички, а если 100+тыс тогда далеко не спички. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pashast Опубликовано: 15 марта 2013 Автор Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет. У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 rb2 если тема интересна милости прошу в личку, иначе тема по оптимизации опенкарт превратится в тему как выбрать генератор и на что стоит обратить свое внимание :-) Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Да опять экономия на спичках... Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RGB Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Так я про фильтр ни слова не говорил - я его отключал, когда проверял изменения. В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) О чем в моем сообщении и шла речь! Только я вместо * подставил все нужные поля конкретно из моего случая. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... А Вы тестируете на одного пользовтаеля? То есть запрос одной страницы в одной сессии? А если на 30 - 50 сессий, результат будет такой же? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Ну сами то подумайте :) да еще и кеш никто не отменял (напоминаю) А вот про хипы... myisam Showing rows 0 - 29 ( 108,408 total, Query took 0.0136 sec) MEMORY Showing rows 0 - 29 ( 108,408 total, Query took 0.0003 sec) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Дык хай-лоад или 120к+ товаров? Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... P.S. Про размер кук особливо порадовало :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Yesvik показывал, как с этим можно бороться. Суть в том, чтобы вложенным запросом сначала выбрать ID нужной сотни товаров, а только потом навешивать на них все JOIN-ы. Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Дык хай-лоад или 120к+ товаров? Одно другому не мешает. В чём вопрос-то? По сути. Понимаю ли я разницу? Понимаю. Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... Что-то Вы издалека начали. Давайте сэкономим друг другу время, а? У меня член 25 см. P.S. Про размер кук особливо порадовало :) Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Вот к стате хороший пример при выборе 1000 товаров - у человека ответы в кеш скорее всего не влезали или кей буфер переполнялся просто... над бы это дело как нить сэмитировать... ну предлагать поднять лимит на один запрос в кеше я думаю уже не надо... :) Просто где она там выборка с ответом включащих описание товара и еще каких полей которые не индексированы в 100+ позиций найти не могу... а то бы бенчнул. Серчь не предлагать он тупой это и без того понятно... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Статья порадовала... тут хоть понятно почему это происходит :) Только это было уже можно сказать в прошлом веке... они бы еще ютьюб тогда потестили в 720р Table 1. Response times for various cookie sizes Cookie Size Median Response Time (Delta) 0 bytes 78 ms (0 ms) 500 bytes 79 ms (+1 ms) 1000 bytes 94 ms (+16 ms) 1500 bytes 109 ms (+31 ms) 2000 bytes 125 ms (+47 ms) 2500 bytes 141 ms (+63 ms) 3000 bytes 156 ms (+78 ms) Note: Times are for page loads on DSL (~800 kbps). Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... vikingshop Опубликовано: 27 марта 2013 Поделиться Опубликовано: 27 марта 2013 Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Иммено так и вот сегодня поймал то о чем вы говорили, а иммено увидел converting HEAP to MyISAM... все дело в том что сначала действительно все выбирается во временную таблицу в память и если ее не хватает то все пишется на диск и это просто убивает производительность. А при select * выбераются туда все поля... решается вопрос повышением хипа и верменной таблицы... т.ч. совет вашему клиенту посмотреть размер таблиц которые в выборке и сравнить их с этими параметрами, т.к. думаю что он может всеравно встать на теже грабли что и с селект * только чуть позже. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 месяц спустя... esess74 Опубликовано: 29 апреля 2013 Поделиться Опубликовано: 29 апреля 2013 Hi! Izvinite za shrift... russkogo netu :) Nachnem s togo chto s IT osobo ne druzzu :) Problema u menja takaja.... Opencart dvizzok - bolee 100 000 tovarov, v buduschem okolo 500 000... VPS Hosting data: 70GB Hard Disk 3072MB/6144MB RAM 7000GB Bandwidth Saijt tormozit - normaljno otkrivaetsa toljko home stranica... Sokratil kategorii tovarov do minimuma (4-8)....Brand List to Product page - inogda 30 sec... Admin Product page load time - 1 min, no chashche vsego 504 Gateway Time-out Search - uzzasno medlenno, ili 504 Gateway Time-out admin/php.ini magic_quotes_gpc = Off;register_globals = Off;default_charset = UTF-8;memory_limit = 2048M;max_execution_time = 180000;upload_max_filesize = 9999M;safe_mode = Off;mysql.connect_timeout = 200;session.use_cookies = On;session.use_trans_sid = Off;session.gc_maxlifetime = 12000000;allow_url_fopen = on; Vozmozzno li nastroitj, za razumnuju cenu, chtobi vsje rabotalo, kak nado? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... RGB Опубликовано: 13 мая 2013 Поделиться Опубликовано: 13 мая 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет.У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Вот и до меня наконец то дошло, что сортировка вообще не работает при оптимизации (это я обновил свою 1.5.2.1 и заново пытался ее ускорить) :-) filterpro то использует свою сортировку, вот и не было видно ошибок, а сейчас стало сразу понятно + у вас на демке даже все эти ошибки видны (несмотря на отсутствие производителей или акций, можно открыть поиск и попытаться отсортировать выборку, например, по цене) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... delovoy Опубликовано: 14 мая 2013 Поделиться Опубликовано: 14 мая 2013 Параметры VPS: 12 ядер; 1ГБ оперативы, загрузить ее по полной так и не получилось, максимум 290МБ. 12 ядер? :ugeek: Это где такие ВПС? А частота какая гарантированная? Что за тип виртуализации? Просто интересно... У других ВДС с 3072MB/6144MB RAM Жесть, и где такая халява блин? 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... ingenerks Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ним скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузить сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... charlito Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ни-кэгм скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузи-кэшть сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Кэш-кэш-кэш... Кэш - НЕ панацея. Тоже пробовал его нормальный кешер! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 8 месяцев спустя... siniy Опубликовано: 27 февраля 2014 Поделиться Опубликовано: 27 февраля 2014 Кэш-кэш-кэш... Кэш - НЕ панацея. может и не панацея... предложите свое решение? у вас есть метод решения скорости работы opencart на 100-150К товаров путем оптимизации именно движка, запросов и так далее а не оптимизации сервера... так как я например на шаред сижу... и там ничего не наоптимизируешь... есть решения или нет? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 6 Вперёд Страница 5 из 6 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации Дублируються запросы в базу данных. Автор: mario512, 6 сентября 2022 mysql opencart (и ещё 1) Теги: mysql opencart птн пнх 4 ответа 654 просмотра mario512 6 сентября 2022 работа с базой данных Автор: AlexMax13, 1 августа 2022 база данных mysql 8 ответов 1 073 просмотра diterknobloch 27 февраля 2023 Модуль SQL менеджер SQL Buddy [Поддержка] 1 2 Автор: sv2109, 26 июля 2013 mysql 32 ответа 6 787 просмотров PetrSemenov 29 октября 2017 Кто какой программой пользуется для SQL Автор: multitask85, 10 февраля 2022 mysql 20 ответов 1 431 просмотр clarionio 22 марта 2022 кириллица в б/д Автор: satt, 8 февраля 2022 mysql utf-8 0 ответов 414 просмотров satt 8 февраля 2022 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Оптимизация движка под 120 000 товаров Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Во, и как раз то, что называется "гостевой эффект" :) Тыкаю наугад и выбираю в фильтре: Категория: Электрогенераторы Тип генератора: Бензиновые Мощность кВт: 6 - 7 кВт Количество фаз: 3 фазы Метод запуска: Автоматический (АВР) Остается 5 товаров. Нажимаю на первый - и вижу мощность 7.5 кВт. Какая замечательная иллюстрация. Это то, что называется отсутствием нормализации и вредом дублирования. В общем, идея, как я понял, именно та, которую я называл. В атрибутах есть мощности (5.5, 6.5, ... кВт), а в фильтре для уменьшения вариантов они включаются в одну из групп (5-7 кВт и т.д.) Но я до сих пор не понимаю зачем так много дублировать и вносить ошибки, если проще добавить ещё один "группировочный" атрибут. Смысл тот же, что при дублировании (атрибуты отдельно, фильтр отдельно), но таких групп надо 2-3 (из 20 в среднем атрибутов на каждый товар), правильно? То есть 2-3 лишних атрибута для служебных целей. А остальные можно просто галочками включать или выключать для участия в работе фильтра. Вероятность ошибок - гораздо ниже, чем если всё то же самое мы банально ВЫНУЖДЕНЫ дублировать. Один раз в атрибутах, другой - в значениях фильтра. Об этом же и речь. Да, естественно - желательно иметь возможность указывать, какие атрибуты и опции участвуют в работе фильтра и навигации. Например, это "группировочный" с диапазонами - есть в фильтре, а пара атрибутов с точными значениями мощности (номинальная и максимальная) - не участвуют. (Не знаю, есть ли это в том фильтре, который на ваших сайтах используется.) Но дублировать?... Прелести подхода я и после этих примеров ещё не понял, скорее убедился в обратном. Или не туда смотрел и не всё увидел? ну да, тут напрашивается полузнок с шагом .5, но включать в выборку фильтра значения которого там не должно быть это криво. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 До атрибутов я еще не добрался (первая попытка показала ухудшение результатов, но возможно виной тому мои кривые руки), но вот по исправлению начала самого первого запроса $query = $this->db->query("SELECT DISTINCT *, p.rating, pd.name AS name, p.image, m.name AS manufacturer, таким образом $query = $this->db->query("SELECT DISTINCT pd.name AS name, p.image, m.name AS manufacturer, ничего хорошего не дало - если убрать *, сыпятся нотисы: Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: image in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 184Notice: Undefined index: tax_class_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 191Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 196Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 203Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 215Notice: Undefined index: name in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 217Notice: Undefined index: model in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 218Notice: Undefined index: stock_status_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 219Notice: Undefined index: date_available in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 220Notice: Undefined index: sku in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 221Notice: Undefined index: upc in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 222Notice: Undefined index: quantity in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 226Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 232 Вы проверяли это у себя? Мне кажется, нужно сделать так (по крайней мере, у меня так работает): $query = $this->db->query("SELECT DISTINCT p.product_id, p.price, p.tax_class_id, p.model, p.sku, p.quantity, p.stock_status_id, p.date_available, p.upc, pd.name AS name, p.image, m.name AS manufacturer, * нужно не убирать, а заменить на соответвующие поля из таблицы productнапример p.image, p.price, p.tax_class_id, и тд Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 * нужно не убирать, а заменить на соответвующие поля из таблицы product например p.image, p.price, p.tax_class_id, и тд Да опять экономия на спичках... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Да опять экономия на спичках... да нет, как раз тут не спички, если у вас сто товаров тогда спички, а если 100+тыс тогда далеко не спички. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pashast Опубликовано: 15 марта 2013 Автор Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет. У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 rb2 если тема интересна милости прошу в личку, иначе тема по оптимизации опенкарт превратится в тему как выбрать генератор и на что стоит обратить свое внимание :-) Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Да опять экономия на спичках... Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RGB Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Так я про фильтр ни слова не говорил - я его отключал, когда проверял изменения. В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) О чем в моем сообщении и шла речь! Только я вместо * подставил все нужные поля конкретно из моего случая. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... А Вы тестируете на одного пользовтаеля? То есть запрос одной страницы в одной сессии? А если на 30 - 50 сессий, результат будет такой же? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Ну сами то подумайте :) да еще и кеш никто не отменял (напоминаю) А вот про хипы... myisam Showing rows 0 - 29 ( 108,408 total, Query took 0.0136 sec) MEMORY Showing rows 0 - 29 ( 108,408 total, Query took 0.0003 sec) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Дык хай-лоад или 120к+ товаров? Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... P.S. Про размер кук особливо порадовало :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Yesvik показывал, как с этим можно бороться. Суть в том, чтобы вложенным запросом сначала выбрать ID нужной сотни товаров, а только потом навешивать на них все JOIN-ы. Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Дык хай-лоад или 120к+ товаров? Одно другому не мешает. В чём вопрос-то? По сути. Понимаю ли я разницу? Понимаю. Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... Что-то Вы издалека начали. Давайте сэкономим друг другу время, а? У меня член 25 см. P.S. Про размер кук особливо порадовало :) Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Вот к стате хороший пример при выборе 1000 товаров - у человека ответы в кеш скорее всего не влезали или кей буфер переполнялся просто... над бы это дело как нить сэмитировать... ну предлагать поднять лимит на один запрос в кеше я думаю уже не надо... :) Просто где она там выборка с ответом включащих описание товара и еще каких полей которые не индексированы в 100+ позиций найти не могу... а то бы бенчнул. Серчь не предлагать он тупой это и без того понятно... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Статья порадовала... тут хоть понятно почему это происходит :) Только это было уже можно сказать в прошлом веке... они бы еще ютьюб тогда потестили в 720р Table 1. Response times for various cookie sizes Cookie Size Median Response Time (Delta) 0 bytes 78 ms (0 ms) 500 bytes 79 ms (+1 ms) 1000 bytes 94 ms (+16 ms) 1500 bytes 109 ms (+31 ms) 2000 bytes 125 ms (+47 ms) 2500 bytes 141 ms (+63 ms) 3000 bytes 156 ms (+78 ms) Note: Times are for page loads on DSL (~800 kbps). Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... vikingshop Опубликовано: 27 марта 2013 Поделиться Опубликовано: 27 марта 2013 Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Иммено так и вот сегодня поймал то о чем вы говорили, а иммено увидел converting HEAP to MyISAM... все дело в том что сначала действительно все выбирается во временную таблицу в память и если ее не хватает то все пишется на диск и это просто убивает производительность. А при select * выбераются туда все поля... решается вопрос повышением хипа и верменной таблицы... т.ч. совет вашему клиенту посмотреть размер таблиц которые в выборке и сравнить их с этими параметрами, т.к. думаю что он может всеравно встать на теже грабли что и с селект * только чуть позже. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 месяц спустя... esess74 Опубликовано: 29 апреля 2013 Поделиться Опубликовано: 29 апреля 2013 Hi! Izvinite za shrift... russkogo netu :) Nachnem s togo chto s IT osobo ne druzzu :) Problema u menja takaja.... Opencart dvizzok - bolee 100 000 tovarov, v buduschem okolo 500 000... VPS Hosting data: 70GB Hard Disk 3072MB/6144MB RAM 7000GB Bandwidth Saijt tormozit - normaljno otkrivaetsa toljko home stranica... Sokratil kategorii tovarov do minimuma (4-8)....Brand List to Product page - inogda 30 sec... Admin Product page load time - 1 min, no chashche vsego 504 Gateway Time-out Search - uzzasno medlenno, ili 504 Gateway Time-out admin/php.ini magic_quotes_gpc = Off;register_globals = Off;default_charset = UTF-8;memory_limit = 2048M;max_execution_time = 180000;upload_max_filesize = 9999M;safe_mode = Off;mysql.connect_timeout = 200;session.use_cookies = On;session.use_trans_sid = Off;session.gc_maxlifetime = 12000000;allow_url_fopen = on; Vozmozzno li nastroitj, za razumnuju cenu, chtobi vsje rabotalo, kak nado? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... RGB Опубликовано: 13 мая 2013 Поделиться Опубликовано: 13 мая 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет.У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Вот и до меня наконец то дошло, что сортировка вообще не работает при оптимизации (это я обновил свою 1.5.2.1 и заново пытался ее ускорить) :-) filterpro то использует свою сортировку, вот и не было видно ошибок, а сейчас стало сразу понятно + у вас на демке даже все эти ошибки видны (несмотря на отсутствие производителей или акций, можно открыть поиск и попытаться отсортировать выборку, например, по цене) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... delovoy Опубликовано: 14 мая 2013 Поделиться Опубликовано: 14 мая 2013 Параметры VPS: 12 ядер; 1ГБ оперативы, загрузить ее по полной так и не получилось, максимум 290МБ. 12 ядер? :ugeek: Это где такие ВПС? А частота какая гарантированная? Что за тип виртуализации? Просто интересно... У других ВДС с 3072MB/6144MB RAM Жесть, и где такая халява блин? 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... ingenerks Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ним скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузить сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... charlito Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ни-кэгм скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузи-кэшть сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Кэш-кэш-кэш... Кэш - НЕ панацея. Тоже пробовал его нормальный кешер! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 8 месяцев спустя... siniy Опубликовано: 27 февраля 2014 Поделиться Опубликовано: 27 февраля 2014 Кэш-кэш-кэш... Кэш - НЕ панацея. может и не панацея... предложите свое решение? у вас есть метод решения скорости работы opencart на 100-150К товаров путем оптимизации именно движка, запросов и так далее а не оптимизации сервера... так как я например на шаред сижу... и там ничего не наоптимизируешь... есть решения или нет? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 6 Вперёд Страница 5 из 6 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации Дублируються запросы в базу данных. Автор: mario512, 6 сентября 2022 mysql opencart (и ещё 1) Теги: mysql opencart птн пнх 4 ответа 654 просмотра mario512 6 сентября 2022 работа с базой данных Автор: AlexMax13, 1 августа 2022 база данных mysql 8 ответов 1 073 просмотра diterknobloch 27 февраля 2023 Модуль SQL менеджер SQL Buddy [Поддержка] 1 2 Автор: sv2109, 26 июля 2013 mysql 32 ответа 6 787 просмотров PetrSemenov 29 октября 2017 Кто какой программой пользуется для SQL Автор: multitask85, 10 февраля 2022 mysql 20 ответов 1 431 просмотр clarionio 22 марта 2022 кириллица в б/д Автор: satt, 8 февраля 2022 mysql utf-8 0 ответов 414 просмотров satt 8 февраля 2022 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Оптимизация движка под 120 000 товаров Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 До атрибутов я еще не добрался (первая попытка показала ухудшение результатов, но возможно виной тому мои кривые руки), но вот по исправлению начала самого первого запроса $query = $this->db->query("SELECT DISTINCT *, p.rating, pd.name AS name, p.image, m.name AS manufacturer, таким образом $query = $this->db->query("SELECT DISTINCT pd.name AS name, p.image, m.name AS manufacturer, ничего хорошего не дало - если убрать *, сыпятся нотисы: Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 50Notice: Undefined index: rating in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 52Notice: Undefined index: reviews in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 53Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\model\catalog\product.php on line 54Notice: Undefined index: image in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 184Notice: Undefined index: tax_class_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 191Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 196Notice: Undefined index: special in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 203Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 215Notice: Undefined index: name in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 217Notice: Undefined index: model in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 218Notice: Undefined index: stock_status_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 219Notice: Undefined index: date_available in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 220Notice: Undefined index: sku in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 221Notice: Undefined index: upc in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 222Notice: Undefined index: quantity in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 226Notice: Undefined index: product_id in Z:\home\localhost\ocstore1521\catalog\controller\product\category.php on line 232 Вы проверяли это у себя? Мне кажется, нужно сделать так (по крайней мере, у меня так работает): $query = $this->db->query("SELECT DISTINCT p.product_id, p.price, p.tax_class_id, p.model, p.sku, p.quantity, p.stock_status_id, p.date_available, p.upc, pd.name AS name, p.image, m.name AS manufacturer, * нужно не убирать, а заменить на соответвующие поля из таблицы productнапример p.image, p.price, p.tax_class_id, и тд Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 * нужно не убирать, а заменить на соответвующие поля из таблицы product например p.image, p.price, p.tax_class_id, и тд Да опять экономия на спичках... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Да опять экономия на спичках... да нет, как раз тут не спички, если у вас сто товаров тогда спички, а если 100+тыс тогда далеко не спички. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pashast Опубликовано: 15 марта 2013 Автор Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет. У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 rb2 если тема интересна милости прошу в личку, иначе тема по оптимизации опенкарт превратится в тему как выбрать генератор и на что стоит обратить свое внимание :-) Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Да опять экономия на спичках... Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RGB Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Так я про фильтр ни слова не говорил - я его отключал, когда проверял изменения. В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) О чем в моем сообщении и шла речь! Только я вместо * подставил все нужные поля конкретно из моего случая. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... А Вы тестируете на одного пользовтаеля? То есть запрос одной страницы в одной сессии? А если на 30 - 50 сессий, результат будет такой же? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Ну сами то подумайте :) да еще и кеш никто не отменял (напоминаю) А вот про хипы... myisam Showing rows 0 - 29 ( 108,408 total, Query took 0.0136 sec) MEMORY Showing rows 0 - 29 ( 108,408 total, Query took 0.0003 sec) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Дык хай-лоад или 120к+ товаров? Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... P.S. Про размер кук особливо порадовало :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Yesvik показывал, как с этим можно бороться. Суть в том, чтобы вложенным запросом сначала выбрать ID нужной сотни товаров, а только потом навешивать на них все JOIN-ы. Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Дык хай-лоад или 120к+ товаров? Одно другому не мешает. В чём вопрос-то? По сути. Понимаю ли я разницу? Понимаю. Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... Что-то Вы издалека начали. Давайте сэкономим друг другу время, а? У меня член 25 см. P.S. Про размер кук особливо порадовало :) Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Вот к стате хороший пример при выборе 1000 товаров - у человека ответы в кеш скорее всего не влезали или кей буфер переполнялся просто... над бы это дело как нить сэмитировать... ну предлагать поднять лимит на один запрос в кеше я думаю уже не надо... :) Просто где она там выборка с ответом включащих описание товара и еще каких полей которые не индексированы в 100+ позиций найти не могу... а то бы бенчнул. Серчь не предлагать он тупой это и без того понятно... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Статья порадовала... тут хоть понятно почему это происходит :) Только это было уже можно сказать в прошлом веке... они бы еще ютьюб тогда потестили в 720р Table 1. Response times for various cookie sizes Cookie Size Median Response Time (Delta) 0 bytes 78 ms (0 ms) 500 bytes 79 ms (+1 ms) 1000 bytes 94 ms (+16 ms) 1500 bytes 109 ms (+31 ms) 2000 bytes 125 ms (+47 ms) 2500 bytes 141 ms (+63 ms) 3000 bytes 156 ms (+78 ms) Note: Times are for page loads on DSL (~800 kbps). Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... vikingshop Опубликовано: 27 марта 2013 Поделиться Опубликовано: 27 марта 2013 Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Иммено так и вот сегодня поймал то о чем вы говорили, а иммено увидел converting HEAP to MyISAM... все дело в том что сначала действительно все выбирается во временную таблицу в память и если ее не хватает то все пишется на диск и это просто убивает производительность. А при select * выбераются туда все поля... решается вопрос повышением хипа и верменной таблицы... т.ч. совет вашему клиенту посмотреть размер таблиц которые в выборке и сравнить их с этими параметрами, т.к. думаю что он может всеравно встать на теже грабли что и с селект * только чуть позже. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 месяц спустя... esess74 Опубликовано: 29 апреля 2013 Поделиться Опубликовано: 29 апреля 2013 Hi! Izvinite za shrift... russkogo netu :) Nachnem s togo chto s IT osobo ne druzzu :) Problema u menja takaja.... Opencart dvizzok - bolee 100 000 tovarov, v buduschem okolo 500 000... VPS Hosting data: 70GB Hard Disk 3072MB/6144MB RAM 7000GB Bandwidth Saijt tormozit - normaljno otkrivaetsa toljko home stranica... Sokratil kategorii tovarov do minimuma (4-8)....Brand List to Product page - inogda 30 sec... Admin Product page load time - 1 min, no chashche vsego 504 Gateway Time-out Search - uzzasno medlenno, ili 504 Gateway Time-out admin/php.ini magic_quotes_gpc = Off;register_globals = Off;default_charset = UTF-8;memory_limit = 2048M;max_execution_time = 180000;upload_max_filesize = 9999M;safe_mode = Off;mysql.connect_timeout = 200;session.use_cookies = On;session.use_trans_sid = Off;session.gc_maxlifetime = 12000000;allow_url_fopen = on; Vozmozzno li nastroitj, za razumnuju cenu, chtobi vsje rabotalo, kak nado? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... RGB Опубликовано: 13 мая 2013 Поделиться Опубликовано: 13 мая 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет.У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Вот и до меня наконец то дошло, что сортировка вообще не работает при оптимизации (это я обновил свою 1.5.2.1 и заново пытался ее ускорить) :-) filterpro то использует свою сортировку, вот и не было видно ошибок, а сейчас стало сразу понятно + у вас на демке даже все эти ошибки видны (несмотря на отсутствие производителей или акций, можно открыть поиск и попытаться отсортировать выборку, например, по цене) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... delovoy Опубликовано: 14 мая 2013 Поделиться Опубликовано: 14 мая 2013 Параметры VPS: 12 ядер; 1ГБ оперативы, загрузить ее по полной так и не получилось, максимум 290МБ. 12 ядер? :ugeek: Это где такие ВПС? А частота какая гарантированная? Что за тип виртуализации? Просто интересно... У других ВДС с 3072MB/6144MB RAM Жесть, и где такая халява блин? 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... ingenerks Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ним скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузить сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... charlito Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ни-кэгм скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузи-кэшть сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Кэш-кэш-кэш... Кэш - НЕ панацея. Тоже пробовал его нормальный кешер! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 8 месяцев спустя... siniy Опубликовано: 27 февраля 2014 Поделиться Опубликовано: 27 февраля 2014 Кэш-кэш-кэш... Кэш - НЕ панацея. может и не панацея... предложите свое решение? у вас есть метод решения скорости работы opencart на 100-150К товаров путем оптимизации именно движка, запросов и так далее а не оптимизации сервера... так как я например на шаред сижу... и там ничего не наоптимизируешь... есть решения или нет? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 6 Вперёд Страница 5 из 6 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации Дублируються запросы в базу данных. Автор: mario512, 6 сентября 2022 mysql opencart (и ещё 1) Теги: mysql opencart птн пнх 4 ответа 654 просмотра mario512 6 сентября 2022 работа с базой данных Автор: AlexMax13, 1 августа 2022 база данных mysql 8 ответов 1 073 просмотра diterknobloch 27 февраля 2023 Модуль SQL менеджер SQL Buddy [Поддержка] 1 2 Автор: sv2109, 26 июля 2013 mysql 32 ответа 6 787 просмотров PetrSemenov 29 октября 2017 Кто какой программой пользуется для SQL Автор: multitask85, 10 февраля 2022 mysql 20 ответов 1 431 просмотр clarionio 22 марта 2022 кириллица в б/д Автор: satt, 8 февраля 2022 mysql utf-8 0 ответов 414 просмотров satt 8 февраля 2022 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Оптимизация движка под 120 000 товаров Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 * нужно не убирать, а заменить на соответвующие поля из таблицы product например p.image, p.price, p.tax_class_id, и тд Да опять экономия на спичках... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Да опять экономия на спичках... да нет, как раз тут не спички, если у вас сто товаров тогда спички, а если 100+тыс тогда далеко не спички. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pashast Опубликовано: 15 марта 2013 Автор Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет. У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 rb2 если тема интересна милости прошу в личку, иначе тема по оптимизации опенкарт превратится в тему как выбрать генератор и на что стоит обратить свое внимание :-) Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Да опять экономия на спичках... Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RGB Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Так я про фильтр ни слова не говорил - я его отключал, когда проверял изменения. В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) О чем в моем сообщении и шла речь! Только я вместо * подставил все нужные поля конкретно из моего случая. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... А Вы тестируете на одного пользовтаеля? То есть запрос одной страницы в одной сессии? А если на 30 - 50 сессий, результат будет такой же? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Ну сами то подумайте :) да еще и кеш никто не отменял (напоминаю) А вот про хипы... myisam Showing rows 0 - 29 ( 108,408 total, Query took 0.0136 sec) MEMORY Showing rows 0 - 29 ( 108,408 total, Query took 0.0003 sec) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Дык хай-лоад или 120к+ товаров? Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... P.S. Про размер кук особливо порадовало :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Yesvik показывал, как с этим можно бороться. Суть в том, чтобы вложенным запросом сначала выбрать ID нужной сотни товаров, а только потом навешивать на них все JOIN-ы. Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Дык хай-лоад или 120к+ товаров? Одно другому не мешает. В чём вопрос-то? По сути. Понимаю ли я разницу? Понимаю. Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... Что-то Вы издалека начали. Давайте сэкономим друг другу время, а? У меня член 25 см. P.S. Про размер кук особливо порадовало :) Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Вот к стате хороший пример при выборе 1000 товаров - у человека ответы в кеш скорее всего не влезали или кей буфер переполнялся просто... над бы это дело как нить сэмитировать... ну предлагать поднять лимит на один запрос в кеше я думаю уже не надо... :) Просто где она там выборка с ответом включащих описание товара и еще каких полей которые не индексированы в 100+ позиций найти не могу... а то бы бенчнул. Серчь не предлагать он тупой это и без того понятно... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Статья порадовала... тут хоть понятно почему это происходит :) Только это было уже можно сказать в прошлом веке... они бы еще ютьюб тогда потестили в 720р Table 1. Response times for various cookie sizes Cookie Size Median Response Time (Delta) 0 bytes 78 ms (0 ms) 500 bytes 79 ms (+1 ms) 1000 bytes 94 ms (+16 ms) 1500 bytes 109 ms (+31 ms) 2000 bytes 125 ms (+47 ms) 2500 bytes 141 ms (+63 ms) 3000 bytes 156 ms (+78 ms) Note: Times are for page loads on DSL (~800 kbps). Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... vikingshop Опубликовано: 27 марта 2013 Поделиться Опубликовано: 27 марта 2013 Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Иммено так и вот сегодня поймал то о чем вы говорили, а иммено увидел converting HEAP to MyISAM... все дело в том что сначала действительно все выбирается во временную таблицу в память и если ее не хватает то все пишется на диск и это просто убивает производительность. А при select * выбераются туда все поля... решается вопрос повышением хипа и верменной таблицы... т.ч. совет вашему клиенту посмотреть размер таблиц которые в выборке и сравнить их с этими параметрами, т.к. думаю что он может всеравно встать на теже грабли что и с селект * только чуть позже. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 месяц спустя... esess74 Опубликовано: 29 апреля 2013 Поделиться Опубликовано: 29 апреля 2013 Hi! Izvinite za shrift... russkogo netu :) Nachnem s togo chto s IT osobo ne druzzu :) Problema u menja takaja.... Opencart dvizzok - bolee 100 000 tovarov, v buduschem okolo 500 000... VPS Hosting data: 70GB Hard Disk 3072MB/6144MB RAM 7000GB Bandwidth Saijt tormozit - normaljno otkrivaetsa toljko home stranica... Sokratil kategorii tovarov do minimuma (4-8)....Brand List to Product page - inogda 30 sec... Admin Product page load time - 1 min, no chashche vsego 504 Gateway Time-out Search - uzzasno medlenno, ili 504 Gateway Time-out admin/php.ini magic_quotes_gpc = Off;register_globals = Off;default_charset = UTF-8;memory_limit = 2048M;max_execution_time = 180000;upload_max_filesize = 9999M;safe_mode = Off;mysql.connect_timeout = 200;session.use_cookies = On;session.use_trans_sid = Off;session.gc_maxlifetime = 12000000;allow_url_fopen = on; Vozmozzno li nastroitj, za razumnuju cenu, chtobi vsje rabotalo, kak nado? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... RGB Опубликовано: 13 мая 2013 Поделиться Опубликовано: 13 мая 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет.У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Вот и до меня наконец то дошло, что сортировка вообще не работает при оптимизации (это я обновил свою 1.5.2.1 и заново пытался ее ускорить) :-) filterpro то использует свою сортировку, вот и не было видно ошибок, а сейчас стало сразу понятно + у вас на демке даже все эти ошибки видны (несмотря на отсутствие производителей или акций, можно открыть поиск и попытаться отсортировать выборку, например, по цене) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... delovoy Опубликовано: 14 мая 2013 Поделиться Опубликовано: 14 мая 2013 Параметры VPS: 12 ядер; 1ГБ оперативы, загрузить ее по полной так и не получилось, максимум 290МБ. 12 ядер? :ugeek: Это где такие ВПС? А частота какая гарантированная? Что за тип виртуализации? Просто интересно... У других ВДС с 3072MB/6144MB RAM Жесть, и где такая халява блин? 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... ingenerks Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ним скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузить сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... charlito Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ни-кэгм скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузи-кэшть сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Кэш-кэш-кэш... Кэш - НЕ панацея. Тоже пробовал его нормальный кешер! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 8 месяцев спустя... siniy Опубликовано: 27 февраля 2014 Поделиться Опубликовано: 27 февраля 2014 Кэш-кэш-кэш... Кэш - НЕ панацея. может и не панацея... предложите свое решение? у вас есть метод решения скорости работы opencart на 100-150К товаров путем оптимизации именно движка, запросов и так далее а не оптимизации сервера... так как я например на шаред сижу... и там ничего не наоптимизируешь... есть решения или нет? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 6 Вперёд Страница 5 из 6 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации Дублируються запросы в базу данных. Автор: mario512, 6 сентября 2022 mysql opencart (и ещё 1) Теги: mysql opencart птн пнх 4 ответа 654 просмотра mario512 6 сентября 2022 работа с базой данных Автор: AlexMax13, 1 августа 2022 база данных mysql 8 ответов 1 073 просмотра diterknobloch 27 февраля 2023 Модуль SQL менеджер SQL Buddy [Поддержка] 1 2 Автор: sv2109, 26 июля 2013 mysql 32 ответа 6 787 просмотров PetrSemenov 29 октября 2017 Кто какой программой пользуется для SQL Автор: multitask85, 10 февраля 2022 mysql 20 ответов 1 431 просмотр clarionio 22 марта 2022 кириллица в б/д Автор: satt, 8 февраля 2022 mysql utf-8 0 ответов 414 просмотров satt 8 февраля 2022 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Оптимизация движка под 120 000 товаров Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
pashast Опубликовано: 15 марта 2013 Автор Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет. У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 rb2 если тема интересна милости прошу в личку, иначе тема по оптимизации опенкарт превратится в тему как выбрать генератор и на что стоит обратить свое внимание :-) Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Да опять экономия на спичках... Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RGB Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Так я про фильтр ни слова не говорил - я его отключал, когда проверял изменения. В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) О чем в моем сообщении и шла речь! Только я вместо * подставил все нужные поля конкретно из моего случая. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... А Вы тестируете на одного пользовтаеля? То есть запрос одной страницы в одной сессии? А если на 30 - 50 сессий, результат будет такой же? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Ну сами то подумайте :) да еще и кеш никто не отменял (напоминаю) А вот про хипы... myisam Showing rows 0 - 29 ( 108,408 total, Query took 0.0136 sec) MEMORY Showing rows 0 - 29 ( 108,408 total, Query took 0.0003 sec) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Дык хай-лоад или 120к+ товаров? Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... P.S. Про размер кук особливо порадовало :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Yesvik показывал, как с этим можно бороться. Суть в том, чтобы вложенным запросом сначала выбрать ID нужной сотни товаров, а только потом навешивать на них все JOIN-ы. Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Дык хай-лоад или 120к+ товаров? Одно другому не мешает. В чём вопрос-то? По сути. Понимаю ли я разницу? Понимаю. Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... Что-то Вы издалека начали. Давайте сэкономим друг другу время, а? У меня член 25 см. P.S. Про размер кук особливо порадовало :) Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Вот к стате хороший пример при выборе 1000 товаров - у человека ответы в кеш скорее всего не влезали или кей буфер переполнялся просто... над бы это дело как нить сэмитировать... ну предлагать поднять лимит на один запрос в кеше я думаю уже не надо... :) Просто где она там выборка с ответом включащих описание товара и еще каких полей которые не индексированы в 100+ позиций найти не могу... а то бы бенчнул. Серчь не предлагать он тупой это и без того понятно... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Статья порадовала... тут хоть понятно почему это происходит :) Только это было уже можно сказать в прошлом веке... они бы еще ютьюб тогда потестили в 720р Table 1. Response times for various cookie sizes Cookie Size Median Response Time (Delta) 0 bytes 78 ms (0 ms) 500 bytes 79 ms (+1 ms) 1000 bytes 94 ms (+16 ms) 1500 bytes 109 ms (+31 ms) 2000 bytes 125 ms (+47 ms) 2500 bytes 141 ms (+63 ms) 3000 bytes 156 ms (+78 ms) Note: Times are for page loads on DSL (~800 kbps). Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... vikingshop Опубликовано: 27 марта 2013 Поделиться Опубликовано: 27 марта 2013 Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Иммено так и вот сегодня поймал то о чем вы говорили, а иммено увидел converting HEAP to MyISAM... все дело в том что сначала действительно все выбирается во временную таблицу в память и если ее не хватает то все пишется на диск и это просто убивает производительность. А при select * выбераются туда все поля... решается вопрос повышением хипа и верменной таблицы... т.ч. совет вашему клиенту посмотреть размер таблиц которые в выборке и сравнить их с этими параметрами, т.к. думаю что он может всеравно встать на теже грабли что и с селект * только чуть позже. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 месяц спустя... esess74 Опубликовано: 29 апреля 2013 Поделиться Опубликовано: 29 апреля 2013 Hi! Izvinite za shrift... russkogo netu :) Nachnem s togo chto s IT osobo ne druzzu :) Problema u menja takaja.... Opencart dvizzok - bolee 100 000 tovarov, v buduschem okolo 500 000... VPS Hosting data: 70GB Hard Disk 3072MB/6144MB RAM 7000GB Bandwidth Saijt tormozit - normaljno otkrivaetsa toljko home stranica... Sokratil kategorii tovarov do minimuma (4-8)....Brand List to Product page - inogda 30 sec... Admin Product page load time - 1 min, no chashche vsego 504 Gateway Time-out Search - uzzasno medlenno, ili 504 Gateway Time-out admin/php.ini magic_quotes_gpc = Off;register_globals = Off;default_charset = UTF-8;memory_limit = 2048M;max_execution_time = 180000;upload_max_filesize = 9999M;safe_mode = Off;mysql.connect_timeout = 200;session.use_cookies = On;session.use_trans_sid = Off;session.gc_maxlifetime = 12000000;allow_url_fopen = on; Vozmozzno li nastroitj, za razumnuju cenu, chtobi vsje rabotalo, kak nado? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... RGB Опубликовано: 13 мая 2013 Поделиться Опубликовано: 13 мая 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет.У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Вот и до меня наконец то дошло, что сортировка вообще не работает при оптимизации (это я обновил свою 1.5.2.1 и заново пытался ее ускорить) :-) filterpro то использует свою сортировку, вот и не было видно ошибок, а сейчас стало сразу понятно + у вас на демке даже все эти ошибки видны (несмотря на отсутствие производителей или акций, можно открыть поиск и попытаться отсортировать выборку, например, по цене) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... delovoy Опубликовано: 14 мая 2013 Поделиться Опубликовано: 14 мая 2013 Параметры VPS: 12 ядер; 1ГБ оперативы, загрузить ее по полной так и не получилось, максимум 290МБ. 12 ядер? :ugeek: Это где такие ВПС? А частота какая гарантированная? Что за тип виртуализации? Просто интересно... У других ВДС с 3072MB/6144MB RAM Жесть, и где такая халява блин? 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... ingenerks Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ним скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузить сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... charlito Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ни-кэгм скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузи-кэшть сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Кэш-кэш-кэш... Кэш - НЕ панацея. Тоже пробовал его нормальный кешер! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 8 месяцев спустя... siniy Опубликовано: 27 февраля 2014 Поделиться Опубликовано: 27 февраля 2014 Кэш-кэш-кэш... Кэш - НЕ панацея. может и не панацея... предложите свое решение? у вас есть метод решения скорости работы opencart на 100-150К товаров путем оптимизации именно движка, запросов и так далее а не оптимизации сервера... так как я например на шаред сижу... и там ничего не наоптимизируешь... есть решения или нет? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 6 Вперёд Страница 5 из 6 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации Дублируються запросы в базу данных. Автор: mario512, 6 сентября 2022 mysql opencart (и ещё 1) Теги: mysql opencart птн пнх 4 ответа 654 просмотра mario512 6 сентября 2022 работа с базой данных Автор: AlexMax13, 1 августа 2022 база данных mysql 8 ответов 1 073 просмотра diterknobloch 27 февраля 2023 Модуль SQL менеджер SQL Buddy [Поддержка] 1 2 Автор: sv2109, 26 июля 2013 mysql 32 ответа 6 787 просмотров PetrSemenov 29 октября 2017 Кто какой программой пользуется для SQL Автор: multitask85, 10 февраля 2022 mysql 20 ответов 1 431 просмотр clarionio 22 марта 2022 кириллица в б/д Автор: satt, 8 февраля 2022 mysql utf-8 0 ответов 414 просмотров satt 8 февраля 2022 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Оптимизация движка под 120 000 товаров Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 rb2 если тема интересна милости прошу в личку, иначе тема по оптимизации опенкарт превратится в тему как выбрать генератор и на что стоит обратить свое внимание :-) Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Да опять экономия на спичках... Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
RGB Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Так я про фильтр ни слова не говорил - я его отключал, когда проверял изменения. В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) О чем в моем сообщении и шла речь! Только я вместо * подставил все нужные поля конкретно из моего случая. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... А Вы тестируете на одного пользовтаеля? То есть запрос одной страницы в одной сессии? А если на 30 - 50 сессий, результат будет такой же? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Ну сами то подумайте :) да еще и кеш никто не отменял (напоминаю) А вот про хипы... myisam Showing rows 0 - 29 ( 108,408 total, Query took 0.0136 sec) MEMORY Showing rows 0 - 29 ( 108,408 total, Query took 0.0003 sec) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Дык хай-лоад или 120к+ товаров? Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... P.S. Про размер кук особливо порадовало :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Yesvik показывал, как с этим можно бороться. Суть в том, чтобы вложенным запросом сначала выбрать ID нужной сотни товаров, а только потом навешивать на них все JOIN-ы. Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Дык хай-лоад или 120к+ товаров? Одно другому не мешает. В чём вопрос-то? По сути. Понимаю ли я разницу? Понимаю. Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... Что-то Вы издалека начали. Давайте сэкономим друг другу время, а? У меня член 25 см. P.S. Про размер кук особливо порадовало :) Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Вот к стате хороший пример при выборе 1000 товаров - у человека ответы в кеш скорее всего не влезали или кей буфер переполнялся просто... над бы это дело как нить сэмитировать... ну предлагать поднять лимит на один запрос в кеше я думаю уже не надо... :) Просто где она там выборка с ответом включащих описание товара и еще каких полей которые не индексированы в 100+ позиций найти не могу... а то бы бенчнул. Серчь не предлагать он тупой это и без того понятно... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Статья порадовала... тут хоть понятно почему это происходит :) Только это было уже можно сказать в прошлом веке... они бы еще ютьюб тогда потестили в 720р Table 1. Response times for various cookie sizes Cookie Size Median Response Time (Delta) 0 bytes 78 ms (0 ms) 500 bytes 79 ms (+1 ms) 1000 bytes 94 ms (+16 ms) 1500 bytes 109 ms (+31 ms) 2000 bytes 125 ms (+47 ms) 2500 bytes 141 ms (+63 ms) 3000 bytes 156 ms (+78 ms) Note: Times are for page loads on DSL (~800 kbps). Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... vikingshop Опубликовано: 27 марта 2013 Поделиться Опубликовано: 27 марта 2013 Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Иммено так и вот сегодня поймал то о чем вы говорили, а иммено увидел converting HEAP to MyISAM... все дело в том что сначала действительно все выбирается во временную таблицу в память и если ее не хватает то все пишется на диск и это просто убивает производительность. А при select * выбераются туда все поля... решается вопрос повышением хипа и верменной таблицы... т.ч. совет вашему клиенту посмотреть размер таблиц которые в выборке и сравнить их с этими параметрами, т.к. думаю что он может всеравно встать на теже грабли что и с селект * только чуть позже. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 месяц спустя... esess74 Опубликовано: 29 апреля 2013 Поделиться Опубликовано: 29 апреля 2013 Hi! Izvinite za shrift... russkogo netu :) Nachnem s togo chto s IT osobo ne druzzu :) Problema u menja takaja.... Opencart dvizzok - bolee 100 000 tovarov, v buduschem okolo 500 000... VPS Hosting data: 70GB Hard Disk 3072MB/6144MB RAM 7000GB Bandwidth Saijt tormozit - normaljno otkrivaetsa toljko home stranica... Sokratil kategorii tovarov do minimuma (4-8)....Brand List to Product page - inogda 30 sec... Admin Product page load time - 1 min, no chashche vsego 504 Gateway Time-out Search - uzzasno medlenno, ili 504 Gateway Time-out admin/php.ini magic_quotes_gpc = Off;register_globals = Off;default_charset = UTF-8;memory_limit = 2048M;max_execution_time = 180000;upload_max_filesize = 9999M;safe_mode = Off;mysql.connect_timeout = 200;session.use_cookies = On;session.use_trans_sid = Off;session.gc_maxlifetime = 12000000;allow_url_fopen = on; Vozmozzno li nastroitj, za razumnuju cenu, chtobi vsje rabotalo, kak nado? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... RGB Опубликовано: 13 мая 2013 Поделиться Опубликовано: 13 мая 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет.У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Вот и до меня наконец то дошло, что сортировка вообще не работает при оптимизации (это я обновил свою 1.5.2.1 и заново пытался ее ускорить) :-) filterpro то использует свою сортировку, вот и не было видно ошибок, а сейчас стало сразу понятно + у вас на демке даже все эти ошибки видны (несмотря на отсутствие производителей или акций, можно открыть поиск и попытаться отсортировать выборку, например, по цене) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... delovoy Опубликовано: 14 мая 2013 Поделиться Опубликовано: 14 мая 2013 Параметры VPS: 12 ядер; 1ГБ оперативы, загрузить ее по полной так и не получилось, максимум 290МБ. 12 ядер? :ugeek: Это где такие ВПС? А частота какая гарантированная? Что за тип виртуализации? Просто интересно... У других ВДС с 3072MB/6144MB RAM Жесть, и где такая халява блин? 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... ingenerks Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ним скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузить сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... charlito Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ни-кэгм скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузи-кэшть сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Кэш-кэш-кэш... Кэш - НЕ панацея. Тоже пробовал его нормальный кешер! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 8 месяцев спустя... siniy Опубликовано: 27 февраля 2014 Поделиться Опубликовано: 27 февраля 2014 Кэш-кэш-кэш... Кэш - НЕ панацея. может и не панацея... предложите свое решение? у вас есть метод решения скорости работы opencart на 100-150К товаров путем оптимизации именно движка, запросов и так далее а не оптимизации сервера... так как я например на шаред сижу... и там ничего не наоптимизируешь... есть решения или нет? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 6 Вперёд Страница 5 из 6 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации Дублируються запросы в базу данных. Автор: mario512, 6 сентября 2022 mysql opencart (и ещё 1) Теги: mysql opencart птн пнх 4 ответа 654 просмотра mario512 6 сентября 2022 работа с базой данных Автор: AlexMax13, 1 августа 2022 база данных mysql 8 ответов 1 073 просмотра diterknobloch 27 февраля 2023 Модуль SQL менеджер SQL Buddy [Поддержка] 1 2 Автор: sv2109, 26 июля 2013 mysql 32 ответа 6 787 просмотров PetrSemenov 29 октября 2017 Кто какой программой пользуется для SQL Автор: multitask85, 10 февраля 2022 mysql 20 ответов 1 431 просмотр clarionio 22 марта 2022 кириллица в б/д Автор: satt, 8 февраля 2022 mysql utf-8 0 ответов 414 просмотров satt 8 февраля 2022 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Оптимизация движка под 120 000 товаров Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha
vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мне интересна тема производительности фильтра в контексте сабжа (для больших магазинов, 100k+ товаров). Ха 3 раза. Это не спички, там огромнейшие объёмы набегают, если выбирать всё подряд. А ещё если джойнить это всё направо и налево.Не хватает места не то что в памяти -- временные разделы на диске заканчиваются, когда MySQL пытается временные таблицы записать. И валится с ошибкой (это раз). И о какой оптимизации тут вообще можно говорить (это два). Тут вон недавно url_alias с 256 символов до 32 кто-то сокращал - и одно это дало хороший эффект. На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
costas Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Если на то пошло хотите оптимизировться на чтении переходите на heap таблицы и регулярно их бекапте... У кого есть желание локально поэкспериментировать поменяйте тип таблицы и запустите бенчер... А Вы тестируете на одного пользовтаеля? То есть запрос одной страницы в одной сессии? А если на 30 - 50 сессий, результат будет такой же? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Ну сами то подумайте :) да еще и кеш никто не отменял (напоминаю) А вот про хипы... myisam Showing rows 0 - 29 ( 108,408 total, Query took 0.0136 sec) MEMORY Showing rows 0 - 29 ( 108,408 total, Query took 0.0003 sec) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Дык хай-лоад или 120к+ товаров? Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... P.S. Про размер кук особливо порадовало :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Yesvik показывал, как с этим можно бороться. Суть в том, чтобы вложенным запросом сначала выбрать ID нужной сотни товаров, а только потом навешивать на них все JOIN-ы. Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Дык хай-лоад или 120к+ товаров? Одно другому не мешает. В чём вопрос-то? По сути. Понимаю ли я разницу? Понимаю. Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... Что-то Вы издалека начали. Давайте сэкономим друг другу время, а? У меня член 25 см. P.S. Про размер кук особливо порадовало :) Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Вот к стате хороший пример при выборе 1000 товаров - у человека ответы в кеш скорее всего не влезали или кей буфер переполнялся просто... над бы это дело как нить сэмитировать... ну предлагать поднять лимит на один запрос в кеше я думаю уже не надо... :) Просто где она там выборка с ответом включащих описание товара и еще каких полей которые не индексированы в 100+ позиций найти не могу... а то бы бенчнул. Серчь не предлагать он тупой это и без того понятно... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Статья порадовала... тут хоть понятно почему это происходит :) Только это было уже можно сказать в прошлом веке... они бы еще ютьюб тогда потестили в 720р Table 1. Response times for various cookie sizes Cookie Size Median Response Time (Delta) 0 bytes 78 ms (0 ms) 500 bytes 79 ms (+1 ms) 1000 bytes 94 ms (+16 ms) 1500 bytes 109 ms (+31 ms) 2000 bytes 125 ms (+47 ms) 2500 bytes 141 ms (+63 ms) 3000 bytes 156 ms (+78 ms) Note: Times are for page loads on DSL (~800 kbps). Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... vikingshop Опубликовано: 27 марта 2013 Поделиться Опубликовано: 27 марта 2013 Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Иммено так и вот сегодня поймал то о чем вы говорили, а иммено увидел converting HEAP to MyISAM... все дело в том что сначала действительно все выбирается во временную таблицу в память и если ее не хватает то все пишется на диск и это просто убивает производительность. А при select * выбераются туда все поля... решается вопрос повышением хипа и верменной таблицы... т.ч. совет вашему клиенту посмотреть размер таблиц которые в выборке и сравнить их с этими параметрами, т.к. думаю что он может всеравно встать на теже грабли что и с селект * только чуть позже. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 месяц спустя... esess74 Опубликовано: 29 апреля 2013 Поделиться Опубликовано: 29 апреля 2013 Hi! Izvinite za shrift... russkogo netu :) Nachnem s togo chto s IT osobo ne druzzu :) Problema u menja takaja.... Opencart dvizzok - bolee 100 000 tovarov, v buduschem okolo 500 000... VPS Hosting data: 70GB Hard Disk 3072MB/6144MB RAM 7000GB Bandwidth Saijt tormozit - normaljno otkrivaetsa toljko home stranica... Sokratil kategorii tovarov do minimuma (4-8)....Brand List to Product page - inogda 30 sec... Admin Product page load time - 1 min, no chashche vsego 504 Gateway Time-out Search - uzzasno medlenno, ili 504 Gateway Time-out admin/php.ini magic_quotes_gpc = Off;register_globals = Off;default_charset = UTF-8;memory_limit = 2048M;max_execution_time = 180000;upload_max_filesize = 9999M;safe_mode = Off;mysql.connect_timeout = 200;session.use_cookies = On;session.use_trans_sid = Off;session.gc_maxlifetime = 12000000;allow_url_fopen = on; Vozmozzno li nastroitj, za razumnuju cenu, chtobi vsje rabotalo, kak nado? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... RGB Опубликовано: 13 мая 2013 Поделиться Опубликовано: 13 мая 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет.У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Вот и до меня наконец то дошло, что сортировка вообще не работает при оптимизации (это я обновил свою 1.5.2.1 и заново пытался ее ускорить) :-) filterpro то использует свою сортировку, вот и не было видно ошибок, а сейчас стало сразу понятно + у вас на демке даже все эти ошибки видны (несмотря на отсутствие производителей или акций, можно открыть поиск и попытаться отсортировать выборку, например, по цене) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... delovoy Опубликовано: 14 мая 2013 Поделиться Опубликовано: 14 мая 2013 Параметры VPS: 12 ядер; 1ГБ оперативы, загрузить ее по полной так и не получилось, максимум 290МБ. 12 ядер? :ugeek: Это где такие ВПС? А частота какая гарантированная? Что за тип виртуализации? Просто интересно... У других ВДС с 3072MB/6144MB RAM Жесть, и где такая халява блин? 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... ingenerks Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ним скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузить сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... charlito Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ни-кэгм скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузи-кэшть сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Кэш-кэш-кэш... Кэш - НЕ панацея. Тоже пробовал его нормальный кешер! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 8 месяцев спустя... siniy Опубликовано: 27 февраля 2014 Поделиться Опубликовано: 27 февраля 2014 Кэш-кэш-кэш... Кэш - НЕ панацея. может и не панацея... предложите свое решение? у вас есть метод решения скорости работы opencart на 100-150К товаров путем оптимизации именно движка, запросов и так далее а не оптимизации сервера... так как я например на шаред сижу... и там ничего не наоптимизируешь... есть решения или нет? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 6 Вперёд Страница 5 из 6 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации Дублируються запросы в базу данных. Автор: mario512, 6 сентября 2022 mysql opencart (и ещё 1) Теги: mysql opencart птн пнх 4 ответа 654 просмотра mario512 6 сентября 2022 работа с базой данных Автор: AlexMax13, 1 августа 2022 база данных mysql 8 ответов 1 073 просмотра diterknobloch 27 февраля 2023 Модуль SQL менеджер SQL Buddy [Поддержка] 1 2 Автор: sv2109, 26 июля 2013 mysql 32 ответа 6 787 просмотров PetrSemenov 29 октября 2017 Кто какой программой пользуется для SQL Автор: multitask85, 10 февраля 2022 mysql 20 ответов 1 431 просмотр clarionio 22 марта 2022 кириллица в б/д Автор: satt, 8 февраля 2022 mysql utf-8 0 ответов 414 просмотров satt 8 февраля 2022 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Оптимизация движка под 120 000 товаров
vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Ну сами то подумайте :) да еще и кеш никто не отменял (напоминаю) А вот про хипы... myisam Showing rows 0 - 29 ( 108,408 total, Query took 0.0136 sec) MEMORY Showing rows 0 - 29 ( 108,408 total, Query took 0.0003 sec) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 На хай-лоад проектах вообще каждый HTTP запрос и размер кук принято считать, а тут - 'select *' называют спичками :))) Дык хай-лоад или 120к+ товаров? Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... P.S. Про размер кук особливо порадовало :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
rb2 Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 В данном конкретном случает нужно SELECT * и на скорость действительно не влияет, так как кол-во записей, загружаемое этим запросом не болше 15-25-50-75-100 (зависит от настроек пагинации). Вернуть звездочку, и не путайте меня :-) Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Yesvik показывал, как с этим можно бороться. Суть в том, чтобы вложенным запросом сначала выбрать ID нужной сотни товаров, а только потом навешивать на них все JOIN-ы. Спички были протестированны на базе с 750к+ записями и весом в 850мб и выборке 10.000 :) А у вас выборка как выше было написано ну максимум 100 записей более того поля все в индексе как я помню... Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Дык хай-лоад или 120к+ товаров? Одно другому не мешает. В чём вопрос-то? По сути. Понимаю ли я разницу? Понимаю. Хай-лоад это сколько запросов в сутки? Хай-лоад - это на виртуалах или на VDS или всетаки отдельные сервера, но с криворукими админами, а может облачка уже мало? Прошу уточнить 3 момента... Что-то Вы издалека начали. Давайте сэкономим друг другу время, а? У меня член 25 см. P.S. Про размер кук особливо порадовало :) Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Мы с этими спичками сталкивались на 800к товаров, с выборками по 1000 товаров. Простейшая операция по укорачиванию `SELECT *` и выборка всего нескольких используемых полей убрала тормоза и сделала человека счастливым. По его словам, всё стало летать. Без всяких переездов на свои сервера и доп. оптимизаций. Не знаю, делал ли он то, что Yesvik предложил - там ещё экономия ресурсов получалась. Или этих спичек хватило. Про максимум 100 записей - см. выше. Вот к стате хороший пример при выборе 1000 товаров - у человека ответы в кеш скорее всего не влезали или кей буфер переполнялся просто... над бы это дело как нить сэмитировать... ну предлагать поднять лимит на один запрос в кеше я думаю уже не надо... :) Просто где она там выборка с ответом включащих описание товара и еще каких полей которые не индексированы в 100+ позиций найти не могу... а то бы бенчнул. Серчь не предлагать он тупой это и без того понятно... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
vikingshop Опубликовано: 15 марта 2013 Поделиться Опубликовано: 15 марта 2013 Многих радует, когда докапываются. И прикидывают с калькуляторами и бенчмарками. http://yuiblog.com/b...esearch-part-3/ http://developer.yah...tml#cookie_size http://developer.yah...tml#cookie_free Хотя до некоторых всё равно не доходят такие мелочи, кто бы ни объяснял. Всё готовы закешировать и объявить это решение панацеей. Статья порадовала... тут хоть понятно почему это происходит :) Только это было уже можно сказать в прошлом веке... они бы еще ютьюб тогда потестили в 720р Table 1. Response times for various cookie sizes Cookie Size Median Response Time (Delta) 0 bytes 78 ms (0 ms) 500 bytes 79 ms (+1 ms) 1000 bytes 94 ms (+16 ms) 1500 bytes 109 ms (+31 ms) 2000 bytes 125 ms (+47 ms) 2500 bytes 141 ms (+63 ms) 3000 bytes 156 ms (+78 ms) Note: Times are for page loads on DSL (~800 kbps). Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
vikingshop Опубликовано: 27 марта 2013 Поделиться Опубликовано: 27 марта 2013 Насколько я помню, LIMIT в запросах с ORDER BY на последних страницах выбирает все данные, сортирует, а потом отбрасывает и возвращает последние 100 или сколько там. И такое поведение вплоть до MySQL 5.6.2. Так что временные таблицы (или merge file) будет использоваться при больших объемах таблиц, которые ещё мержатся друг с другом. Иммено так и вот сегодня поймал то о чем вы говорили, а иммено увидел converting HEAP to MyISAM... все дело в том что сначала действительно все выбирается во временную таблицу в память и если ее не хватает то все пишется на диск и это просто убивает производительность. А при select * выбераются туда все поля... решается вопрос повышением хипа и верменной таблицы... т.ч. совет вашему клиенту посмотреть размер таблиц которые в выборке и сравнить их с этими параметрами, т.к. думаю что он может всеравно встать на теже грабли что и с селект * только чуть позже. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
esess74 Опубликовано: 29 апреля 2013 Поделиться Опубликовано: 29 апреля 2013 Hi! Izvinite za shrift... russkogo netu :) Nachnem s togo chto s IT osobo ne druzzu :) Problema u menja takaja.... Opencart dvizzok - bolee 100 000 tovarov, v buduschem okolo 500 000... VPS Hosting data: 70GB Hard Disk 3072MB/6144MB RAM 7000GB Bandwidth Saijt tormozit - normaljno otkrivaetsa toljko home stranica... Sokratil kategorii tovarov do minimuma (4-8)....Brand List to Product page - inogda 30 sec... Admin Product page load time - 1 min, no chashche vsego 504 Gateway Time-out Search - uzzasno medlenno, ili 504 Gateway Time-out admin/php.ini magic_quotes_gpc = Off;register_globals = Off;default_charset = UTF-8;memory_limit = 2048M;max_execution_time = 180000;upload_max_filesize = 9999M;safe_mode = Off;mysql.connect_timeout = 200;session.use_cookies = On;session.use_trans_sid = Off;session.gc_maxlifetime = 12000000;allow_url_fopen = on; Vozmozzno li nastroitj, za razumnuju cenu, chtobi vsje rabotalo, kak nado? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
RGB Опубликовано: 13 мая 2013 Поделиться Опубликовано: 13 мая 2013 Возможно я непонятно выразился. Мои изменения отностительно атрибутов касались метода getProductAttributes - это вывод атрибутов в товаре. К фильтру это отношения не имеет. Да и FilterPro в стандартном OpenCart нет. В вашем случае да, надо улучшать FilterPro, ведь в нем медленный запрос? Или я ошибаюсь? Мои изменения работают вот тут: http://toporchillo.j...t&product_id=42 Атрибуты, как видите, показываются. А так , довольно сложно синхронизировать 1.5.5 и 1.5.2 вот и ошибки. Пример у вас ошибками сыпет.У меня ваши правки работают на 1.5.5.1 хорошо, .rating сам выпилил - догадался. Но вот обнаружился еще косяк - перестала корректно работать сортировка по параметрам (имя, цена, модель) Вот и до меня наконец то дошло, что сортировка вообще не работает при оптимизации (это я обновил свою 1.5.2.1 и заново пытался ее ускорить) :-) filterpro то использует свою сортировку, вот и не было видно ошибок, а сейчас стало сразу понятно + у вас на демке даже все эти ошибки видны (несмотря на отсутствие производителей или акций, можно открыть поиск и попытаться отсортировать выборку, например, по цене) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... delovoy Опубликовано: 14 мая 2013 Поделиться Опубликовано: 14 мая 2013 Параметры VPS: 12 ядер; 1ГБ оперативы, загрузить ее по полной так и не получилось, максимум 290МБ. 12 ядер? :ugeek: Это где такие ВПС? А частота какая гарантированная? Что за тип виртуализации? Просто интересно... У других ВДС с 3072MB/6144MB RAM Жесть, и где такая халява блин? 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... ingenerks Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ним скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузить сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... charlito Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ни-кэгм скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузи-кэшть сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Кэш-кэш-кэш... Кэш - НЕ панацея. Тоже пробовал его нормальный кешер! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 8 месяцев спустя... siniy Опубликовано: 27 февраля 2014 Поделиться Опубликовано: 27 февраля 2014 Кэш-кэш-кэш... Кэш - НЕ панацея. может и не панацея... предложите свое решение? у вас есть метод решения скорости работы opencart на 100-150К товаров путем оптимизации именно движка, запросов и так далее а не оптимизации сервера... так как я например на шаред сижу... и там ничего не наоптимизируешь... есть решения или нет? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 6 Вперёд Страница 5 из 6 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации Дублируються запросы в базу данных. Автор: mario512, 6 сентября 2022 mysql opencart (и ещё 1) Теги: mysql opencart птн пнх 4 ответа 654 просмотра mario512 6 сентября 2022 работа с базой данных Автор: AlexMax13, 1 августа 2022 база данных mysql 8 ответов 1 073 просмотра diterknobloch 27 февраля 2023 Модуль SQL менеджер SQL Buddy [Поддержка] 1 2 Автор: sv2109, 26 июля 2013 mysql 32 ответа 6 787 просмотров PetrSemenov 29 октября 2017 Кто какой программой пользуется для SQL Автор: multitask85, 10 февраля 2022 mysql 20 ответов 1 431 просмотр clarionio 22 марта 2022 кириллица в б/д Автор: satt, 8 февраля 2022 mysql utf-8 0 ответов 414 просмотров satt 8 февраля 2022 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу.
delovoy Опубликовано: 14 мая 2013 Поделиться Опубликовано: 14 мая 2013 Параметры VPS: 12 ядер; 1ГБ оперативы, загрузить ее по полной так и не получилось, максимум 290МБ. 12 ядер? :ugeek: Это где такие ВПС? А частота какая гарантированная? Что за тип виртуализации? Просто интересно... У других ВДС с 3072MB/6144MB RAM Жесть, и где такая халява блин? 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
ingenerks Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ним скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузить сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... charlito Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ни-кэгм скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузи-кэшть сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Кэш-кэш-кэш... Кэш - НЕ панацея. Тоже пробовал его нормальный кешер! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 8 месяцев спустя... siniy Опубликовано: 27 февраля 2014 Поделиться Опубликовано: 27 февраля 2014 Кэш-кэш-кэш... Кэш - НЕ панацея. может и не панацея... предложите свое решение? у вас есть метод решения скорости работы opencart на 100-150К товаров путем оптимизации именно движка, запросов и так далее а не оптимизации сервера... так как я например на шаред сижу... и там ничего не наоптимизируешь... есть решения или нет? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 6 Вперёд Страница 5 из 6 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1
charlito Опубликовано: 13 июня 2013 Поделиться Опубликовано: 13 июня 2013 По поводу кеширования советую этот модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3477 с ни-кэгм скорость загрузки увеличилась в 2 раза. Все шустро работает сейчас на сайте 7000 товаров.Из тех модулей, что думал могут нагрузи-кэшть сайт, стоит фильтр про от фрилансера и поиск с морфологией и релевантностью (модуля отличные) тормозов пока не обнаружено. Из всех модулей кеширования, что пробовал, этот самый шустрый!!! Кэш-кэш-кэш... Кэш - НЕ панацея. Тоже пробовал его нормальный кешер! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
siniy Опубликовано: 27 февраля 2014 Поделиться Опубликовано: 27 февраля 2014 Кэш-кэш-кэш... Кэш - НЕ панацея. может и не панацея... предложите свое решение? у вас есть метод решения скорости работы opencart на 100-150К товаров путем оптимизации именно движка, запросов и так далее а не оптимизации сервера... так как я например на шаред сижу... и там ничего не наоптимизируешь... есть решения или нет? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Рекомендованные сообщения