проблема с CURL

12
neoks
На сайте с 17.03.2010
Offline
152
3036

Здравствуйте, стоит скрипт на php, раз в час нужен тяжёлый запрос для сбора статистики и при этом делается примерно 100curl запросов за секунду на пару секунд, но в это время сервер вылетает и выдает 502 обрывая все запросы.

Уже проверил все и это на все 100% curl, так как при работе php без curl запросов сервер держит 4000 конекта в секунду на обычной даже DLE, а вот ставлю один файл просто с содержимым:

<? 

$options = curl_init();
curl_setopt($options,CURLOPT_URL,'http://sait.ru');
curl_setopt($options,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/4.0.0');
curl_setopt($options,CURLOPT_TIMEOUT,60);// максимальное время выполнения операции в секундах
curl_setopt($options,CURLOPT_AUTOREFERER,1);// автоматически ставить REFERER
curl_setopt($options,CURLOPT_SSL_VERIFYPEER,0);// отключить подстановку сертификатов
curl_setopt($options,CURLOPT_SSL_VERIFYHOST,0);// отключение проверки ssl хоста
curl_setopt($options,CURLOPT_FOLLOWLOCATION,1);// отключение проверки ssl хоста

curl_setopt($options,CURLOPT_HEADER,0);// при запросе возвращать заголовок сервера (header)
curl_setopt($options,CURLOPT_RETURNTRANSFER,1);// возвращать результат в переменную
$data = @curl_exec($options);// выполняем запрос с подавлением ошибокs

echo $data;
?>

и при 70 соединениях в секунду вылетает 502, хотя процессор при этом загружен на 1%

где можно настроить количество конектов в секунду для curl ? и как это лечить ? :)

M
На сайте с 16.09.2009
Offline
278
#1
neoks:
где можно настроить количество конектов в секунду для curl ? и как это лечить ? :)

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

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
P
На сайте с 16.03.2009
Offline
144
#2

кол-во процессов апача/php-fpm больше сделайте.

neoks
На сайте с 17.03.2010
Offline
152
#3
myhand:
В скрипте не видно где делается эта "количество коннектов". Наверно, дело в том как вы вызываете скрипт - либо в том, что вы тут накопипастили.

Ну вот к примеру я делаю пустой index.php и в нем только код который я привел ниже, курл запрашивает пустую html страницу с сайта в данном примере, делаю 100 запрос в секунду на index.php и вылетает 502.

poiuty, не помогает

DV
На сайте с 01.05.2010
Offline
644
#4

Вы браузером делаете 100 запросов в секунду?

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
neoks
На сайте с 17.03.2010
Offline
152
#5
DenisVS:
Вы браузером делаете 100 запросов в секунду?

с другого сервера через ab а у себя в браузере уже смотрю отвечает скрипт или нет.

---------- Добавлено 22.08.2012 в 21:23 ----------

Забыл упомянуть, связка nginx + spawn-fcgi

DV
На сайте с 01.05.2010
Offline
644
#6

У вас сервер падает от перегрузки, вы ddos атаку делаете.

M
На сайте с 16.09.2009
Offline
278
#7
neoks:

curl_setopt($options,CURLOPT_FOLLOWLOCATION,1);// отключение проверки ssl хоста

Зачем вам вот это и каким боком связано с комментарием? Документацию вообще читать пробовали - или скопипастили абзац какого-то анонимного гуру?

neoks
На сайте с 17.03.2010
Offline
152
#8
DenisVS:
У вас сервер падает от перегрузки, вы ddos атаку делаете.

А как исправить ? просто обращение к обычному DLE в 4000 запросов в секунду держит без ошибки 502, процессор нагружен на 80-90% , все как положено.

А вот curl на 100 запросов и 502, но процессор загружен при этом на 1% , хочется выставить лимит на curl по больше, пусть лучше проц страдает чем смотреть на 502.

---------- Добавлено 22.08.2012 в 21:28 ----------

myhand:
Зачем вам вот это и каким боком связано с комментарием? Документацию вообще читать пробовали - или скопипастили абзац какого-то анонимного гуру?

Взял первый попавшийся пример curl запроса с гугла для проверки запросов, данным скриптом не пользуюсь, вывел для примера.

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

Кривые скрипты обычно лечат выпрямителем рук кодера.

Только непонятно зачем сбор статистики пускать из браузера.

Не стоит плодить сущности без необходимости
dma84
На сайте с 21.04.2009
Offline
168
#10
neoks:
А как исправить ? просто обращение к обычному DLE в 4000 запросов в секунду держит без ошибки 502, процессор нагружен на 80-90% , все как положено.

А вот curl на 100 запросов и 502, но процессор загружен при этом на 1% , хочется выставить лимит на curl по больше, пусть лучше проц страдает чем смотреть на 502.

Тут, как мне кажется, действует лимит на количество одновременных подключений с одного IP

12

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