Долгое задержка перед открытием страницы товара из-за обращения к серверу СДЭК

Сайт имеет неплохие показатели скорости загрузки, в том числе и по скорости загрузки страницы товара. Однако есть очень заметная проблема, заключающаяся в весьма долгой задержке с открытием страницы товара. То есть речь идет не о долгой загрузке страницы товара, а о том, что если находясь в категории кликнуть по плитке товара, то в течении 4-5 секунд происходить не будет ничего, кроме крутящегося спинера в закладке браузера. И лишь через указанные 4-5 секунд открывается страница товара. В итоге, листать каталог и просматривать товары просто очень некомфортно.  

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

Специалист сказал, что тут сделать ничего нельзя, ибо плагин при каждом открытии карточки товара обращается к серверу СДЭК, что вызывает задержку. Однако я просмотрел десятки сайтов, которые используют плагин "Информация о доставке и оплате" и выводят на странице товара блок с доставкой, и у них такой заметной проблемы не наблюдается. При этом эти сайты, например, могут иметь в два раза более низкую скорость загрузки страницы по page speed. А еще, у кого-то из них кроме СДЭК еще подтягивается инфа по Боксберри, что должно еще больше усугублять  ситуацию, вроде как. 

Можете как-то прокомментировать, господа технари? Возможно какие-то тонкие настройки существуют связанные с обращением к серверу СДЭК?

8 ответов

  • 1
    Алексей Webasyst 16 февраля 2020 11:06 #

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

    • 0

      Теоретически его IP скоро СДЭК забанит и на этом дело кончится. Кому ж понравится десяток обращений к API в секунду...

      • +1
        Den Komnin Den Komnin 16 февраля 2020 16:31 #

        А можно по существу ответить? 

        • +2
          replicant replicant 16 февраля 2020 17:17 #

          Если взять два совершенно одинаковых по настройкам сайта и плагин, настроенный так же совершенно одинаково, но разместить сайты на разных серверах (пусть даже эти серверы в точности одинаковые во всем) в разных географических точках с подключением к разным сетям различных операторов связи, то можно получить различные данные в ходе эксперимента по оформлению заказа.

          Дело в том, что сервера, размещенные в точках А и Б, связываются с сервером СДЭК в точке С различными путями и не всегда на этих путях всё одинаково.

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

          Пусть ваш специалист-админ проведет более полный анализ ситуации и тогда может быть всё встанет на свои места.

          То что вы смотрели другие сайты, где всё работает хорошо, говорит о том, что проблема у вас есть и её надо искать. Page Speed лучше в данном контексте не упоминать вообще. Это не про него. Просто сказать, что ничего сделать нельзя - это немного не корректно. Нужно найти причину, а уже потом решать сможете вы её устранить своими силами или нет, или это должны/могут сделать третьи лица, или же придумать иное решение, которое может вас спасти в данной ситуации.

    • +1
      Den Komnin Den Komnin 16 февраля 2020 16:27 #

      Кеширование включено

    • +1
      Nikolai Nikolai 18 февраля 2020 15:02 #

      Если каждый товар весит и стоит по разному и расчет стоимости использует эти данные, то кеширование не сильно поможет.

      • +2
        Nikolai Nikolai 18 февраля 2020 15:04 #

        ИМХО тут решение отключить расчет доставки в карточке товара или использовать усредненное значение вида (город, 0.5 кг например) для каждого товара (так кеширование будет работать).

        • +3
          Vaslav Vaslav 18 февраля 2020 17:08 #

          Ну и смысл тогда в такой информации? Вообще-то как раз нужна актуальная информация.

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

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

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

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