Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Прожектор Бритни Спирс

  • записи
    54
  • коментарів
    625
  • переглядів
    38 866

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


Yoda

1 691 перегляд

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

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

 

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 коментарів


Recommended Comments

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

Надіслати

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

Надіслати
В 01.10.2021 в 09:06, Shureg сказал:

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

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

Надіслати
1 час назад, 19th сказал:

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

 

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

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

Надіслати
7 часов назад, mazein сказал:

 

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

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

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

 

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

 

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

 

  • +1 2
Надіслати

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.