fsockopen долго думает

12
CW
На сайте с 07.09.2005
Offline
158
2031

Приветствую. В скрипте используется функция fsockopen. Используется для получения медиа файлов с других серверов. После обновления nginx скрипт, использующий функцию, стал очень долго думать: секунд по 15-20, в связи с чем скрипт думает, что файл недоступен и выдает ошибку.

Не могу понять, как обновление nginx могло на это повлиять. Скорее всего - никак, просто совпадение и затык возникает по иной причине.

Где посмотреть?

Сквозь холод тумана шагаю в пальтишке Куплю сайтов с Adsense или еще что-нибудь
Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#1

в /etc/resolv.conf

С уважением, Борис Долгов. Администрирование, дешевые лицензии ISPsystem, Parallels, cPanel, DirectAdmin, скины, SSL - ISPlicense.ru (http://www.isplicense.ru/?from=4926)
CW
На сайте с 07.09.2005
Offline
158
#2

там вообще интересно. Три строчки:

nameserver 11.11.11.11 (Не мой IP)

nameserver 22.22.22.22 (Снова не мой)

search localdomain

IP вообще не имеющие отношения к серверу (у меня дедик)

Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#3

Эти IP - IP dns-серверов, на которых будут резолвиться домены, к которым Вы попытаетесь получить доступ с сервера.

Попробуйте убрать строчку

search localdomain

Andreyka
На сайте с 19.02.2005
Offline
822
#4

А при чем тут nginx? Отлаживай скрипт отдельно и смотри в каком месте он тупит.

Не стоит плодить сущности без необходимости
Raistlin
На сайте с 01.02.2010
Offline
247
#5

ClockWorkOrange, Так а на чем тормозит? На получении данных с другого сервера? Вы уверены, что это вообще проблема обновления nginx? МОжет другой сервер тупит?

HostAce - Асы в своем деле (http://hostace.ru)
CW
На сайте с 07.09.2005
Offline
158
#6
Andreyka:
А при чем тут nginx? Отлаживай скрипт отдельно и смотри в каком месте он тупит.

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

Так а на чем тормозит? На получении данных с другого сервера? Вы уверены, что это вообще проблема обновления nginx? МОжет другой сервер тупит? 

Полгода скрипт работал хорошо. А потом бац - и стал тупить. Притом, что ничего не менялось вообще: работало и работало.

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

Временное решение сейчас такое:

['file_upload_status_timeout_ms'] = 3000;

Хотя в скрипте изначально значение 500

PU
На сайте с 18.03.2011
Offline
2
#7

Вообще надо tcpdump посмотреть чего он там тупит. С обновлением nginx вряд ли это как то связано, если конечно хост, к которому скрипт обращается не висит на этом же nginx

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

Администрирую серваки
Andreyka
На сайте с 19.02.2005
Offline
822
#8

ТС, два волшебных слова помогут со скриптом - дебаг и профайлинг

CW
На сайте с 07.09.2005
Offline
158
#9
Boris A Dolgov:
в /etc/resolv.conf

Все-таки, правы были Вы.

Andreyka провел аудит (за что ему спасибо) и сказал, что сервер не нагружен и проблем на нем нет.

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

Я поменял IP в resolv.conf и все начало летать 🍾

Отсюда два вопроса: я использую днс от OpenDNS.com, фришные. Работает стабильно или есть другие сервисы?

Второе. После обновления resolv.conf сделал service httpd restart и получил такие сообщения:

Starting httpd: [Wed Mar 23 04:50:05 2011] [error] (EAI 2)Name or service not known: Could not resolve host name 11.11.11.11 (ip моего сервера) [warn] NameVirtualHost 11.11.11.11:443 has no VirtualHosts

Я что-то еще не прописал ? На что ругается, если все работает?

Andreyka
На сайте с 19.02.2005
Offline
822
#10

Пропиши в resolv.conf:

nameserver 8.8.8.8

nameserver 8.8.4.4

Гугловые NS, работают хорошо

12

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