За последние 24 часа нас посетили 22256 программистов и 993 робота. Сейчас ищут 668 программистов ...

Виджет от Сдэка

Тема в разделе "Прочие вопросы по PHP", создана пользователем AlexTech, 27 дек 2019.

  1. AlexTech

    AlexTech Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    18
    Симпатии:
    3
    Всем добрый день

    Возможно вопрос не совсем по пхп, но не знаю куда еще обратиться )
    История такая - бодаюсь с тех-поддержкой сдэка на тему диких тормозов их виджета.
    Кто не в курсе это карта со списком пунктов выдачи и возможностью выбора нужного.
    Поколупав их код пришел к выводу, что все затупливает на этапе получения xmlки, собственно со списком пвз, с их сервера. Размер примерно 2,5mb в зависимости от...
    Наваял на коленке код который считает время скачивания.
    Очень прошу всех кому не лень запустить скрипт на своих серверах и отписаться: Город, Провайдер, Время
    У меня 35-45 секунд, что абсолютно неприемлемо ((
    Если у всех все будет в пределах 5 секунд(естественно с кодом 200), то придется искать проблему где-то в другом месте.

    Код (Text):
    1. <?php
    2. function getmicrotime()
    3. {
    4.   list($usec, $sec) = explode( " ", microtime() );
    5.   return ( (float)$usec + (float)$sec );
    6. }
    7.  
    8. $where = 'https://integration.cdek.ru/pvzlist.php?type=ALL&lang=rus';
    9. $ch = curl_init();
    10. curl_setopt($ch, CURLOPT_URL, $where);
    11. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    12.  
    13. $start = getmicrotime();
    14. $result = curl_exec($ch);
    15. $delta = getmicrotime() - $start;
    16. $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    17. curl_close($ch);
    18. echo 'HTTP result '.$code.'<br>';
    19. echo 'Download time: '.round( $delta, 4 ).' sec';
    20. ?>
    Зы. Должна быть поддержка curl
     
  2. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Не думаю что кто-то станет этим заниматься :)

    Однако ты можешь потестить самостоятельно:

    - Пусти запросы через прокси в разных геолокациях да и всё.

    Voila! )
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    Чтоб не было тормозов - кешируй. Принял, закеширвал хотя бы на недельку и будет вам счастье
     
    Roman __construct нравится это.
  4. AlexTech

    AlexTech Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    18
    Симпатии:
    3
    Через прокси не могу, мне не хватало только сейчас перенастраивать маршруты и все остальное на боевом сервере, а делать это средствами пхп тоже не удобно - надо переписывать их виджет.
    Сейчас я сделал конечно - просто утянул их xml и положил локально, вряд ли список пвз меняется чаще чем раз в месяц.
    Просто это костыль с правкой опять таки чужого кода, так себе вариант.
    Проблема даже не в работоспособности, а том чтобы их техподдержке доказать что проблема на их стороне, чтобы они пошевелились и починили.
     
  5. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    В этом тебе здесь точно не помогут :D

    //пожалуй, кэширование xml - самое адекватное решение, просто через cron проверять периодически - не изменился ли, и если да - перезаливать.
     
  6. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    чинить никто не будет.
    на их стороне нужно унифицировать апи, что бы оно обрабатывало отдельные запросы и отдавало информацию порционно.
    а до тех пор, только кеширование этого файла на свое стороне. можно хоть cron задание сделать, на закачку ежедневно, ежечасно, файла в определенную директорию
     
  7. AlexTech

    AlexTech Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    18
    Симпатии:
    3
    Это я безусловно сделаю, тут на 5 минут работы. Просто каждый раз когда они публикуют новую версию придется лезть в их код и менять путь на локальный. Немного раздражает это )) потому что это костыль )
     
  8. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    жизнь вообще не идеальна, бро :)

    оптимально - это иметь $100m и загорать на пляже

    а все остальное - это и есть костыли ))
     
  9. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    Если техподдержка не реагирует адекватно на их же проблемы - это в первую очередь говорит о незаинтересованности. Другие б сказали - спасибо бро за указанный косяк, сделаем тогда-то.... а тут ((
    Напиши сразу руководству с изложение сути проблемы
    --- Добавлено ---
    тебе предложили твой же скрипт который ты тут выложил и просил запускать с разных городов - погонять через прокси... про боевой сервер никто и не говорил
     
  10. AlexTech

    AlexTech Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    18
    Симпатии:
    3
    Так а скрипт то на чем запускать? у меня один сервер с пхп есть. боевой. Поднимать такую же конфигурацию на другом или на винде на простом компе - я морально не готов.
     
  11. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    А что просто на локальном компе нельзя?
     
  12. AlexTech

    AlexTech Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    18
    Симпатии:
    3
    Curl нужен, неблагодарное занятие под винду его прикручивать, и потом гадать, то ли эта связка глючит, то ли действительно скачивается медленно. Я попробовал, все dllки подключились, но код http ответа 0. Не хочу голову ломать и еще на это время убивать. Скорее всего еще openSSL надо прикручивать.
     
  13. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Вангую появление представителей секты докеропоклонников в топике :D

    //у меня на Win 7 курл ваще отлично пашет))
     
  14. AlexTech

    AlexTech Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    18
    Симпатии:
    3
    Все можно. Просто некогда еще и эту проблему решать )))
     
    Roman __construct нравится это.
  15. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    А код вы сразу пишете и правите на боевом сервере??? Прискорбно.
     
  16. AlexTech

    AlexTech Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    18
    Симпатии:
    3
    Физически железо то же, а так там виртуалка под dev. Не вижу ничего прискорбного.
    Но на ней тестировать смысла нет. Окружение же тоже.

    Вообще обсуждение не туда свернуло. Я не просил советов как мне это с большими гемороями самому через прокси проверять. Я просил запустить код, любому из тех кто отписался в топике нужно на это примерно 10 секунд. Улавливаете разницу? ))
     
    #16 AlexTech, 28 дек 2019
    Последнее редактирование: 28 дек 2019
  17. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Это в теории так))

    И вообще не стоит упобляться заказчику котррый "ну мне сказали что тут на пять минут работы"

    Я на это обычно отвечаю - вот и идите туда где вам так сказали))) пусть они и делают))
     
  18. AlexTech

    AlexTech Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    18
    Симпатии:
    3
    Ctrl-C
    cat > ./ttt.php
    Shift-Ins
    /usr/local/php-7/bin/php < ./ttt.php
    Это все, я уложился меньше чем в 10 сек

    Никогда не работал с исполнителями которые делают за месяц, то что я могу сделать за день ;)
    В общем тему можно прибить, никто ничего пробовать не будет...
     
  19. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Ну я это сразу написал же)))

    Лично я сюда заглядываю отдохнуть от сервера.

    Полагаю и остальные тоже))
     
  20. AlexTech

    AlexTech Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    18
    Симпатии:
    3
    Извращенцы, отдыхать от сервера надо с телочкой на бали, а не на форуме пхп :D
     
  21. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Угу-угу, сказочноебали :D

    Наступишь на морского ежа во время отлива - и приехали))

    На самом деле всё проще (по крайней мере у меня):

    - Например, через 30-60 минут кодинга чувствую что начинаю тупить - делаю перерыв - а поскольку на Бали я за 10-15 минут не успею )) то заглядываю на форум, новичкам помочь, троллей потроллить :D ну и т.д. ))
     
  22. AlexTech

    AlexTech Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    18
    Симпатии:
    3
    Это старость ))) в 1995 когда я был молодой и ассемблер был наше все, я писал по 12 часов в день и еще пару часов потом в голове дописывал ))))
     
    Roman __construct нравится это.
  23. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Тоже мне Бином Ньютона! :D

    Я лет 15 назад тоже мог 12 часов кодить, 12 часов иметь свою женщину, потом снова 12 часов кодить, ну и т.д. :D

    А теперь у меня и женщины-то нету, бо проблемы с ней сопряженные воспринимаются как нечто превалирующее, над удовольствием от нее получаемым))

    Конечно старость, что же еще-то ))
    --- Добавлено ---
    ...а вообще, прикольно встретить программера еще более древнего чем я сам :)
     
  24. AlexTech

    AlexTech Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    18
    Симпатии:
    3
    Не совсем правильно называть меня программером, я этим не зарабатываю, ну в чистом виде. Я олдскул и с железом пожалуй даже больше работал ))) Просто в данный жизненный отрезок, являясь владельцем собственного и самописного интернет-магазина, я чуть больше погряз в кодинге ))
    В середине 90х я тоже ничего полезного не писал, тогда еще на синклере я взламывал загрузчики и переписывал/переносил их для работы с дискеты )) А пк только в 96 как раз купил.
    Хотя один раз мою тулзу даже на пиратском сд издали )))))) я аж офигел )
     
  25. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Ыыыы))

    Я первый компьютер тоже примерно тогда купил (AMD K6, ATI Rage2+, WINDOWS 95 OSR2 :D Это считался оч крутой тогда. Больше штуки выложил за всё. А штука тогда - это деньги были.

    Мне его знакомый собрал. Но потом я конечно сам их стал собирать. в т.ч. и за деньги - время такое было))

    Хотя до этого и с Win 3.11 на 386 работал. И даже поверхностно с XT дело имел ))

    И да, тоже имел дело с дизассемблерами)) немного, но имел. Чисто защиту снять на экзотическую прогу чтобы))