Всем добрый день Возможно вопрос не совсем по пхп, но не знаю куда еще обратиться ) История такая - бодаюсь с тех-поддержкой сдэка на тему диких тормозов их виджета. Кто не в курсе это карта со списком пунктов выдачи и возможностью выбора нужного. Поколупав их код пришел к выводу, что все затупливает на этапе получения xmlки, собственно со списком пвз, с их сервера. Размер примерно 2,5mb в зависимости от... Наваял на коленке код который считает время скачивания. Очень прошу всех кому не лень запустить скрипт на своих серверах и отписаться: Город, Провайдер, Время У меня 35-45 секунд, что абсолютно неприемлемо (( Если у всех все будет в пределах 5 секунд(естественно с кодом 200), то придется искать проблему где-то в другом месте. Код (Text): <?php function getmicrotime() { list($usec, $sec) = explode( " ", microtime() ); return ( (float)$usec + (float)$sec ); } $where = 'https://integration.cdek.ru/pvzlist.php?type=ALL&lang=rus'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $where); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $start = getmicrotime(); $result = curl_exec($ch); $delta = getmicrotime() - $start; $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo 'HTTP result '.$code.'<br>'; echo 'Download time: '.round( $delta, 4 ).' sec'; ?> Зы. Должна быть поддержка curl
Не думаю что кто-то станет этим заниматься Однако ты можешь потестить самостоятельно: - Пусти запросы через прокси в разных геолокациях да и всё. Voila! )
Через прокси не могу, мне не хватало только сейчас перенастраивать маршруты и все остальное на боевом сервере, а делать это средствами пхп тоже не удобно - надо переписывать их виджет. Сейчас я сделал конечно - просто утянул их xml и положил локально, вряд ли список пвз меняется чаще чем раз в месяц. Просто это костыль с правкой опять таки чужого кода, так себе вариант. Проблема даже не в работоспособности, а том чтобы их техподдержке доказать что проблема на их стороне, чтобы они пошевелились и починили.
В этом тебе здесь точно не помогут //пожалуй, кэширование xml - самое адекватное решение, просто через cron проверять периодически - не изменился ли, и если да - перезаливать.
чинить никто не будет. на их стороне нужно унифицировать апи, что бы оно обрабатывало отдельные запросы и отдавало информацию порционно. а до тех пор, только кеширование этого файла на свое стороне. можно хоть cron задание сделать, на закачку ежедневно, ежечасно, файла в определенную директорию
Это я безусловно сделаю, тут на 5 минут работы. Просто каждый раз когда они публикуют новую версию придется лезть в их код и менять путь на локальный. Немного раздражает это )) потому что это костыль )
жизнь вообще не идеальна, бро оптимально - это иметь $100m и загорать на пляже а все остальное - это и есть костыли ))
Если техподдержка не реагирует адекватно на их же проблемы - это в первую очередь говорит о незаинтересованности. Другие б сказали - спасибо бро за указанный косяк, сделаем тогда-то.... а тут (( Напиши сразу руководству с изложение сути проблемы --- Добавлено --- тебе предложили твой же скрипт который ты тут выложил и просил запускать с разных городов - погонять через прокси... про боевой сервер никто и не говорил
Так а скрипт то на чем запускать? у меня один сервер с пхп есть. боевой. Поднимать такую же конфигурацию на другом или на винде на простом компе - я морально не готов.
Curl нужен, неблагодарное занятие под винду его прикручивать, и потом гадать, то ли эта связка глючит, то ли действительно скачивается медленно. Я попробовал, все dllки подключились, но код http ответа 0. Не хочу голову ломать и еще на это время убивать. Скорее всего еще openSSL надо прикручивать.
Вангую появление представителей секты докеропоклонников в топике //у меня на Win 7 курл ваще отлично пашет))
Физически железо то же, а так там виртуалка под dev. Не вижу ничего прискорбного. Но на ней тестировать смысла нет. Окружение же тоже. Вообще обсуждение не туда свернуло. Я не просил советов как мне это с большими гемороями самому через прокси проверять. Я просил запустить код, любому из тех кто отписался в топике нужно на это примерно 10 секунд. Улавливаете разницу? ))
Это в теории так)) И вообще не стоит упобляться заказчику котррый "ну мне сказали что тут на пять минут работы" Я на это обычно отвечаю - вот и идите туда где вам так сказали))) пусть они и делают))
Ctrl-C cat > ./ttt.php Shift-Ins /usr/local/php-7/bin/php < ./ttt.php Это все, я уложился меньше чем в 10 сек Никогда не работал с исполнителями которые делают за месяц, то что я могу сделать за день В общем тему можно прибить, никто ничего пробовать не будет...
Ну я это сразу написал же))) Лично я сюда заглядываю отдохнуть от сервера. Полагаю и остальные тоже))
Угу-угу, сказочноебали Наступишь на морского ежа во время отлива - и приехали)) На самом деле всё проще (по крайней мере у меня): - Например, через 30-60 минут кодинга чувствую что начинаю тупить - делаю перерыв - а поскольку на Бали я за 10-15 минут не успею )) то заглядываю на форум, новичкам помочь, троллей потроллить ну и т.д. ))
Это старость ))) в 1995 когда я был молодой и ассемблер был наше все, я писал по 12 часов в день и еще пару часов потом в голове дописывал ))))
Тоже мне Бином Ньютона! Я лет 15 назад тоже мог 12 часов кодить, 12 часов иметь свою женщину, потом снова 12 часов кодить, ну и т.д. А теперь у меня и женщины-то нету, бо проблемы с ней сопряженные воспринимаются как нечто превалирующее, над удовольствием от нее получаемым)) Конечно старость, что же еще-то )) --- Добавлено --- ...а вообще, прикольно встретить программера еще более древнего чем я сам
Не совсем правильно называть меня программером, я этим не зарабатываю, ну в чистом виде. Я олдскул и с железом пожалуй даже больше работал ))) Просто в данный жизненный отрезок, являясь владельцем собственного и самописного интернет-магазина, я чуть больше погряз в кодинге )) В середине 90х я тоже ничего полезного не писал, тогда еще на синклере я взламывал загрузчики и переписывал/переносил их для работы с дискеты )) А пк только в 96 как раз купил. Хотя один раз мою тулзу даже на пиратском сд издали )))))) я аж офигел )
Ыыыы)) Я первый компьютер тоже примерно тогда купил (AMD K6, ATI Rage2+, WINDOWS 95 OSR2 Это считался оч крутой тогда. Больше штуки выложил за всё. А штука тогда - это деньги были. Мне его знакомый собрал. Но потом я конечно сам их стал собирать. в т.ч. и за деньги - время такое было)) Хотя до этого и с Win 3.11 на 386 работал. И даже поверхностно с XT дело имел )) И да, тоже имел дело с дизассемблерами)) немного, но имел. Чисто защиту снять на экзотическую прогу чтобы))