Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » Curl функции - как с быстродействием?
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
W.M.
Участник
Средний рейтинг: 4.5 | Оценок: 2

Зарегистрирован: Mar 2004
Место проживания:
Публикаций: 84
Статус: W.M. в оф-лайне
Curl функции - как с быстродействием? [сообщение #69062]

Пришлось мне изобретать лисапед, писать свой маленький яндекс для сайта. Так получилось, что кое-где на сервере есть скрипты, выдающие только Location: с редиректом, т.е. их url не соответствует тому что будет загружено. В рез-те просто file(); чтобы загрузить страницку не получается использовать, нужно дополнять ее CURL, чтобы заполучить HTTP и если он 302 (пока только это рассматриваю), то взять из Header Location новый и загрузить file(); по нему (знаю знаю можно и не вызывать еще раз, а загрузить страницку и через CURL уже открытый, до этого руки не дошли пока что проверить, и суть не в этом).

Ð_то все преамбула, а вот вопрос: почему так медленно работает, может кто знает? :-) Я понимаю, у меня тяжелые страницы, пока из них выдирается http линки (тупо через массив, еще не прикрутил regexp) и слова (regexp-ами) для индексации много времени проходит, но с другой стороны, добавил только

PHP:


$ch 
= curl_init();
curl_setopt($ch, CURLOPT_URL, $page_url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$page_header = curl_exec($ch);
curl_close($ch);

для каждой страницы которую надо загрузить и время работы скрипта увеличилось с 167 до 239 секунд А линков всего 210.

Да да я знаю что делать это через php глупо, надо писать на перле вызывать по крону или сажать как демона а лучше всего писать на С или вообще взять да настроить чужой лисапед но все это тема другой передачи. Скажите пожалуста, почему так замедлилось от CURL и какие есть еще альтернативы :-)

W.M. добавил 19-07-2004 в 21:28:27:
Да, забыл добавить - гоняется все это под ХÐ_, апачь 1.3.26, Ð_НÐ_ 4.2.1 как CGI, процессор P4 1,6 ГГц, 512 Ð_АМ, когда Ð_НÐ_ шукает странички, загрузка CPU приближается к 90-100%

W.M. добавил 19-07-2004 в 23:02:34:
Люблю я сам на свои вопросы отвечать...

Протестировал на голом html весом 975 байт, в while {} 5000 вызовов curl с инициализацией, установкой параметров, загрузкой заголовка, завершения сессии curl заняло 92 секунды. Делаем вывод - реально страница тяжело 1 - собирается Ð_НÐ_-ом, 2 - разбирается им же поэтому так долго. Остается другой вопрос - чем это (получить отдельно заголовок отдельно боди) сделать лучше можно (средствами php конечно, другому не обучены )

Сообщение было отредактировано W.M. 19-07-2004 в 23:05

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 19-07-2004 21:20
Нажмите сюда для просмотра профайла W.M. Отправить Персональное сообщение W.M. Найти сообщения от W.M. Добавить W.M. в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
W.M.
Участник
Средний рейтинг: 4.5 | Оценок: 2

Зарегистрирован: Mar 2004
Место проживания:
Публикаций: 84
Статус: W.M. в оф-лайне
[сообщение #69098]

Ни у кого ничего нет сказать?

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 20-07-2004 13:55
Нажмите сюда для просмотра профайла W.M. Отправить Персональное сообщение W.M. Найти сообщения от W.M. Добавить W.M. в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
rio
Power in your mind !
Средний рейтинг: 3.67 | Оценок: 3
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Sep 2002
Место проживания: Moscow
Публикаций: 172
Статус: rio в оф-лайне
[сообщение #69101]

Взять маленький яндекс с яндекса , он там бесплатно выложен .

P.S. Ненадо нам лисапедов ! Титаника по горло хватило

__________________
Ковчег построили дилетанты, а профессионаллы построили "Титаник" - не бойтесь спрашивать то , чего вы не знаете , а так же делать то - чего не умеете !

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 20-07-2004 14:18
Нажмите сюда для просмотра профайла rio Отправить Персональное сообщение rio Посетить домашнию страничку rio! Найти сообщения от rio Добавить rio в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
W.M.
Участник
Средний рейтинг: 4.5 | Оценок: 2

Зарегистрирован: Mar 2004
Место проживания:
Публикаций: 84
Статус: W.M. в оф-лайне
[сообщение #69103]

Титаник не надо в том то и дело. Надо Ковчег свой... Яндекс не серьезно на большом сайте...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 20-07-2004 14:45
Нажмите сюда для просмотра профайла W.M. Отправить Персональное сообщение W.M. Найти сообщения от W.M. Добавить W.M. в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
W.M.
Участник
Средний рейтинг: 4.5 | Оценок: 2

Зарегистрирован: Mar 2004
Место проживания:
Публикаций: 84
Статус: W.M. в оф-лайне
[сообщение #69115]

Итак, продолжаем разговор

С regexp в кач-ве выдиралки href-ов
Script work time: 197 sec
Total URLs: 182

С тупым if($str[$pos] == 'h' && $str[$pos+1] == 'r' && $str[$pos+2] == 'e' итд
Script work time: 273 sec
Total URLs: 184

Линки по разному посчитала, ну это не так важно.

========================================

Теперь если брать за первый заход через CURL только Header, а за второй через file() считывать HTML (линки выдираются через regexp):
Script work time: 250 sec
Total URLs: 182

Что имеем - повторное считывание типа
192.168.0.15 - - [20/Jul/2004:21:15:07 +0400] "HEAD /?p=2&s=0&action=GGF&id=Math HTTP/1.1" 200 0
192.168.0.15 - - [20/Jul/2004:21:15:07 +0400] "GET /?p=2&s=0&action=GGF&id=Math HTTP/1.0" 200 75749

увеличивает время работы на 25%.

Если же повторное считывание производить через CURL,
Script work time: 254 sec
Total URLs: 182

Т.е. с натяжкой можно признать равным (мало ли винамп включил или что еще и вот медленнее страницы генерились).

========================================

Таким образом подводим итог - с быстродействием у CURL все в порядке. Что и хотелось доказать. При использовании CURL что в плюсе - контроль за заголовком, в частности кодами, возможность установить Agent, чтобы в логах прописалось то что надо (для дальнейшего анализа). Минусов не замечено пока...

Ну и regexp рулят (кто бы сомневался).

Так, где то тут стоял мой лисапед...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 20-07-2004 19:28
Нажмите сюда для просмотра профайла W.M. Отправить Персональное сообщение W.M. Найти сообщения от W.M. Добавить W.M. в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
zeev
Нечто
Средний рейтинг: 5 | Оценок: 5
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Feb 2002
Место проживания:
Публикаций: 754
Статус: zeev в оф-лайне
[сообщение #69150]

ну не знаю ребята
писал я грабер новостей с курлом
пробежка по страницам штук 200-300 за раз
у меньше меньше минуты все выполняется

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 21-07-2004 14:55
Нажмите сюда для просмотра профайла zeev Отправить Персональное сообщение zeev Посетить домашнию страничку zeev! Найти сообщения от zeev Добавить zeev в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
W.M.
Участник
Средний рейтинг: 4.5 | Оценок: 2

Зарегистрирован: Mar 2004
Место проживания:
Публикаций: 84
Статус: W.M. в оф-лайне
[сообщение #69151]

Ну это у меня проблемы - страницы тяжелые в "собирании" Голый html head body я писал выше как обрабатывается

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 21-07-2004 15:17
Нажмите сюда для просмотра профайла W.M. Отправить Персональное сообщение W.M. Найти сообщения от W.M. Добавить W.M. в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 12:16.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.13523602 seconds (94.85% PHP - 5.15% MySQL) with 21 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.