Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart
  • записей
    60
  • комментариев
    699
  • просмотров
    24 866

Супер секретная оптимизация, которая не была точно. Часть вторая.


******

1 339 просмотров

 Поделиться

Прошлый мой пост вызвал бурление задних приборов для высвобождения отходов жизнедеятельности у странных людей.
Но я уже привык к местным городским сумасшедшим, вы даже себе не представляете насколько, но никому бы не советовал с ними связываться.

Вот например:

 

image.png.703bca5b5d971dd7a612276f26595420.png

Или

 

image.png.65a61afec636a199c59002d929a2a48a.png

Дорогие друзья, я с этими людьми регулярно сталкиваюсь и на форуме и с их решениями, и мне кажется - это мое оценочное суждение, что у них недостает какой то необходимой хромосомы, один лезет в решения, которыми он портит магазины, второй просто флудит,как женщина бальзаковского возраста, которой мужчины отказывают в половых контактах в необходимых количествах, честно говоря эти два человека, и еще пару десятков, вызывают у меня всегда бурный смех. Спасибо ребят что  вы есть, контакт Регины Дубовицкой, если что сами нагуглите, вам там светит отличная карьера.

 

Но все же. Вернемся к нашему герою и нашему магазину......
Без Регины и идиотов............

 

В чате форума есть такой тип EvgSmr, он же @t7p на форуме. 

И уже где-то с полгода, наш герой жалуется, что вот мол кешеры не очень, у меня вот магаз в 100 мс, и я хочу быстрее, но карточки товара в 500 мс, а я не хочу прогревать кеш, чтобы отдавать как говорит маэстро @SooR .html

image.png.ec27ec48614c362349788be45532cd22.png

И вот наш герой. ко мне приходил два года назад за консалтом, что то у нас не сложилось и полгода последних в ввиду моей дикой занятости не получалось, но тут сошлись звезды и я добрался до его магазина.

 

Что мы поулчили. Главная страница +-100 мс, категории +-200 мс и ооочень долго в его понимании (да он ваще охренел) 500 мс карточки товара.


Когда мы сделали индексацию базы, настройку веб сервера, приведение в порядок всех параметров окружения мы полчили даже иногода 60 мс на главной, но все равно долгууууую карточку товара.


Заупустив профайлер mysql запросов, мы получили

0.05 мс запросы и вопрос явно был не в них.

 

И до момента, когда у нас карточка товара уходила на $this->response->setOutput все было отлично

и наши 50-60-80 мс были доступны и реализуемы.

Но как только у нас происходил рендер шаблона у нас утекало куда то 400-500 мс. Я не знаю как это делают другие у меня есть просто метод. Назвается он вардамп экзит.
Я просто беру и иду по кусочкам по коду и смотрю, где же таки у нас затупило. Ща набегут фанаты xdebug и прочей хренотени. Идите сразу в вальгаллу фанаты подобной чухни. Она нифига не показывает то что нам надо и реальный тайминги....


Ок мы локализовали, что у нас проблема в шаблоне, пошли его резать и нашли в унишопе по моему, такую вот фигню:


 

<?php echo @number_format($mpn, 2, '.', ''); ?>

Вот эта одна конструкция убивала все наши оптимайзы.........
Оказалось что в 7.3 php , нельзя просто взять и взять для функции number_format  прислать пустой аргумент, или текстовый аргумент, он должен быть хотя бы float.
И оказалось что когда php обрабатывает такую ошибку, оно ахренеть тупит, а у нас тут вызов функции с ухом был, которое все ошибки прятало, и ....

 

Вобщем ухо прятало ошибки, их никто не видел, карточка товара тупила, мы потратили 8 часов на поиски этой фигни, и как только мы сделали нормальный обработчик входящим данным переменной $mpn вида

 

<?php  if($mpn) { ?>
      <span><?php echo number_format((float)$mpn, 2, '.', ''); ?></span>
<?php } ?>

У нас сразу все страницы товаров стали открываться до 100 мс.


Знаете, когда мы это все решили, у меня был один вопрос - а что так бывает? А что так можно было? И а какой же ты  Джигурда автор кода с ухом, который такое сотворил.



Я не умаляю общих действий и заслуг владельца проекта, и моих. Но екалемене, вы когда пишите код, думайте пожалуйста головой.
У нас тут выделенный сервер, абсолютно оптимизированный движок,  50-100мс до секунды без кешей, и у нас прилетает вот такое вот бредовое ***но...



Ну имейте же совесть. Прошлый пост мой, он специально был хайповый. На него поймалась очередная порция жертв "переписи идиотов сообщества".
Но для всех вменяемых, пожалуйста, тестируйте ваш код в боевых условиях. Не делайте ухо!!!!

 

 

Ну и в целом если @t7p наберется храбости, он вам расскажет как у него было долго нудно, как ему вставили рога марк и лайтнинг, и как у него получилось теперь, его и моими молитвами....

 

 

  • +1 11
 Поделиться

7 комментариев


Рекомендованные комментарии

А унишоп, оказывается, хороший шаблон. Мелкий баг пофиксить (думаю, автор и сам исправит в ближайшее время)  - и просто летает :)

Ссылка на комментарий

Про прогрев кеша отдельная история, современные и доступные платные решения, не умеют прекешить сайты. V2cache бесплатный, справляется лучше 😂

Ссылка на комментарий
В 01.10.2021 в 09:06, Shureg сказал:

А унишоп, оказывается, хороший шаблон. Мелкий баг пофиксить (думаю, автор и сам исправит в ближайшее время)  - и просто летает :)

Такого кода нет в шаблоне, видимо кто-то добавил от себя.

Ссылка на комментарий
1 час назад, 19th сказал:

Такого кода нет в шаблоне, видимо кто-то добавил от себя.

 

Так он сам и добавил, наверное.

А потом героически нашёл и исправил :lol:

Ссылка на комментарий
7 часов назад, mazein сказал:

 

Так он сам и добавил, наверное.

А потом героически нашёл и исправил :lol:

Это модуль подсчета цены, товарища из сообщества, бесплатный. 😂

 

При использовании кеша, было совсем безразлично. Но с кешеровщиками вылезал ряд других проблем, более существенных. 

 

Было принято решение, отказаться от подобных изделий. Результат, скорости без кеша близкие к значениям, при рабочем кеше. Товарищ ****** могёт.

 

  • +1 2
Ссылка на комментарий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.