eugeneledenev
Новичок-
Публикаций
37 -
Зарегистрирован
-
Посещение
Достижения eugeneledenev
-
[Решено?..] Переадресация с ?page=1 на без
eugeneledenev ответил в теме пользователя Serg9988 в Помощь программистам и разработчикам
с этим проблема /?page=19 пересылает на ?&9 Прикрепил скрин -
[Решено?..] Переадресация с ?page=1 на без
eugeneledenev ответил в теме пользователя Serg9988 в Помощь программистам и разработчикам
с этим проблема /?page=19 пересылает на ?&9 Прикрепил скрин -
[Решено?..] Переадресация с ?page=1 на без
eugeneledenev ответил в теме пользователя Serg9988 в Помощь программистам и разработчикам
Спасибо за комментарий!!! Реально все работает правильно! Редирект был к кеше, поэтому сделал неверный вывод. Сорри, что недосмотрел. -
[Решено?..] Переадресация с ?page=1 на без
eugeneledenev ответил в теме пользователя Serg9988 в Помощь программистам и разработчикам
Пытаюсь сейчас решить эту проблему. Этот вариант косячно работает. Переадресовывает ?page=15 на ?5 -
Как понять какой кусок opencart тормозит ?
eugeneledenev ответил в теме пользователя eugeneledenev в Помощь программистам и разработчикам
а можно технологию хоть в общих словах как это делается? -
Как понять какой кусок opencart тормозит ?
eugeneledenev ответил в теме пользователя eugeneledenev в Помощь программистам и разработчикам
Но насколько я понял кусок кода, который медленно выполняется им не поймать. Он всего лишь выводит список подключаемых файлов. А время по запросам у меня почти все сведено к минимуму. -
В общем запросы все в ноль вычистил, закешировал запросы и меню, все равно страница больше секунды считается. Чую что какой-то кусок кода делает ненужную фигню. Подскажите, как понять хотя бы какой php файл из всего множества тормозит? Нужен как бы профайлер модулей получается. Может функция в опенкарте есть которая в цикле модуль за модулем обрабатывает и можно как-то вывести модуль/время работы? OcStore 1.5.5.1
-
Как сделать 301 редирект на php в opencart?
eugeneledenev ответил в теме пользователя eugeneledenev в Помощь программистам и разработчикам
Спасибо. Мне он для другого нужен, просто упростил задачу, чтобы не расписывать долго. -
Как сделать 301 редирект на php в opencart?
eugeneledenev ответил в теме пользователя eugeneledenev в Помощь программистам и разработчикам
Хотя наверное у меня правильнее так: header($this->request->server['SERVER_PROTOCOL'] . ' 301 Moved Permanently'); $this->response->redirect($seo); -
Как сделать 301 редирект на php в opencart?
eugeneledenev ответил в теме пользователя eugeneledenev в Помощь программистам и разработчикам
Вроде нашел: $this->response->redirect($seo) OpenCart has a built in redirect function as part of the response library. $this->response->redirect('your url goes here', 'http status code goes here'); -
Помогите ускорить запрос выборки/подсчета товаров
eugeneledenev ответил в теме пользователя eugeneledenev в Помощь программистам и разработчикам
>Совершенно неправильный подход. Нет в этой жизни хорошо, плохо, правильно, неправильно. Это все относительно в наших головах >То что вы выше привели - оптимизировать посредством правильных индексов в базу- просто семечки.>Просто немного нужно взять и почитать мануал к mysql Когда я просил помощи от Вас никакой конкретики не получил. Только " Можете меня называть как угодно и кем угодно, но я не готов опыт и знания, полученные на протяжении нескольких лет изысканий раздавать бесплатно!" Сейчас вы пишите, что все криво, но опять же без конкретики. По делу: Выборка о которой я писал сортирует и считает порядка 18 тыс товаров и SQL_CALC_FOUND_ROWS(он же COUNT), ORDER BY sort_order ASC, LCASE(name) ASC LIMIT 0,20 убивают скорость. Без подсчета кол-ва товаров и сортировок все летает. Мне очень сильно кажется, что с помощью индексов оптимизировать этот запрос невозможно. >Да где, сделал он ее!!!>А механизм апдейта забыл))) Механизм апдейта есть. Выложена сама функция. И поскольку ветка для программистов я решил что вызов этой функции кому надо сможет сделать сам. Теперь самое интересное: про "за деньги". Я руководитель и постоянно ищу исполнителей на те или иные работы. Программиста, который считает свою зарплату из расчета >60...80тыс руб в мес я не вытягиваю. Даже в этой ветке люди видят порядка 4 решений проблемы и почти любой подход имеет свои недостатки. Найти нормального программиста не просто. Люди считают, что они знают что делать, берут бабки и у них не получается решить задачу, а поскольку работы есть, то они предпочитают делать кнопки обратного звонка, лендинги и т.п. несложные задачи. На моей практике не было ни одного программиста, который мог бы нормально проверить результат своей работы, то есть сдать код без ошибок. Все равно рано или поздно что-то вылезает. Одно починил, другое сломал, т.к. никому неохота разбираться что тут до него делали и зачем. Так же проблема с нехваткой времени у тех кто работает за адекватные деньги, тебя записывают на "через месяц" и позже. Ну и само собой как всегда любой программист говорит что до него тут работал рукожопый дебил (точно так же делают стоматологи "да у вас все криво сделано, давайте ВСЕ переделаем"). Либо ответ на замечание: "Для этого нужно весь OPENCART переписать", хотя как оказывается позже 1 час работы несильно квалифицированного программиста. Очень часто мы думаем, что знаем как решить задачу, а когда начинаем решать всплывает всякая фигня и решение оказывается не таким простым. Мне этот форум много раз помогал, поэтому я выложил свое решение в надежде что кому-то оно может пригодиться. Если вы пишите что все сделано через жопу, предложите конкретное правильное по вашему мнению решение, если нет, то какой смысл писать?- 21 ответ
-
- 2
-
-
Помогите ускорить запрос выборки/подсчета товаров
eugeneledenev ответил в теме пользователя eugeneledenev в Помощь программистам и разработчикам
>Сейчас пришла идея убрать оттуда LEFT JOIN oc_product p ON (ps.product_id=p.product_id) и AND p.status = '1'. и засунуть это в формировании таблицы ps. Выполнил, время выполнения упало до 0,04сек. -
Помогите ускорить запрос выборки/подсчета товаров
eugeneledenev ответил в теме пользователя eugeneledenev в Помощь программистам и разработчикам
Решил, может кому пригодится. Увеличение скорости в 10 раз(до 0,15сек) Изменил вывод пагинации, убрал подсчет кол-ва товаров в текущей категории. В запросе : В категории оставляем все так же как и было Немного комментим/меняем пагинацию Результат: Итоговый запрос выглядит так: SELECT DISTINCT ps.product_id FROM oc_product_sort ps LEFT JOIN oc_product p ON (ps.product_id=p.product_id) LEFT JOIN oc_product_to_category p2c ON (p2c.product_id=ps.product_id) LEFT JOIN oc_category_path cp ON (cp.category_id=p2c.category_id) WHERE 1 AND cp.path_id IN (3587) AND p.status = '1' AND ps.sort_id='1' LIMIT 219,101 В этом запросе таблица ps - это отсортированные id товаров. Сейчас пришла идея убрать оттуда LEFT JOIN oc_product p ON (ps.product_id=p.product_id) и AND p.status = '1'. и засунуть это в формировании таблицы ps. И если кому интересно, формирование таблицы ps