Грузит БД после обновления Шопскрипт 8

После обновления Шопскрипта 8 стало грузить БД сайта.

Вот графики хостера Бегет.





таким образом я в тарифный план не вписываюсь, до этого нагрузка была вообще практически нулевой, не более 15% от лимита хостера на протяжении всего существования сайта на SS8.

Что это такое? Критически негативные последствия обновления.


13 ответов

  • 5
    Yaroslav 8 октября 2019 18:37 #

    После обновления shop script до самой последней версии, я обратил внимание, что оперативной памяти сервера почти у два раза больше стало потреблять. Больше всего оперативной памяти потребляет веб-сервер MySQL - https://prnt.sc/pet2c1

  • 4

    Собственно вот виновник, по данным хостинга beget (имя бд заменил на ---)

    # 162.4s user time, 620ms system time, 32.03M rss, 88.39M vsz
    # Current date: Sat Oct 19 15:16:22 2019
    # Overall: 710 total, 9 unique, 0.01 QPS, 0.03x concurrency ______________
    # Time range: 2019-10-18T21:02:52 to 2019-10-19T12:15:15
    # Attribute total min max avg 95% stddev median
    # ============ ======= ======= ======= ======= ======= ======= =======
    # Exec time 1660s 2s 5s 2s 3s 405ms 2s
    # Lock time 3s 0 425ms 4ms 0 40ms 0
    # Rows sent 40 0 10 0.06 0 0.62 0
    # Rows examine 19.15k 0 9.45k 27.62 0 506.34 0
    # Rows affecte 6.62k 0 3.31k 9.55 0 173.09 0
    # Bytes sent 85.54k 11 33.85k 123.37 10.84 1.76k 10.84
    # Query size 636.44k 37 957 917.91 918.49 167.98 918.49
    # Profile
    # Rank Query ID Response time Calls R/Call V/M Item
    # ==== ================== =============== ===== ====== ===== =============
    # 1 0xCDF0D1CFCAFF7CB3 1566.7169 94.4% 674 2.3245 0.06 CREATE TABLE shop_product_promo_price_tmp
    # 2 0x61B3CE3F6B05E12B 28.5112 1.7% 12 2.3759 0.06 DROP TABLE shop_product_promo_price_tmp
    # MISC 0xMISC 64.7040 3.9% 24 2.6960 0.0 <7 ITEMS>
    # Query 1: 0.01 QPS, 0.03x concurrency, ID 0xCDF0D1CFCAFF7CB3 at byte 232466559
    # This item is included in the report because it matches --limit.
    # Scores: V/M = 0.06
    # Time range: 2019-10-18T21:02:52 to 2019-10-19T12:15:15
    # Attribute pct total min max avg 95% stddev median
    # ============ === ======= ======= ======= ======= ======= ======= =======
    # Count 94 674
    # Exec time 94 1567s 2s 4s 2s 3s 376ms 2s
    # Lock time 0 0 0 0 0 0 0 0
    # Rows sent 0 0 0 0 0 0 0 0
    # Rows examine 0 0 0 0 0 0 0 0
    # Rows affecte 0 0 0 0 0 0 0 0
    # Bytes sent 8 7.24k 11 11 11 11 0 11
    # Query size 98 629.90k 957 957 957 957 0 957
    # String:
    # Hosts localhost
    # Last errno 0
    # Query_time distribution
    # 1us
    # 10us
    # 100us
    # 1ms
    # 10ms
    # 100ms
    # 1s ################################################################
    # 10s+
    # Tables
    # SHOW TABLE STATUS FROM `---` LIKE 'shop_product_promo_price_tmp'\G
    # SHOW CREATE TABLE `---`.`shop_product_promo_price_tmp`\G
    CREATE TEMPORARY TABLE IF NOT EXISTS shop_product_promo_price_tmp (
    storefront VARCHAR(255) NOT NULL,
    product_id INT(11) NOT NULL,
    sku_id INT(11) NOT NULL,
    price DECIMAL(15, 4) DEFAULT '0.0000' NOT NULL,
    primary_price DECIMAL(15, 4) DEFAULT '0.0000' NOT NULL,
    compare_price DECIMAL(15, 4) DEFAULT '0.0000' NOT NULL,
    primary_compare_price DECIMAL(15, 4) DEFAULT '0.0000' NOT NULL,
    INDEX `storefront` (`storefront`),
    INDEX `product_id` (`product_id`),
    INDEX `sku_id` (`sku_id`),
    INDEX `primary_price` (`primary_price`),
    unique (storefront, product_id, sku_id)
    ) DEFAULT CHARSET utf8\G
    # Query 2: 0.00 QPS, 0.00x concurrency, ID 0x61B3CE3F6B05E12B at byte 438726794
    # This item is included in the report because it matches --limit.
    # Scores: V/M = 0.06
    # Time range: 2019-10-19T01:22:08 to 2019-10-19T12:08:16
    # Attribute pct total min max avg 95% stddev median
    # ============ === ======= ======= ======= ======= ======= ======= =======
    # Count 1 12
    # Exec time 1 29s 2s 3s 2s 3s 363ms 2s
    # Lock time 0 0 0 0 0 0 0 0
    # Rows sent 0 0 0 0 0 0 0 0
    # Rows examine 0 0 0 0 0 0 0 0
    # Rows affecte 0 0 0 0 0 0 0 0
    # Bytes sent 0 132 11 11 11 11 0 11
    # Query size 0 708 59 59 59 59 0 59
    # String:
    # Hosts localhost
    # Last errno 0
    # Query_time distribution
    # 1us
    # 10us
    # 100us
    # 1ms
    # 10ms
    # 100ms
    # 1s ################################################################
    # 10s+
    # Tables
    # SHOW TABLE STATUS FROM `---` LIKE 'shop_product_promo_price_tmp'\G
    # SHOW CREATE TABLE `---`.`shop_product_promo_price_tmp`\G
    DROP TEMPORARY TABLE IF EXISTS shop_product_promo_price_tmp\G
  • 2
    Yaroslav 28 октября 2019 18:43 #

    Почему сам Вебасист молчит? Может эту тему все же необходимо переместить в раздел "Ошибки" ?

  • 1
    Юрий Ковальчук 5 октября 2019 11:47 #

    пол дня не прошло, а у меня уже лимит запросов на БД в 50%, к вечеру будет перебор.

  • 1

    Виноваты плагины от Бодисайтов.

  • 1

    Что-нибудь удалось с этим сделать? (кроме смены хостера)?

    • +1
      Юрий Ковальчук Юрий Ковальчук 8 октября 2019 16:13 #

      да, удалось, откатить на старую резервную копию:)

      вот после отката

      видно что проблема была именно в обновлении, думаю пусть лучше на предыдущем обновлении будет пока.

      • +1

        Под подозрением временные таблицы, создаваемые для пересчёта различных скидочных-маркетинговых-шмаркетинговых акций, но это неточно

  • 1

    Нужно больше отчётов! :)

    • +2
      Yaroslav Yaroslav 9 октября 2019 12:19 #

      Сергей, подскажите пожалуйста, как можно реально понять причину, что после обновления увеличилось потребления оперативной памяти сервера. Что и где можно смотреть?

      Я обновил 3 го числа shop script 8 до самой последней версии.

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

  • 1
    Antonio 9 октября 2019 00:04 #

    У меня тоже нагрузка подросла. Обновился 06.10 вечером. Отчёт на следующий день виден.

  • 1
    Nikolai 10 октября 2019 13:32 #

    В новом обновлении магазина это еще не починили?

  • 1
    Yaroslav 10 октября 2019 14:24 #

    Интересно узнать сколько у кого оперативной памяти севера расходуется на БД?
    У меня сейчас стабильно 3гб и ночью и днем в самый пик. При этом нагрузки как такой на процессор вообще нету. 

    • +1
      dez dez 11 октября 2019 10:23 #

      У меня магазин весь хавает стабильно 530 мб. ЦП 0-1 %.Даже когда 25 сразу онлайн людей. В сутки 1200+- посещаемость. У меня VPS пушка, NVMe диски. А вам бы советовал менять хостпро юа

    • +1
      v-e-y v-e-y 22 октября 2019 14:14 #

      У меня 4гб, на 3 проекта.
      До обновления (2-х из них) было 1-1,5гб

  • 1
    Yaroslav 11 октября 2019 10:42 #

    Спасибо, приму к сведению. Подскажите что не так по вашему с хостпро юа и какой хостинг провайдер можете рекомендовать? 

    • 0
      dez dez 11 октября 2019 11:12 #

      Когда то давно хотел к ним перенести сайт, перенес, постоянно БД отпадала от магазина. Они мне так и не помогли, я плюнул и нашел других, где все стало без проблем и стабильно работало. Главная проблема всех украинских провайдеров, что они не идут в ногу с новинками рынка и используют старое не быстрое железо, а если новое, то очень дорого. Я обосновался тут firstvds, работает все четко, быстро и ТП быстро отвечает. Порекомендовать могу вот такой тариф, пишут, что пушечка, но руки ещё не добрались потестировать https://firstvds.ru/cpu-turbo. Я использую другой тариф VDS Улёт KVM NVMe

    • +1
      Юрий Ковальчук Юрий Ковальчук 28 октября 2019 18:28 #

      можете смело брать Бегет самый простой тариф (2-й) 

      нагрузка 20% от выделенных лимитов, при посещаемости в 1500+ в сутки, около 500 товаров.

  • 1

    Есть мнение, что можно попробовать удалить все промоакции с их промо-карточками. И вставить, если нужно, либо в шаблон статичные изображения, либо воспользоваться каким-нибудь приложением баннеров. И скидки настроить просто в Гибких Скидках.

    • +3

      Ну мнение не безосновательное, не поспоришь. А если все же нужны эти акции? Или акции теперь только для магазинов с количеством товаров не более 3к?  Вот сейчас имею перед глазами пример магазина с 83к товаров. Обновился счастливый владелец до уровня Маркетинг и БД ломается (именно ломается) раз в день. Совпадение? Смотрю и плАчу. ПлАчу и чиню. Чиню и восстанавливаю. А потом опять: смотрю и плАчу.

      • +1

        Берёшь мишины Баннеры. Они по расписанию умеют показываться да ещё и клики считают. И заменяешь промо-карточки на эти баннеры.

        Берешь Гибки Скидки Игоря и настраиваешь скидки.

        Что тебе ещё от акций надо? :) Отчёты, чтоль? :)

        • +3

          Мне-то? Мне надо чтоб меня поменьше дёргали )))  Работала себе системка 2 года, жили - не тужили...  Вот чесслово, за все время только один раз на сервер заглядывал, когда счастливый владелец поставил мегаизвестную тему дизайна 2.0, и сервер по 8 секунд отвечать стал. Ну заглянул, выжег ее напалмом, и дальше жили и радовались. А последние 2 дня, с момента обновления, прям живу, блин, на этом сервере. Буду откатываться до 8,4, что делать-то....

        • +1
          Плебей Плебей 29 октября 2019 18:39 #

          С таким успехом вскоре можно дождаться постов типа "берешь Петин Шоп-скрипт..." ))

    • +2
      Юрий Ковальчук Юрий Ковальчук 28 октября 2019 18:21 #

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

      Отключить бы эти красные надписи, что есть обновления и вообще гуд.

      • +3


        Есть несколько вариантов

        • Создайте нового пользователя. Запретите ему доступ к приложению Инсталлер...
        • Если у вас много приложений, столько, что список сворачивается, то переместите иконку Инсталлера в самый конец 

        И будете узнавать об обновлениях только из постов на форуме :)

    • +1
      v-e-y v-e-y 29 октября 2019 16:07 #

      "Есть мнение, что можно попробовать удалить все промоакции"

      Сделал вчера так на одном проекте, ничего не поменялось.

  • 1
    Юрий Ковальчук 15 ноября 2019 18:23 #

    разрабы отписались в тикете что все починили и оптимизировали в новом обновлении 8.6, типа можно устанавливать.

    Кто-то уже юзал? Интересно грузит БД или уже все таки починили в обнове?

    • +1
      Yaroslav Yaroslav 21 ноября 2019 02:44 #

      Обновил 2 дня назад. mysql как потрбляло 3 гб памяти, так и дальше потребляет. Работает вроде все стабильно без ошибок, решил пока забить на эту проблему. 

      • +1
        Nikolai Nikolai 21 ноября 2019 13:07 #

        Судя по ровному графику это не проблема Webasyst, а MYSQL резервирует 70% памяти под буфер (который может использоваться или нет). Посмотрите настройку mysql "innodb_buffer_pool_size", попробуйте поиграться с ее размером, будет ли меняться график.

        По-хорошему конечно вам надо поставить систему аналитики (например, графану: https://play.grafana.org/d/000000012/grafana-play-home?orgId=1), из которой будет видна реальная нагрузка и разные параметры, из которых можно сделать вывод, грузит ли mysql и почему (подключения, медленные запросы и т.д.), веб-сервер или что-то еще, посмотреть реальную посещаемость (скрипты GA и Яндекс выполняются через JS, а если клиент не обрабатывает скрипты (ddos, боты и т.д.), тогда вы не видите этих данных).

    • +1
      v-e-y v-e-y 21 ноября 2019 13:47 #

      Обновил все три проекта.
      "Обновил 2 дня назад. mysql как потрбляло..." - Что интересно, я обновился и тоже ничего не поменялось. А потом, через пару дней, нагрузка упала больше чем в два раза.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите