snastik Опубліковано: 17 листопада 2014 Share Опубліковано: 17 листопада 2014 key_buffer ? table_cache ? my_isam_sort_buffer_size ? tmp_table_size ? И так далее.. Есть масса настроек, которые очень сильно влияют на производительность тех или иных запросов - но они напрямую зависят от общей конфигурации сервера и количества данных в базе. Посмотреть где затыкается - вы можете настроив db_log от фрилансира, или моим профайлером, а потом при помощи визуального анализатора этих запросов в phpmyadmin очень хорошо видно, какие именно операции тянут много времени, то ли это отсутствие индексов, то ли это cache_write или disc_write. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 17 листопада 2014 Share Опубліковано: 17 листопада 2014 хороший конфиг кстати вот, но это для 4-8 гиг серванта. Соответственно поделите на 4, если у вас всего гиг мозгов. #Tuning key_buffer = 1200M thread_stack = 512K thread_cache_size = 32 table_cache = 60000 thread_concurrency = 12 net_buffer_length = 32 query_cache_limit = 2M query_cache_size = 256M myisam_sort_buffer_size = 256M tmp_table_size = 256M max_heap_table_size = 128M read_buffer_size = 2M read_rnd_buffer_size = 4M sort_buffer_size = 2M join_buffer_size = 4M max_allowed_packet = 256M max_sort_length = 512 Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 17 листопада 2014 Share Опубліковано: 17 листопада 2014 Ваш же конфиг для 4 ядерного с 4 гигами, с и без кеша запросов. Кеш запросов в 1,5 раза хуже чем без него. :? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Соответственно поделите на 4, если у вас всего гиг мозгов. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Соответственно поделите на 4, если у вас всего гиг мозгов. Собственно для 4 ядерного с 4 гигами Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А каким боком количество ядер влияет на настройки кешей ? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А каким боком количество ядер влияет на настройки кешей ? Там указано что у сервера RAM = 4Gb Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 OMG. Параметры настроек поделите на 4 - получите конфиг для 1 гига. И я так понимаю. Что разницы между количеством памяти и количеством ядер процессора вы не совсем понимаете. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне для 1 гига если у меня 4 гига? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Тю блин.. Вы бы написали сразу. Тогда прописывайте - как есть и все. Ну и если у вас 4 ядра - не лишним будет подстроить количество worker_process в nginx до 4х. А также уменьшить параметр swappines системы до 50, чтобы для mysql осталось достаточное количество памяти. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Так я про это уже три раза сказал. А у нгинкса там все в порядке. Я же хотел только подчеркнуть что кеш запросов в мускуле, как оказалось, зло. Хоть его настырно рекомендует везде и вся включать. ВОт сами попробуйте на своем конфиге, и я думаю что результат повторится. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Поверьте, я пробовал уже такое количество разных настроек. Пока что лучше чем то что вам написал не нашел. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Ну а все-таки кеш вкл/выкл. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 17 листопада 2014 Share Опубліковано: 17 листопада 2014 хороший конфиг кстати вот, но это для 4-8 гиг серванта. Соответственно поделите на 4, если у вас всего гиг мозгов. #Tuning key_buffer = 1200M thread_stack = 512K thread_cache_size = 32 table_cache = 60000 thread_concurrency = 12 net_buffer_length = 32 query_cache_limit = 2M query_cache_size = 256M myisam_sort_buffer_size = 256M tmp_table_size = 256M max_heap_table_size = 128M read_buffer_size = 2M read_rnd_buffer_size = 4M sort_buffer_size = 2M join_buffer_size = 4M max_allowed_packet = 256M max_sort_length = 512 Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 17 листопада 2014 Share Опубліковано: 17 листопада 2014 Ваш же конфиг для 4 ядерного с 4 гигами, с и без кеша запросов. Кеш запросов в 1,5 раза хуже чем без него. :? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Соответственно поделите на 4, если у вас всего гиг мозгов. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Соответственно поделите на 4, если у вас всего гиг мозгов. Собственно для 4 ядерного с 4 гигами Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А каким боком количество ядер влияет на настройки кешей ? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А каким боком количество ядер влияет на настройки кешей ? Там указано что у сервера RAM = 4Gb Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 OMG. Параметры настроек поделите на 4 - получите конфиг для 1 гига. И я так понимаю. Что разницы между количеством памяти и количеством ядер процессора вы не совсем понимаете. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне для 1 гига если у меня 4 гига? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Тю блин.. Вы бы написали сразу. Тогда прописывайте - как есть и все. Ну и если у вас 4 ядра - не лишним будет подстроить количество worker_process в nginx до 4х. А также уменьшить параметр swappines системы до 50, чтобы для mysql осталось достаточное количество памяти. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Так я про это уже три раза сказал. А у нгинкса там все в порядке. Я же хотел только подчеркнуть что кеш запросов в мускуле, как оказалось, зло. Хоть его настырно рекомендует везде и вся включать. ВОт сами попробуйте на своем конфиге, и я думаю что результат повторится. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Поверьте, я пробовал уже такое количество разных настроек. Пока что лучше чем то что вам написал не нашел. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Ну а все-таки кеш вкл/выкл. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vladzimir Опубліковано: 17 листопада 2014 Share Опубліковано: 17 листопада 2014 Ваш же конфиг для 4 ядерного с 4 гигами, с и без кеша запросов. Кеш запросов в 1,5 раза хуже чем без него. :? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Соответственно поделите на 4, если у вас всего гиг мозгов. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Соответственно поделите на 4, если у вас всего гиг мозгов. Собственно для 4 ядерного с 4 гигами Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А каким боком количество ядер влияет на настройки кешей ? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А каким боком количество ядер влияет на настройки кешей ? Там указано что у сервера RAM = 4Gb Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 OMG. Параметры настроек поделите на 4 - получите конфиг для 1 гига. И я так понимаю. Что разницы между количеством памяти и количеством ядер процессора вы не совсем понимаете. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне для 1 гига если у меня 4 гига? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Тю блин.. Вы бы написали сразу. Тогда прописывайте - как есть и все. Ну и если у вас 4 ядра - не лишним будет подстроить количество worker_process в nginx до 4х. А также уменьшить параметр swappines системы до 50, чтобы для mysql осталось достаточное количество памяти. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Так я про это уже три раза сказал. А у нгинкса там все в порядке. Я же хотел только подчеркнуть что кеш запросов в мускуле, как оказалось, зло. Хоть его настырно рекомендует везде и вся включать. ВОт сами попробуйте на своем конфиге, и я думаю что результат повторится. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Поверьте, я пробовал уже такое количество разных настроек. Пока что лучше чем то что вам написал не нашел. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Ну а все-таки кеш вкл/выкл. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Соответственно поделите на 4, если у вас всего гиг мозгов. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Соответственно поделите на 4, если у вас всего гиг мозгов. Собственно для 4 ядерного с 4 гигами Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А каким боком количество ядер влияет на настройки кешей ? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А каким боком количество ядер влияет на настройки кешей ? Там указано что у сервера RAM = 4Gb Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 OMG. Параметры настроек поделите на 4 - получите конфиг для 1 гига. И я так понимаю. Что разницы между количеством памяти и количеством ядер процессора вы не совсем понимаете. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне для 1 гига если у меня 4 гига? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Тю блин.. Вы бы написали сразу. Тогда прописывайте - как есть и все. Ну и если у вас 4 ядра - не лишним будет подстроить количество worker_process в nginx до 4х. А также уменьшить параметр swappines системы до 50, чтобы для mysql осталось достаточное количество памяти. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Так я про это уже три раза сказал. А у нгинкса там все в порядке. Я же хотел только подчеркнуть что кеш запросов в мускуле, как оказалось, зло. Хоть его настырно рекомендует везде и вся включать. ВОт сами попробуйте на своем конфиге, и я думаю что результат повторится. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Поверьте, я пробовал уже такое количество разных настроек. Пока что лучше чем то что вам написал не нашел. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Ну а все-таки кеш вкл/выкл. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Соответственно поделите на 4, если у вас всего гиг мозгов. Собственно для 4 ядерного с 4 гигами Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А каким боком количество ядер влияет на настройки кешей ? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А каким боком количество ядер влияет на настройки кешей ? Там указано что у сервера RAM = 4Gb Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 OMG. Параметры настроек поделите на 4 - получите конфиг для 1 гига. И я так понимаю. Что разницы между количеством памяти и количеством ядер процессора вы не совсем понимаете. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне для 1 гига если у меня 4 гига? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Тю блин.. Вы бы написали сразу. Тогда прописывайте - как есть и все. Ну и если у вас 4 ядра - не лишним будет подстроить количество worker_process в nginx до 4х. А также уменьшить параметр swappines системы до 50, чтобы для mysql осталось достаточное количество памяти. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Так я про это уже три раза сказал. А у нгинкса там все в порядке. Я же хотел только подчеркнуть что кеш запросов в мускуле, как оказалось, зло. Хоть его настырно рекомендует везде и вся включать. ВОт сами попробуйте на своем конфиге, и я думаю что результат повторится. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Поверьте, я пробовал уже такое количество разных настроек. Пока что лучше чем то что вам написал не нашел. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Ну а все-таки кеш вкл/выкл. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А каким боком количество ядер влияет на настройки кешей ? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А каким боком количество ядер влияет на настройки кешей ? Там указано что у сервера RAM = 4Gb Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 OMG. Параметры настроек поделите на 4 - получите конфиг для 1 гига. И я так понимаю. Что разницы между количеством памяти и количеством ядер процессора вы не совсем понимаете. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне для 1 гига если у меня 4 гига? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Тю блин.. Вы бы написали сразу. Тогда прописывайте - как есть и все. Ну и если у вас 4 ядра - не лишним будет подстроить количество worker_process в nginx до 4х. А также уменьшить параметр swappines системы до 50, чтобы для mysql осталось достаточное количество памяти. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Так я про это уже три раза сказал. А у нгинкса там все в порядке. Я же хотел только подчеркнуть что кеш запросов в мускуле, как оказалось, зло. Хоть его настырно рекомендует везде и вся включать. ВОт сами попробуйте на своем конфиге, и я думаю что результат повторится. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Поверьте, я пробовал уже такое количество разных настроек. Пока что лучше чем то что вам написал не нашел. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Ну а все-таки кеш вкл/выкл. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А каким боком количество ядер влияет на настройки кешей ? Там указано что у сервера RAM = 4Gb Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 OMG. Параметры настроек поделите на 4 - получите конфиг для 1 гига. И я так понимаю. Что разницы между количеством памяти и количеством ядер процессора вы не совсем понимаете. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне для 1 гига если у меня 4 гига? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Тю блин.. Вы бы написали сразу. Тогда прописывайте - как есть и все. Ну и если у вас 4 ядра - не лишним будет подстроить количество worker_process в nginx до 4х. А также уменьшить параметр swappines системы до 50, чтобы для mysql осталось достаточное количество памяти. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Так я про это уже три раза сказал. А у нгинкса там все в порядке. Я же хотел только подчеркнуть что кеш запросов в мускуле, как оказалось, зло. Хоть его настырно рекомендует везде и вся включать. ВОт сами попробуйте на своем конфиге, и я думаю что результат повторится. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Поверьте, я пробовал уже такое количество разных настроек. Пока что лучше чем то что вам написал не нашел. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Ну а все-таки кеш вкл/выкл. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 OMG. Параметры настроек поделите на 4 - получите конфиг для 1 гига. И я так понимаю. Что разницы между количеством памяти и количеством ядер процессора вы не совсем понимаете. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне для 1 гига если у меня 4 гига? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Тю блин.. Вы бы написали сразу. Тогда прописывайте - как есть и все. Ну и если у вас 4 ядра - не лишним будет подстроить количество worker_process в nginx до 4х. А также уменьшить параметр swappines системы до 50, чтобы для mysql осталось достаточное количество памяти. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Так я про это уже три раза сказал. А у нгинкса там все в порядке. Я же хотел только подчеркнуть что кеш запросов в мускуле, как оказалось, зло. Хоть его настырно рекомендует везде и вся включать. ВОт сами попробуйте на своем конфиге, и я думаю что результат повторится. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Поверьте, я пробовал уже такое количество разных настроек. Пока что лучше чем то что вам написал не нашел. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Ну а все-таки кеш вкл/выкл. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне для 1 гига если у меня 4 гига? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Тю блин.. Вы бы написали сразу. Тогда прописывайте - как есть и все. Ну и если у вас 4 ядра - не лишним будет подстроить количество worker_process в nginx до 4х. А также уменьшить параметр swappines системы до 50, чтобы для mysql осталось достаточное количество памяти. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Так я про это уже три раза сказал. А у нгинкса там все в порядке. Я же хотел только подчеркнуть что кеш запросов в мускуле, как оказалось, зло. Хоть его настырно рекомендует везде и вся включать. ВОт сами попробуйте на своем конфиге, и я думаю что результат повторится. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Поверьте, я пробовал уже такое количество разных настроек. Пока что лучше чем то что вам написал не нашел. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Ну а все-таки кеш вкл/выкл. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Тю блин.. Вы бы написали сразу. Тогда прописывайте - как есть и все. Ну и если у вас 4 ядра - не лишним будет подстроить количество worker_process в nginx до 4х. А также уменьшить параметр swappines системы до 50, чтобы для mysql осталось достаточное количество памяти. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Так я про это уже три раза сказал. А у нгинкса там все в порядке. Я же хотел только подчеркнуть что кеш запросов в мускуле, как оказалось, зло. Хоть его настырно рекомендует везде и вся включать. ВОт сами попробуйте на своем конфиге, и я думаю что результат повторится. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Поверьте, я пробовал уже такое количество разных настроек. Пока что лучше чем то что вам написал не нашел. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Ну а все-таки кеш вкл/выкл. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Так я про это уже три раза сказал. А у нгинкса там все в порядке. Я же хотел только подчеркнуть что кеш запросов в мускуле, как оказалось, зло. Хоть его настырно рекомендует везде и вся включать. ВОт сами попробуйте на своем конфиге, и я думаю что результат повторится. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Поверьте, я пробовал уже такое количество разных настроек. Пока что лучше чем то что вам написал не нашел. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Ну а все-таки кеш вкл/выкл. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Поверьте, я пробовал уже такое количество разных настроек. Пока что лучше чем то что вам написал не нашел. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Ну а все-таки кеш вкл/выкл. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Ну а все-таки кеш вкл/выкл. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 если хотите - можете провести эксперимент на магазине. Поменяйте в модели product Все SELECT на SELECT SQL_NO_CACHE и запустите loadimpact, чтобы нагрузочка пошла. После этого вернемся к обсуждению вопроса. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем мне сравнивать мяягкое с квадратным? Речь с самого начала шла о кеше запросов, не более. И у меня стоит query-cache-type = 0query-cache-size = 0 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Т.е. силами сообщества с подачи Топорчило в код ocsotore вносится изменение, которое как раз на полную и использует кеширование результатов запросов в базу. Если интересно какое именно - то вот тут на гитхабе. Вы же не разобравшись в истинной природе тормозов вашей системы, перечеркиваете это все, просто на основании частного случая. Ржу))) :ugeek: Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Дело в том что у меня как раз и стоит данное изменение. Но вот как оказалось, что данное решение не есть кросплатформенное, поскольку конечный пользователь не всегда может влиять на настройку программного окружения. Но вы ставите под сомнения мои результаты, даже не попробовав их повторить, хотя для этого достаточно заменить две строчки. Так что это я ржунимагу. P.S. И если вы внимательно смотрели в код внесенных изменений, то увидели бы что кеширование - это просто фича, основное и кардинальное назначение данной модификации именно в SQL_CALC_FOUND_ROWS Надіслати Поділитися на інших сайтах More sharing options... polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
polarnik Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 А зачем постоянно делать запрос, если можно его закешировать и вывести? Или оптимизация ради оптимизации? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Для тех, кому лень читать сначала: 1. MySQL тоже кэширует запросы 2. Система кэширование MySQL гораздо умнее и быстрее OpenCart - учитывает частоту и продолжительность запросов, хранит кэш в том числе в памяти 3. MySQL НЕ кэширует запросы с NOW() и т.п. Кеш мускуля увеличивает время запроса в 1,5 раза. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vladzimir Опубліковано: 18 листопада 2014 Share Опубліковано: 18 листопада 2014 Snastik привел пример настройки MySQL для своей системы. В phpMyAdmin можно посмотреть эффективность настройки вашей системы. Экспериментируйте. Поверьте, у Snastik'а достаточно опыта, чтобы говорить, что кэш SQL-запросов в большинстве случаев может ускорить. Хотя можно придумать базу, когда SQL-кэш будет только все портить. В вашем случае скорее всего дело в настройках МySQL. Хотя возможна и иная причина. Я ставил приведенные Snastik настройки себе, ситуация была аналогичной. Включил кеш - тормоза, отключил - летает. У меня появилась догадка, я ее обосновал, все критикуют, но никто не пытался повторить и опровергнуть ее. Почему так? Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vladzimir Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Продолжаем программу телепередач на завтра. Теперь я вроде бы начинаю понимать недоумение kikasso по поводу SQL-кеша. Задача для любознательных. В my.cnf включаем кеш запросов только по требованию (query-cache-type = DEMAND, query-cache-size = 16M), и в моделе product вносим небольшую правку, в запросе с SQL_CALC_FOUND_ROWS после SELECT вставляем SQL_CACHE. Теперь заходим в любую категорию, а из категории в любой товар. Возвращаемся обратно в ту же категорию и снова в любой товар. Повторяем это несколько раз. Потом идем в phpMyAdmin и делаем запрос на вывод информации по нашему кешированию запросов. SHOW GLOBAL STATUS LIKE 'Qcache%' Выйдет примерно следующая табличка. Qcache_free_blocks 1 Qcache_free_memory 16754024 Qcache_hits 2 Qcache_inserts 249 Qcache_lowmem_prunes 0 Qcache_not_cached 76602 Qcache_queries_in_cache 0 Qcache_total_blocks 10 Обращаем внимание на Qcache_hits (запросов из кеша), Qcache_inserts (вставок в кеш), Qcache_queries_in_cache (количество закешированных запросов). Удивляемся почему Qcache_queries_in_cache равно 0, офигиваем от соотношения вставлено/получено, и начинаем разбираться, как же так что кеш пишется, но практически никогда не читается, да и сам кеш куда-то испарился. Жду ответы :-) Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 $this->NOW = date('Y-m-d H').':00:00'; Розачарую вас, но это уже стояло по умолчанию. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Ваше исследование очень полезно! Следующее мое подозрение - отключите вот эту дрянь: public function updateViewed($product_id) { $this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'"); } Возможно постоянное изменение таблицы product при просмотре товара сбрасывает кэш. В самую "дырочку"! А еще кеш будет сбрасываться при оформлении заказа, если у товаров стоит статус "вычитать со склада". Да и кеш должен работать не менее часа Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Серверная оптимизация OpenCart
snastik Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Запрос на выборку товаров - не такой и тяжелый.А вот дерево категорий. Там кеш живет отлично.И самое главное это кеш сео про. Запрос на 10 000 товаров к примеру каждый раз обрабатывает 10 000 строк. При любых раскладах. И вот для этой ситуации отключать кеширование на уровне mysql совсем не здравая идея.И к тому же там нет привязок к датам. Так что жить может хоть сутки. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 536 переглядів Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 128 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 589 переглядів MaxD 7 листопада Модуль [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще %d) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 852 відповіді 239 944 перегляди markimax 13 жовтня seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 942 перегляди Sha 18 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Vladzimir Опубліковано: 20 листопада 2014 Share Опубліковано: 20 листопада 2014 Еще обнаружил проблему с кешем. Пытался закешировать простой запрос, средствами mysql $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); Тут же возрастает время генерации страницы. Скорее всего кеш mysql эффективен только на небольших данных. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts