TpyHT Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 Здравствуйте, есть магазин керамической плитки www.ridaprom.ru, товаров 7000, категорий 700, очень долго грузится первая страница, причем все очень оптимизировано, подгрузки аяксом и тп, долгих запросов к базе нет, непонятно почему все работает так медленно. Причем если проверять скорость загрузки сайта, то видно что около 5-6 секунд идет получение header'ов http, т.е. он ищет хост и получает хэдеры целых 5 секунд. Как я понимаю проблема может быть в генерации самой страницы, но непонятно почему так долго генерируется страница, как это можно проверить/просмотреть время генерации, куда поставить чтобы показывалось общее время генерации страницы (если засунуть в контроллер страницы, то не будет учитываться время генерации подключаемых модулей, контроллеров и тп). МОжет у кого то были такие проблемы, какие есть варианты решения? Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 index.php Надіслати Поділитися на інших сайтах More sharing options... Dudios Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 У меня Ваш магазин загрузился достаточно быстро. Секунда-полторы. Может просто на тот момент были непорядки с хостингом? Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 index.php Ставил в индексе уже пробовал, почемуто выдает буквально милисекунды время генерации, сайт долго грузится даже на денвере почему то. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 GET / HTTP/1.1 Host: www.ridaprom.ru 20 сек без малого. а где в индексе замеряли? Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 при чем статику отдает за миллисекунды Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 В том то и дело что статика вообще летает, а вто хэдэры непонятно как, то за 2 секунды сайт грузиться, то по 10 секунд, непонятно вообще в индексе так и ставил сверху начальное время, снизу вывод конечного перед респонзом. И показывает малое время. В файле где хэдеры менял только тип на public, чтобы на несуществующих страницах отдавать 404 ошибку. Смотрел запросы к базе вообще все быстро. В чем дело не пойму, может из-за кэширования, там около 8000 файлов в папке кэш лежит. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 замерьте сам response, попробуйте убрать сжатие Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 есть результаты? интересно в чем же дело Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Freelancer, напишите свою аську мне в личку или стукнитесь 877740, думаю так будет лучше общаться чем на форуме, если найдем решение выложим сюда для следующих поколений =) Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 $controller->dispatch($action, new Action('error/not_found')); Эта строчка убивает 6 секунд времени =) как раз таки генерация страницы, чего впрочем и следовало ожидать. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Респонз милисикунды. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 да, но dispatch обрабатывает не один action, ещё пару pre_action точно.. у вас есть возможность замерить скорость каждого? возможно какой-нибудь seo_url тормозит Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 ну а если тормозит главный action, не всё оптимизированно Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Вообщем замерил скорость генерации главной страницы, в контроллере common/home - 7 секунд на денвере. Методом исключения нашел два места, где тупит по 3,5 секунды - 1 как это не смешно стандартная функция движка getCategories (не в модели, а где он пробегает все категории), видимо из-за количества категорий, хотя и не должно по идее, убрал эту функцию в аяксовый подгрузчик, сайт стал загружаться на 3-4 секунды быстрее, уже что-то. Второе место, это собственно вывод $this->response->setOutput($this->render(TRUE), $this->config->get('config_compression')); Степень сжатия пробовал разную, все равно не помогает. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 По тесту site-perf.com сайт стал грузиться в 2 раза быстрее. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Проблема решена! Вообщем залез в самые недры движка, поставил тупо на выдачу каждого контроллера время генерации. Для главной страницы выдалось 0.0131838321686 cart 0.025111913681 featured 0.0506310462952 column_right 0.307255029678 category 0.310930013657 column_left 0.00345706939697 footer 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. Вообщем какой можно сделать вывод, лучше сразу отключать эту функцию при создании сайта, а так вообще ее в движке лучше оптизировать изначально, как вариант по моему лучше сразу брать из базы все категории которые только есть и дальше уже делать сортировку массива по parent_id . 1 Надіслати Поділитися на інших сайтах More sharing options... Dimkas0 Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 Очень красивый магазин у вас! Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. очень интересно.., а эта функция getCategories, где именно вызывается? (файл и номер строки)пару раз на форуме проскакивали на неё жалобы, может будет время посмотрю что с ней не так. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 да, летает =) хороший пример магазина на opencart в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Спасибо за отзывы =) getCategories вызывается в 122 строке файла catalog/controller/common/header.php . Функция собирает все категории для выдачи в строчке поиска (когда выбираешь в какой категории искать), у меня на сайте она еще подгружается и в поиске (тот что на главной странице с параметрами), в стандартном движке один раз в контроллере хэдера. Сама функция private function getCategories($parent_id, $level = 0) { $level++; $data = array(); $results = $this->model_catalog_category->getCategories($parent_id); foreach ($results as $result) { $data[] = array( 'category_id' => $result['category_id'], 'name' => str_repeat(' ', $level) . $result['name'] ); $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } return $data; } Получаем при 1000 категорий более 1000 закпросов к базе $this->model_catalog_category->getCategories . У меня в магазине 1 уровень вложенности можно по идее просто было бы убрать рекурсивный вызов для дочерних категорий, т.к. понятно что у коллекций плитки подктегорий нет. Вообщем это нужно как то оптимизировать в самом движке. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 а версия движка? как вариант можно читать все категории разом, в коде строить дерево и его же кешировать. может даже есть смысл кешировать поддеревья. будет время займусь на выходных Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Версия 0.2.2. Да, я про это и говорю, что нежели чем посылать тысячи запросов к базе при каждом открытии страницы (хотя там и не при каждом, ведь инфа береться из кэша, но один фиг брать из кэша 1000 категорий = 1000 файлов), лучше один раз взять все категории, и уже сортировать их. Не думаю что это будет сложно реализовать. Эта функция используется в поиске, поставил просто условие if ($level<2) { $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } Время загрузки уменьтшилось с 5 до 0,7 секунд на Денвере (аяксом загружается форма поиска). 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... freelancer Опубліковано: 8 грудня 2011 Share Опубліковано: 8 грудня 2011 тестировал на 1000 категориях старый способ__________новый первый раз 11.091_________________0.481 последующие(кеш) 17.111_________________0.009 правда, ещё следует сделать поддержку seo category_cache.zip Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Yesvik Опубліковано: 17 грудня 2011 Share Опубліковано: 17 грудня 2011 ТруНТ Вы зря проигнорировали сообщение в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Каждый раз при выводе страницы категории или производителя дополнительно генерится страница ошибки на которой список категорий так-же присутствует. Намёк о том как весело серваку понятен? А вывод товаров с помощью javascript сделан умышленно что-бы поисковики не видели товаров? http://hghltd.yandex...3f3313b&keyno=0 http://webcache.goog...prom.ru&ct=clnk Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 1 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Магазин долго грузится Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Dudios Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 У меня Ваш магазин загрузился достаточно быстро. Секунда-полторы. Может просто на тот момент были непорядки с хостингом? Надіслати Поділитися на інших сайтах More sharing options...
TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 index.php Ставил в индексе уже пробовал, почемуто выдает буквально милисекунды время генерации, сайт долго грузится даже на денвере почему то. Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 GET / HTTP/1.1 Host: www.ridaprom.ru 20 сек без малого. а где в индексе замеряли? Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 при чем статику отдает за миллисекунды Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 В том то и дело что статика вообще летает, а вто хэдэры непонятно как, то за 2 секунды сайт грузиться, то по 10 секунд, непонятно вообще в индексе так и ставил сверху начальное время, снизу вывод конечного перед респонзом. И показывает малое время. В файле где хэдеры менял только тип на public, чтобы на несуществующих страницах отдавать 404 ошибку. Смотрел запросы к базе вообще все быстро. В чем дело не пойму, может из-за кэширования, там около 8000 файлов в папке кэш лежит. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 замерьте сам response, попробуйте убрать сжатие Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 есть результаты? интересно в чем же дело Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Freelancer, напишите свою аську мне в личку или стукнитесь 877740, думаю так будет лучше общаться чем на форуме, если найдем решение выложим сюда для следующих поколений =) Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 $controller->dispatch($action, new Action('error/not_found')); Эта строчка убивает 6 секунд времени =) как раз таки генерация страницы, чего впрочем и следовало ожидать. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Респонз милисикунды. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 да, но dispatch обрабатывает не один action, ещё пару pre_action точно.. у вас есть возможность замерить скорость каждого? возможно какой-нибудь seo_url тормозит Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 ну а если тормозит главный action, не всё оптимизированно Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Вообщем замерил скорость генерации главной страницы, в контроллере common/home - 7 секунд на денвере. Методом исключения нашел два места, где тупит по 3,5 секунды - 1 как это не смешно стандартная функция движка getCategories (не в модели, а где он пробегает все категории), видимо из-за количества категорий, хотя и не должно по идее, убрал эту функцию в аяксовый подгрузчик, сайт стал загружаться на 3-4 секунды быстрее, уже что-то. Второе место, это собственно вывод $this->response->setOutput($this->render(TRUE), $this->config->get('config_compression')); Степень сжатия пробовал разную, все равно не помогает. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 По тесту site-perf.com сайт стал грузиться в 2 раза быстрее. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Проблема решена! Вообщем залез в самые недры движка, поставил тупо на выдачу каждого контроллера время генерации. Для главной страницы выдалось 0.0131838321686 cart 0.025111913681 featured 0.0506310462952 column_right 0.307255029678 category 0.310930013657 column_left 0.00345706939697 footer 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. Вообщем какой можно сделать вывод, лучше сразу отключать эту функцию при создании сайта, а так вообще ее в движке лучше оптизировать изначально, как вариант по моему лучше сразу брать из базы все категории которые только есть и дальше уже делать сортировку массива по parent_id . 1 Надіслати Поділитися на інших сайтах More sharing options... Dimkas0 Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 Очень красивый магазин у вас! Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. очень интересно.., а эта функция getCategories, где именно вызывается? (файл и номер строки)пару раз на форуме проскакивали на неё жалобы, может будет время посмотрю что с ней не так. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 да, летает =) хороший пример магазина на opencart в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Спасибо за отзывы =) getCategories вызывается в 122 строке файла catalog/controller/common/header.php . Функция собирает все категории для выдачи в строчке поиска (когда выбираешь в какой категории искать), у меня на сайте она еще подгружается и в поиске (тот что на главной странице с параметрами), в стандартном движке один раз в контроллере хэдера. Сама функция private function getCategories($parent_id, $level = 0) { $level++; $data = array(); $results = $this->model_catalog_category->getCategories($parent_id); foreach ($results as $result) { $data[] = array( 'category_id' => $result['category_id'], 'name' => str_repeat(' ', $level) . $result['name'] ); $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } return $data; } Получаем при 1000 категорий более 1000 закпросов к базе $this->model_catalog_category->getCategories . У меня в магазине 1 уровень вложенности можно по идее просто было бы убрать рекурсивный вызов для дочерних категорий, т.к. понятно что у коллекций плитки подктегорий нет. Вообщем это нужно как то оптимизировать в самом движке. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 а версия движка? как вариант можно читать все категории разом, в коде строить дерево и его же кешировать. может даже есть смысл кешировать поддеревья. будет время займусь на выходных Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Версия 0.2.2. Да, я про это и говорю, что нежели чем посылать тысячи запросов к базе при каждом открытии страницы (хотя там и не при каждом, ведь инфа береться из кэша, но один фиг брать из кэша 1000 категорий = 1000 файлов), лучше один раз взять все категории, и уже сортировать их. Не думаю что это будет сложно реализовать. Эта функция используется в поиске, поставил просто условие if ($level<2) { $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } Время загрузки уменьтшилось с 5 до 0,7 секунд на Денвере (аяксом загружается форма поиска). 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... freelancer Опубліковано: 8 грудня 2011 Share Опубліковано: 8 грудня 2011 тестировал на 1000 категориях старый способ__________новый первый раз 11.091_________________0.481 последующие(кеш) 17.111_________________0.009 правда, ещё следует сделать поддержку seo category_cache.zip Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Yesvik Опубліковано: 17 грудня 2011 Share Опубліковано: 17 грудня 2011 ТруНТ Вы зря проигнорировали сообщение в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Каждый раз при выводе страницы категории или производителя дополнительно генерится страница ошибки на которой список категорий так-же присутствует. Намёк о том как весело серваку понятен? А вывод товаров с помощью javascript сделан умышленно что-бы поисковики не видели товаров? http://hghltd.yandex...3f3313b&keyno=0 http://webcache.goog...prom.ru&ct=clnk Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 1 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Магазин долго грузится Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 при чем статику отдает за миллисекунды Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 В том то и дело что статика вообще летает, а вто хэдэры непонятно как, то за 2 секунды сайт грузиться, то по 10 секунд, непонятно вообще в индексе так и ставил сверху начальное время, снизу вывод конечного перед респонзом. И показывает малое время. В файле где хэдеры менял только тип на public, чтобы на несуществующих страницах отдавать 404 ошибку. Смотрел запросы к базе вообще все быстро. В чем дело не пойму, может из-за кэширования, там около 8000 файлов в папке кэш лежит. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 замерьте сам response, попробуйте убрать сжатие Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 есть результаты? интересно в чем же дело Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Freelancer, напишите свою аську мне в личку или стукнитесь 877740, думаю так будет лучше общаться чем на форуме, если найдем решение выложим сюда для следующих поколений =) Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 $controller->dispatch($action, new Action('error/not_found')); Эта строчка убивает 6 секунд времени =) как раз таки генерация страницы, чего впрочем и следовало ожидать. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Респонз милисикунды. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 да, но dispatch обрабатывает не один action, ещё пару pre_action точно.. у вас есть возможность замерить скорость каждого? возможно какой-нибудь seo_url тормозит Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 ну а если тормозит главный action, не всё оптимизированно Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Вообщем замерил скорость генерации главной страницы, в контроллере common/home - 7 секунд на денвере. Методом исключения нашел два места, где тупит по 3,5 секунды - 1 как это не смешно стандартная функция движка getCategories (не в модели, а где он пробегает все категории), видимо из-за количества категорий, хотя и не должно по идее, убрал эту функцию в аяксовый подгрузчик, сайт стал загружаться на 3-4 секунды быстрее, уже что-то. Второе место, это собственно вывод $this->response->setOutput($this->render(TRUE), $this->config->get('config_compression')); Степень сжатия пробовал разную, все равно не помогает. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 По тесту site-perf.com сайт стал грузиться в 2 раза быстрее. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Проблема решена! Вообщем залез в самые недры движка, поставил тупо на выдачу каждого контроллера время генерации. Для главной страницы выдалось 0.0131838321686 cart 0.025111913681 featured 0.0506310462952 column_right 0.307255029678 category 0.310930013657 column_left 0.00345706939697 footer 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. Вообщем какой можно сделать вывод, лучше сразу отключать эту функцию при создании сайта, а так вообще ее в движке лучше оптизировать изначально, как вариант по моему лучше сразу брать из базы все категории которые только есть и дальше уже делать сортировку массива по parent_id . 1 Надіслати Поділитися на інших сайтах More sharing options... Dimkas0 Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 Очень красивый магазин у вас! Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. очень интересно.., а эта функция getCategories, где именно вызывается? (файл и номер строки)пару раз на форуме проскакивали на неё жалобы, может будет время посмотрю что с ней не так. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 да, летает =) хороший пример магазина на opencart в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Спасибо за отзывы =) getCategories вызывается в 122 строке файла catalog/controller/common/header.php . Функция собирает все категории для выдачи в строчке поиска (когда выбираешь в какой категории искать), у меня на сайте она еще подгружается и в поиске (тот что на главной странице с параметрами), в стандартном движке один раз в контроллере хэдера. Сама функция private function getCategories($parent_id, $level = 0) { $level++; $data = array(); $results = $this->model_catalog_category->getCategories($parent_id); foreach ($results as $result) { $data[] = array( 'category_id' => $result['category_id'], 'name' => str_repeat(' ', $level) . $result['name'] ); $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } return $data; } Получаем при 1000 категорий более 1000 закпросов к базе $this->model_catalog_category->getCategories . У меня в магазине 1 уровень вложенности можно по идее просто было бы убрать рекурсивный вызов для дочерних категорий, т.к. понятно что у коллекций плитки подктегорий нет. Вообщем это нужно как то оптимизировать в самом движке. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 а версия движка? как вариант можно читать все категории разом, в коде строить дерево и его же кешировать. может даже есть смысл кешировать поддеревья. будет время займусь на выходных Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Версия 0.2.2. Да, я про это и говорю, что нежели чем посылать тысячи запросов к базе при каждом открытии страницы (хотя там и не при каждом, ведь инфа береться из кэша, но один фиг брать из кэша 1000 категорий = 1000 файлов), лучше один раз взять все категории, и уже сортировать их. Не думаю что это будет сложно реализовать. Эта функция используется в поиске, поставил просто условие if ($level<2) { $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } Время загрузки уменьтшилось с 5 до 0,7 секунд на Денвере (аяксом загружается форма поиска). 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... freelancer Опубліковано: 8 грудня 2011 Share Опубліковано: 8 грудня 2011 тестировал на 1000 категориях старый способ__________новый первый раз 11.091_________________0.481 последующие(кеш) 17.111_________________0.009 правда, ещё следует сделать поддержку seo category_cache.zip Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Yesvik Опубліковано: 17 грудня 2011 Share Опубліковано: 17 грудня 2011 ТруНТ Вы зря проигнорировали сообщение в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Каждый раз при выводе страницы категории или производителя дополнительно генерится страница ошибки на которой список категорий так-же присутствует. Намёк о том как весело серваку понятен? А вывод товаров с помощью javascript сделан умышленно что-бы поисковики не видели товаров? http://hghltd.yandex...3f3313b&keyno=0 http://webcache.goog...prom.ru&ct=clnk Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 1 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Магазин долго грузится Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 В том то и дело что статика вообще летает, а вто хэдэры непонятно как, то за 2 секунды сайт грузиться, то по 10 секунд, непонятно вообще в индексе так и ставил сверху начальное время, снизу вывод конечного перед респонзом. И показывает малое время. В файле где хэдеры менял только тип на public, чтобы на несуществующих страницах отдавать 404 ошибку. Смотрел запросы к базе вообще все быстро. В чем дело не пойму, может из-за кэширования, там около 8000 файлов в папке кэш лежит. Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 замерьте сам response, попробуйте убрать сжатие Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 есть результаты? интересно в чем же дело Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Freelancer, напишите свою аську мне в личку или стукнитесь 877740, думаю так будет лучше общаться чем на форуме, если найдем решение выложим сюда для следующих поколений =) Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 $controller->dispatch($action, new Action('error/not_found')); Эта строчка убивает 6 секунд времени =) как раз таки генерация страницы, чего впрочем и следовало ожидать. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Респонз милисикунды. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 да, но dispatch обрабатывает не один action, ещё пару pre_action точно.. у вас есть возможность замерить скорость каждого? возможно какой-нибудь seo_url тормозит Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 ну а если тормозит главный action, не всё оптимизированно Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Вообщем замерил скорость генерации главной страницы, в контроллере common/home - 7 секунд на денвере. Методом исключения нашел два места, где тупит по 3,5 секунды - 1 как это не смешно стандартная функция движка getCategories (не в модели, а где он пробегает все категории), видимо из-за количества категорий, хотя и не должно по идее, убрал эту функцию в аяксовый подгрузчик, сайт стал загружаться на 3-4 секунды быстрее, уже что-то. Второе место, это собственно вывод $this->response->setOutput($this->render(TRUE), $this->config->get('config_compression')); Степень сжатия пробовал разную, все равно не помогает. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 По тесту site-perf.com сайт стал грузиться в 2 раза быстрее. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Проблема решена! Вообщем залез в самые недры движка, поставил тупо на выдачу каждого контроллера время генерации. Для главной страницы выдалось 0.0131838321686 cart 0.025111913681 featured 0.0506310462952 column_right 0.307255029678 category 0.310930013657 column_left 0.00345706939697 footer 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. Вообщем какой можно сделать вывод, лучше сразу отключать эту функцию при создании сайта, а так вообще ее в движке лучше оптизировать изначально, как вариант по моему лучше сразу брать из базы все категории которые только есть и дальше уже делать сортировку массива по parent_id . 1 Надіслати Поділитися на інших сайтах More sharing options... Dimkas0 Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 Очень красивый магазин у вас! Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. очень интересно.., а эта функция getCategories, где именно вызывается? (файл и номер строки)пару раз на форуме проскакивали на неё жалобы, может будет время посмотрю что с ней не так. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 да, летает =) хороший пример магазина на opencart в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Спасибо за отзывы =) getCategories вызывается в 122 строке файла catalog/controller/common/header.php . Функция собирает все категории для выдачи в строчке поиска (когда выбираешь в какой категории искать), у меня на сайте она еще подгружается и в поиске (тот что на главной странице с параметрами), в стандартном движке один раз в контроллере хэдера. Сама функция private function getCategories($parent_id, $level = 0) { $level++; $data = array(); $results = $this->model_catalog_category->getCategories($parent_id); foreach ($results as $result) { $data[] = array( 'category_id' => $result['category_id'], 'name' => str_repeat(' ', $level) . $result['name'] ); $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } return $data; } Получаем при 1000 категорий более 1000 закпросов к базе $this->model_catalog_category->getCategories . У меня в магазине 1 уровень вложенности можно по идее просто было бы убрать рекурсивный вызов для дочерних категорий, т.к. понятно что у коллекций плитки подктегорий нет. Вообщем это нужно как то оптимизировать в самом движке. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 а версия движка? как вариант можно читать все категории разом, в коде строить дерево и его же кешировать. может даже есть смысл кешировать поддеревья. будет время займусь на выходных Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Версия 0.2.2. Да, я про это и говорю, что нежели чем посылать тысячи запросов к базе при каждом открытии страницы (хотя там и не при каждом, ведь инфа береться из кэша, но один фиг брать из кэша 1000 категорий = 1000 файлов), лучше один раз взять все категории, и уже сортировать их. Не думаю что это будет сложно реализовать. Эта функция используется в поиске, поставил просто условие if ($level<2) { $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } Время загрузки уменьтшилось с 5 до 0,7 секунд на Денвере (аяксом загружается форма поиска). 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... freelancer Опубліковано: 8 грудня 2011 Share Опубліковано: 8 грудня 2011 тестировал на 1000 категориях старый способ__________новый первый раз 11.091_________________0.481 последующие(кеш) 17.111_________________0.009 правда, ещё следует сделать поддержку seo category_cache.zip Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Yesvik Опубліковано: 17 грудня 2011 Share Опубліковано: 17 грудня 2011 ТруНТ Вы зря проигнорировали сообщение в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Каждый раз при выводе страницы категории или производителя дополнительно генерится страница ошибки на которой список категорий так-же присутствует. Намёк о том как весело серваку понятен? А вывод товаров с помощью javascript сделан умышленно что-бы поисковики не видели товаров? http://hghltd.yandex...3f3313b&keyno=0 http://webcache.goog...prom.ru&ct=clnk Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 1 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Магазин долго грузится Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 есть результаты? интересно в чем же дело Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Freelancer, напишите свою аську мне в личку или стукнитесь 877740, думаю так будет лучше общаться чем на форуме, если найдем решение выложим сюда для следующих поколений =) Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 $controller->dispatch($action, new Action('error/not_found')); Эта строчка убивает 6 секунд времени =) как раз таки генерация страницы, чего впрочем и следовало ожидать. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Респонз милисикунды. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 да, но dispatch обрабатывает не один action, ещё пару pre_action точно.. у вас есть возможность замерить скорость каждого? возможно какой-нибудь seo_url тормозит Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 ну а если тормозит главный action, не всё оптимизированно Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Вообщем замерил скорость генерации главной страницы, в контроллере common/home - 7 секунд на денвере. Методом исключения нашел два места, где тупит по 3,5 секунды - 1 как это не смешно стандартная функция движка getCategories (не в модели, а где он пробегает все категории), видимо из-за количества категорий, хотя и не должно по идее, убрал эту функцию в аяксовый подгрузчик, сайт стал загружаться на 3-4 секунды быстрее, уже что-то. Второе место, это собственно вывод $this->response->setOutput($this->render(TRUE), $this->config->get('config_compression')); Степень сжатия пробовал разную, все равно не помогает. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 По тесту site-perf.com сайт стал грузиться в 2 раза быстрее. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Проблема решена! Вообщем залез в самые недры движка, поставил тупо на выдачу каждого контроллера время генерации. Для главной страницы выдалось 0.0131838321686 cart 0.025111913681 featured 0.0506310462952 column_right 0.307255029678 category 0.310930013657 column_left 0.00345706939697 footer 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. Вообщем какой можно сделать вывод, лучше сразу отключать эту функцию при создании сайта, а так вообще ее в движке лучше оптизировать изначально, как вариант по моему лучше сразу брать из базы все категории которые только есть и дальше уже делать сортировку массива по parent_id . 1 Надіслати Поділитися на інших сайтах More sharing options... Dimkas0 Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 Очень красивый магазин у вас! Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. очень интересно.., а эта функция getCategories, где именно вызывается? (файл и номер строки)пару раз на форуме проскакивали на неё жалобы, может будет время посмотрю что с ней не так. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 да, летает =) хороший пример магазина на opencart в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Спасибо за отзывы =) getCategories вызывается в 122 строке файла catalog/controller/common/header.php . Функция собирает все категории для выдачи в строчке поиска (когда выбираешь в какой категории искать), у меня на сайте она еще подгружается и в поиске (тот что на главной странице с параметрами), в стандартном движке один раз в контроллере хэдера. Сама функция private function getCategories($parent_id, $level = 0) { $level++; $data = array(); $results = $this->model_catalog_category->getCategories($parent_id); foreach ($results as $result) { $data[] = array( 'category_id' => $result['category_id'], 'name' => str_repeat(' ', $level) . $result['name'] ); $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } return $data; } Получаем при 1000 категорий более 1000 закпросов к базе $this->model_catalog_category->getCategories . У меня в магазине 1 уровень вложенности можно по идее просто было бы убрать рекурсивный вызов для дочерних категорий, т.к. понятно что у коллекций плитки подктегорий нет. Вообщем это нужно как то оптимизировать в самом движке. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 а версия движка? как вариант можно читать все категории разом, в коде строить дерево и его же кешировать. может даже есть смысл кешировать поддеревья. будет время займусь на выходных Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Версия 0.2.2. Да, я про это и говорю, что нежели чем посылать тысячи запросов к базе при каждом открытии страницы (хотя там и не при каждом, ведь инфа береться из кэша, но один фиг брать из кэша 1000 категорий = 1000 файлов), лучше один раз взять все категории, и уже сортировать их. Не думаю что это будет сложно реализовать. Эта функция используется в поиске, поставил просто условие if ($level<2) { $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } Время загрузки уменьтшилось с 5 до 0,7 секунд на Денвере (аяксом загружается форма поиска). 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... freelancer Опубліковано: 8 грудня 2011 Share Опубліковано: 8 грудня 2011 тестировал на 1000 категориях старый способ__________новый первый раз 11.091_________________0.481 последующие(кеш) 17.111_________________0.009 правда, ещё следует сделать поддержку seo category_cache.zip Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Yesvik Опубліковано: 17 грудня 2011 Share Опубліковано: 17 грудня 2011 ТруНТ Вы зря проигнорировали сообщение в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Каждый раз при выводе страницы категории или производителя дополнительно генерится страница ошибки на которой список категорий так-же присутствует. Намёк о том как весело серваку понятен? А вывод товаров с помощью javascript сделан умышленно что-бы поисковики не видели товаров? http://hghltd.yandex...3f3313b&keyno=0 http://webcache.goog...prom.ru&ct=clnk Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 1 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Магазин долго грузится Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Freelancer, напишите свою аську мне в личку или стукнитесь 877740, думаю так будет лучше общаться чем на форуме, если найдем решение выложим сюда для следующих поколений =) Надіслати Поділитися на інших сайтах More sharing options...
TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 $controller->dispatch($action, new Action('error/not_found')); Эта строчка убивает 6 секунд времени =) как раз таки генерация страницы, чего впрочем и следовало ожидать. Надіслати Поділитися на інших сайтах More sharing options...
TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Респонз милисикунды. Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 да, но dispatch обрабатывает не один action, ещё пару pre_action точно.. у вас есть возможность замерить скорость каждого? возможно какой-нибудь seo_url тормозит Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 ну а если тормозит главный action, не всё оптимизированно Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Вообщем замерил скорость генерации главной страницы, в контроллере common/home - 7 секунд на денвере. Методом исключения нашел два места, где тупит по 3,5 секунды - 1 как это не смешно стандартная функция движка getCategories (не в модели, а где он пробегает все категории), видимо из-за количества категорий, хотя и не должно по идее, убрал эту функцию в аяксовый подгрузчик, сайт стал загружаться на 3-4 секунды быстрее, уже что-то. Второе место, это собственно вывод $this->response->setOutput($this->render(TRUE), $this->config->get('config_compression')); Степень сжатия пробовал разную, все равно не помогает. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 По тесту site-perf.com сайт стал грузиться в 2 раза быстрее. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Проблема решена! Вообщем залез в самые недры движка, поставил тупо на выдачу каждого контроллера время генерации. Для главной страницы выдалось 0.0131838321686 cart 0.025111913681 featured 0.0506310462952 column_right 0.307255029678 category 0.310930013657 column_left 0.00345706939697 footer 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. Вообщем какой можно сделать вывод, лучше сразу отключать эту функцию при создании сайта, а так вообще ее в движке лучше оптизировать изначально, как вариант по моему лучше сразу брать из базы все категории которые только есть и дальше уже делать сортировку массива по parent_id . 1 Надіслати Поділитися на інших сайтах More sharing options... Dimkas0 Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 Очень красивый магазин у вас! Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. очень интересно.., а эта функция getCategories, где именно вызывается? (файл и номер строки)пару раз на форуме проскакивали на неё жалобы, может будет время посмотрю что с ней не так. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 да, летает =) хороший пример магазина на opencart в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Спасибо за отзывы =) getCategories вызывается в 122 строке файла catalog/controller/common/header.php . Функция собирает все категории для выдачи в строчке поиска (когда выбираешь в какой категории искать), у меня на сайте она еще подгружается и в поиске (тот что на главной странице с параметрами), в стандартном движке один раз в контроллере хэдера. Сама функция private function getCategories($parent_id, $level = 0) { $level++; $data = array(); $results = $this->model_catalog_category->getCategories($parent_id); foreach ($results as $result) { $data[] = array( 'category_id' => $result['category_id'], 'name' => str_repeat(' ', $level) . $result['name'] ); $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } return $data; } Получаем при 1000 категорий более 1000 закпросов к базе $this->model_catalog_category->getCategories . У меня в магазине 1 уровень вложенности можно по идее просто было бы убрать рекурсивный вызов для дочерних категорий, т.к. понятно что у коллекций плитки подктегорий нет. Вообщем это нужно как то оптимизировать в самом движке. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 а версия движка? как вариант можно читать все категории разом, в коде строить дерево и его же кешировать. может даже есть смысл кешировать поддеревья. будет время займусь на выходных Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Версия 0.2.2. Да, я про это и говорю, что нежели чем посылать тысячи запросов к базе при каждом открытии страницы (хотя там и не при каждом, ведь инфа береться из кэша, но один фиг брать из кэша 1000 категорий = 1000 файлов), лучше один раз взять все категории, и уже сортировать их. Не думаю что это будет сложно реализовать. Эта функция используется в поиске, поставил просто условие if ($level<2) { $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } Время загрузки уменьтшилось с 5 до 0,7 секунд на Денвере (аяксом загружается форма поиска). 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... freelancer Опубліковано: 8 грудня 2011 Share Опубліковано: 8 грудня 2011 тестировал на 1000 категориях старый способ__________новый первый раз 11.091_________________0.481 последующие(кеш) 17.111_________________0.009 правда, ещё следует сделать поддержку seo category_cache.zip Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Yesvik Опубліковано: 17 грудня 2011 Share Опубліковано: 17 грудня 2011 ТруНТ Вы зря проигнорировали сообщение в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Каждый раз при выводе страницы категории или производителя дополнительно генерится страница ошибки на которой список категорий так-же присутствует. Намёк о том как весело серваку понятен? А вывод товаров с помощью javascript сделан умышленно что-бы поисковики не видели товаров? http://hghltd.yandex...3f3313b&keyno=0 http://webcache.goog...prom.ru&ct=clnk Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 1 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Магазин долго грузится Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
freelancer Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 ну а если тормозит главный action, не всё оптимизированно Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Вообщем замерил скорость генерации главной страницы, в контроллере common/home - 7 секунд на денвере. Методом исключения нашел два места, где тупит по 3,5 секунды - 1 как это не смешно стандартная функция движка getCategories (не в модели, а где он пробегает все категории), видимо из-за количества категорий, хотя и не должно по идее, убрал эту функцию в аяксовый подгрузчик, сайт стал загружаться на 3-4 секунды быстрее, уже что-то. Второе место, это собственно вывод $this->response->setOutput($this->render(TRUE), $this->config->get('config_compression')); Степень сжатия пробовал разную, все равно не помогает. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 По тесту site-perf.com сайт стал грузиться в 2 раза быстрее. Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Проблема решена! Вообщем залез в самые недры движка, поставил тупо на выдачу каждого контроллера время генерации. Для главной страницы выдалось 0.0131838321686 cart 0.025111913681 featured 0.0506310462952 column_right 0.307255029678 category 0.310930013657 column_left 0.00345706939697 footer 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. Вообщем какой можно сделать вывод, лучше сразу отключать эту функцию при создании сайта, а так вообще ее в движке лучше оптизировать изначально, как вариант по моему лучше сразу брать из базы все категории которые только есть и дальше уже делать сортировку массива по parent_id . 1 Надіслати Поділитися на інших сайтах More sharing options... Dimkas0 Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 Очень красивый магазин у вас! Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. очень интересно.., а эта функция getCategories, где именно вызывается? (файл и номер строки)пару раз на форуме проскакивали на неё жалобы, может будет время посмотрю что с ней не так. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 да, летает =) хороший пример магазина на opencart в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Спасибо за отзывы =) getCategories вызывается в 122 строке файла catalog/controller/common/header.php . Функция собирает все категории для выдачи в строчке поиска (когда выбираешь в какой категории искать), у меня на сайте она еще подгружается и в поиске (тот что на главной странице с параметрами), в стандартном движке один раз в контроллере хэдера. Сама функция private function getCategories($parent_id, $level = 0) { $level++; $data = array(); $results = $this->model_catalog_category->getCategories($parent_id); foreach ($results as $result) { $data[] = array( 'category_id' => $result['category_id'], 'name' => str_repeat(' ', $level) . $result['name'] ); $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } return $data; } Получаем при 1000 категорий более 1000 закпросов к базе $this->model_catalog_category->getCategories . У меня в магазине 1 уровень вложенности можно по идее просто было бы убрать рекурсивный вызов для дочерних категорий, т.к. понятно что у коллекций плитки подктегорий нет. Вообщем это нужно как то оптимизировать в самом движке. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 а версия движка? как вариант можно читать все категории разом, в коде строить дерево и его же кешировать. может даже есть смысл кешировать поддеревья. будет время займусь на выходных Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Версия 0.2.2. Да, я про это и говорю, что нежели чем посылать тысячи запросов к базе при каждом открытии страницы (хотя там и не при каждом, ведь инфа береться из кэша, но один фиг брать из кэша 1000 категорий = 1000 файлов), лучше один раз взять все категории, и уже сортировать их. Не думаю что это будет сложно реализовать. Эта функция используется в поиске, поставил просто условие if ($level<2) { $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } Время загрузки уменьтшилось с 5 до 0,7 секунд на Денвере (аяксом загружается форма поиска). 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... freelancer Опубліковано: 8 грудня 2011 Share Опубліковано: 8 грудня 2011 тестировал на 1000 категориях старый способ__________новый первый раз 11.091_________________0.481 последующие(кеш) 17.111_________________0.009 правда, ещё следует сделать поддержку seo category_cache.zip Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Yesvik Опубліковано: 17 грудня 2011 Share Опубліковано: 17 грудня 2011 ТруНТ Вы зря проигнорировали сообщение в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Каждый раз при выводе страницы категории или производителя дополнительно генерится страница ошибки на которой список категорий так-же присутствует. Намёк о том как весело серваку понятен? А вывод товаров с помощью javascript сделан умышленно что-бы поисковики не видели товаров? http://hghltd.yandex...3f3313b&keyno=0 http://webcache.goog...prom.ru&ct=clnk Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 1 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Магазин долго грузится Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Вообщем замерил скорость генерации главной страницы, в контроллере common/home - 7 секунд на денвере. Методом исключения нашел два места, где тупит по 3,5 секунды - 1 как это не смешно стандартная функция движка getCategories (не в модели, а где он пробегает все категории), видимо из-за количества категорий, хотя и не должно по идее, убрал эту функцию в аяксовый подгрузчик, сайт стал загружаться на 3-4 секунды быстрее, уже что-то. Второе место, это собственно вывод $this->response->setOutput($this->render(TRUE), $this->config->get('config_compression')); Степень сжатия пробовал разную, все равно не помогает. Надіслати Поділитися на інших сайтах More sharing options...
TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 По тесту site-perf.com сайт стал грузиться в 2 раза быстрее. Надіслати Поділитися на інших сайтах More sharing options...
TpyHT Опубліковано: 28 листопада 2011 Автор Share Опубліковано: 28 листопада 2011 Проблема решена! Вообщем залез в самые недры движка, поставил тупо на выдачу каждого контроллера время генерации. Для главной страницы выдалось 0.0131838321686 cart 0.025111913681 featured 0.0506310462952 column_right 0.307255029678 category 0.310930013657 column_left 0.00345706939697 footer 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. Вообщем какой можно сделать вывод, лучше сразу отключать эту функцию при создании сайта, а так вообще ее в движке лучше оптизировать изначально, как вариант по моему лучше сразу брать из базы все категории которые только есть и дальше уже делать сортировку массива по parent_id . 1 Надіслати Поділитися на інших сайтах More sharing options...
Dimkas0 Опубліковано: 28 листопада 2011 Share Опубліковано: 28 листопада 2011 Очень красивый магазин у вас! Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 4.0133249759674 header Таким образом лаг был в контроллере common/header, причем опять же в этой тупой функции getCategories, тупо отключил эту функцию и все летает. На форуме видел уже пост про это, но вывод категорий в хэдэре отключил еще при натягивании шаблона. очень интересно.., а эта функция getCategories, где именно вызывается? (файл и номер строки)пару раз на форуме проскакивали на неё жалобы, может будет время посмотрю что с ней не так. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 да, летает =) хороший пример магазина на opencart в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Спасибо за отзывы =) getCategories вызывается в 122 строке файла catalog/controller/common/header.php . Функция собирает все категории для выдачи в строчке поиска (когда выбираешь в какой категории искать), у меня на сайте она еще подгружается и в поиске (тот что на главной странице с параметрами), в стандартном движке один раз в контроллере хэдера. Сама функция private function getCategories($parent_id, $level = 0) { $level++; $data = array(); $results = $this->model_catalog_category->getCategories($parent_id); foreach ($results as $result) { $data[] = array( 'category_id' => $result['category_id'], 'name' => str_repeat(' ', $level) . $result['name'] ); $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } return $data; } Получаем при 1000 категорий более 1000 закпросов к базе $this->model_catalog_category->getCategories . У меня в магазине 1 уровень вложенности можно по идее просто было бы убрать рекурсивный вызов для дочерних категорий, т.к. понятно что у коллекций плитки подктегорий нет. Вообщем это нужно как то оптимизировать в самом движке. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 а версия движка? как вариант можно читать все категории разом, в коде строить дерево и его же кешировать. может даже есть смысл кешировать поддеревья. будет время займусь на выходных Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Версия 0.2.2. Да, я про это и говорю, что нежели чем посылать тысячи запросов к базе при каждом открытии страницы (хотя там и не при каждом, ведь инфа береться из кэша, но один фиг брать из кэша 1000 категорий = 1000 файлов), лучше один раз взять все категории, и уже сортировать их. Не думаю что это будет сложно реализовать. Эта функция используется в поиске, поставил просто условие if ($level<2) { $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } Время загрузки уменьтшилось с 5 до 0,7 секунд на Денвере (аяксом загружается форма поиска). 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... freelancer Опубліковано: 8 грудня 2011 Share Опубліковано: 8 грудня 2011 тестировал на 1000 категориях старый способ__________новый первый раз 11.091_________________0.481 последующие(кеш) 17.111_________________0.009 правда, ещё следует сделать поддержку seo category_cache.zip Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Yesvik Опубліковано: 17 грудня 2011 Share Опубліковано: 17 грудня 2011 ТруНТ Вы зря проигнорировали сообщение в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Каждый раз при выводе страницы категории или производителя дополнительно генерится страница ошибки на которой список категорий так-же присутствует. Намёк о том как весело серваку понятен? А вывод товаров с помощью javascript сделан умышленно что-бы поисковики не видели товаров? http://hghltd.yandex...3f3313b&keyno=0 http://webcache.goog...prom.ru&ct=clnk Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 1 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Магазин долго грузится Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 да, летает =) хороший пример магазина на opencart в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Спасибо за отзывы =) getCategories вызывается в 122 строке файла catalog/controller/common/header.php . Функция собирает все категории для выдачи в строчке поиска (когда выбираешь в какой категории искать), у меня на сайте она еще подгружается и в поиске (тот что на главной странице с параметрами), в стандартном движке один раз в контроллере хэдера. Сама функция private function getCategories($parent_id, $level = 0) { $level++; $data = array(); $results = $this->model_catalog_category->getCategories($parent_id); foreach ($results as $result) { $data[] = array( 'category_id' => $result['category_id'], 'name' => str_repeat(' ', $level) . $result['name'] ); $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } return $data; } Получаем при 1000 категорий более 1000 закпросов к базе $this->model_catalog_category->getCategories . У меня в магазине 1 уровень вложенности можно по идее просто было бы убрать рекурсивный вызов для дочерних категорий, т.к. понятно что у коллекций плитки подктегорий нет. Вообщем это нужно как то оптимизировать в самом движке. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 а версия движка? как вариант можно читать все категории разом, в коде строить дерево и его же кешировать. может даже есть смысл кешировать поддеревья. будет время займусь на выходных Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Версия 0.2.2. Да, я про это и говорю, что нежели чем посылать тысячи запросов к базе при каждом открытии страницы (хотя там и не при каждом, ведь инфа береться из кэша, но один фиг брать из кэша 1000 категорий = 1000 файлов), лучше один раз взять все категории, и уже сортировать их. Не думаю что это будет сложно реализовать. Эта функция используется в поиске, поставил просто условие if ($level<2) { $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } Время загрузки уменьтшилось с 5 до 0,7 секунд на Денвере (аяксом загружается форма поиска). 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... freelancer Опубліковано: 8 грудня 2011 Share Опубліковано: 8 грудня 2011 тестировал на 1000 категориях старый способ__________новый первый раз 11.091_________________0.481 последующие(кеш) 17.111_________________0.009 правда, ещё следует сделать поддержку seo category_cache.zip Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Yesvik Опубліковано: 17 грудня 2011 Share Опубліковано: 17 грудня 2011 ТруНТ Вы зря проигнорировали сообщение в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Каждый раз при выводе страницы категории или производителя дополнительно генерится страница ошибки на которой список категорий так-же присутствует. Намёк о том как весело серваку понятен? А вывод товаров с помощью javascript сделан умышленно что-бы поисковики не видели товаров? http://hghltd.yandex...3f3313b&keyno=0 http://webcache.goog...prom.ru&ct=clnk Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 1 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Магазин долго грузится Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV
TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Спасибо за отзывы =) getCategories вызывается в 122 строке файла catalog/controller/common/header.php . Функция собирает все категории для выдачи в строчке поиска (когда выбираешь в какой категории искать), у меня на сайте она еще подгружается и в поиске (тот что на главной странице с параметрами), в стандартном движке один раз в контроллере хэдера. Сама функция private function getCategories($parent_id, $level = 0) { $level++; $data = array(); $results = $this->model_catalog_category->getCategories($parent_id); foreach ($results as $result) { $data[] = array( 'category_id' => $result['category_id'], 'name' => str_repeat(' ', $level) . $result['name'] ); $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } return $data; } Получаем при 1000 категорий более 1000 закпросов к базе $this->model_catalog_category->getCategories . У меня в магазине 1 уровень вложенности можно по идее просто было бы убрать рекурсивный вызов для дочерних категорий, т.к. понятно что у коллекций плитки подктегорий нет. Вообщем это нужно как то оптимизировать в самом движке. Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 29 листопада 2011 Share Опубліковано: 29 листопада 2011 а версия движка? как вариант можно читать все категории разом, в коде строить дерево и его же кешировать. может даже есть смысл кешировать поддеревья. будет время займусь на выходных Надіслати Поділитися на інших сайтах More sharing options... TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Версия 0.2.2. Да, я про это и говорю, что нежели чем посылать тысячи запросов к базе при каждом открытии страницы (хотя там и не при каждом, ведь инфа береться из кэша, но один фиг брать из кэша 1000 категорий = 1000 файлов), лучше один раз взять все категории, и уже сортировать их. Не думаю что это будет сложно реализовать. Эта функция используется в поиске, поставил просто условие if ($level<2) { $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } Время загрузки уменьтшилось с 5 до 0,7 секунд на Денвере (аяксом загружается форма поиска). 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... freelancer Опубліковано: 8 грудня 2011 Share Опубліковано: 8 грудня 2011 тестировал на 1000 категориях старый способ__________новый первый раз 11.091_________________0.481 последующие(кеш) 17.111_________________0.009 правда, ещё следует сделать поддержку seo category_cache.zip Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Yesvik Опубліковано: 17 грудня 2011 Share Опубліковано: 17 грудня 2011 ТруНТ Вы зря проигнорировали сообщение в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Каждый раз при выводе страницы категории или производителя дополнительно генерится страница ошибки на которой список категорий так-же присутствует. Намёк о том как весело серваку понятен? А вывод товаров с помощью javascript сделан умышленно что-бы поисковики не видели товаров? http://hghltd.yandex...3f3313b&keyno=0 http://webcache.goog...prom.ru&ct=clnk Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 1 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Магазин долго грузится
TpyHT Опубліковано: 29 листопада 2011 Автор Share Опубліковано: 29 листопада 2011 Версия 0.2.2. Да, я про это и говорю, что нежели чем посылать тысячи запросов к базе при каждом открытии страницы (хотя там и не при каждом, ведь инфа береться из кэша, но один фиг брать из кэша 1000 категорий = 1000 файлов), лучше один раз взять все категории, и уже сортировать их. Не думаю что это будет сложно реализовать. Эта функция используется в поиске, поставил просто условие if ($level<2) { $children = $this->getCategories($result['category_id'], $level); if ($children) { $data = array_merge($data, $children); } } Время загрузки уменьтшилось с 5 до 0,7 секунд на Денвере (аяксом загружается форма поиска). 1 Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 8 грудня 2011 Share Опубліковано: 8 грудня 2011 тестировал на 1000 категориях старый способ__________новый первый раз 11.091_________________0.481 последующие(кеш) 17.111_________________0.009 правда, ещё следует сделать поддержку seo category_cache.zip Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Yesvik Опубліковано: 17 грудня 2011 Share Опубліковано: 17 грудня 2011 ТруНТ Вы зря проигнорировали сообщение в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Каждый раз при выводе страницы категории или производителя дополнительно генерится страница ошибки на которой список категорий так-же присутствует. Намёк о том как весело серваку понятен? А вывод товаров с помощью javascript сделан умышленно что-бы поисковики не видели товаров? http://hghltd.yandex...3f3313b&keyno=0 http://webcache.goog...prom.ru&ct=clnk Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 1 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Yesvik Опубліковано: 17 грудня 2011 Share Опубліковано: 17 грудня 2011 ТруНТ Вы зря проигнорировали сообщение в консоли ошибка "NetworkError: 404 Not Found - http://www.ridaprom.ru/%3Cb%3ENotice%3C/b%3E:" Каждый раз при выводе страницы категории или производителя дополнительно генерится страница ошибки на которой список категорий так-же присутствует. Намёк о том как весело серваку понятен? А вывод товаров с помощью javascript сделан умышленно что-бы поисковики не видели товаров? http://hghltd.yandex...3f3313b&keyno=0 http://webcache.goog...prom.ru&ct=clnk Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 1 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts