Проверка наличия файла на миллионе доменов

Discussion in 'PHP' started by ttt0z, 16 Feb 2013.

  1. ttt0z

    ttt0z Member

    Joined:
    18 Nov 2007
    Messages:
    60
    Likes Received:
    10
    Reputations:
    -5
    Как сделать это быстро?
    Я написал скрипт на пхп с мультикурлом, на одном домене 1000 страниц он чекал за минуту, но когда каждый домен рызный он чекает 1000 доменов минут 15. Так как всего доменов миллион, это не допустимо!

    Подскажите как реализовать быструю проверку? может на делфи написать будет ли быстрее скорость? или мож искать сервер мощный где мой скрипт будет быстро работать? Если у кого-то есть такой сервер(шел) я бы купил! Жду советов!
     
  2. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,515
    Likes Received:
    400
    Reputations:
    196
    На php такие вещи писать - бред. Сишка нужна или ява и сервак скоростной нужен.
     
  3. ttt0z

    ttt0z Member

    Joined:
    18 Nov 2007
    Messages:
    60
    Likes Received:
    10
    Reputations:
    -5
    Почему тыщу урлов на одном домене чекает мультикурл за минуту,
    а тыщу урлов на разных доменах чекает 20 минут?? кто знает?
     
    #3 ttt0z, 16 Feb 2013
    Last edited: 16 Feb 2013
  4. yellsoft

    yellsoft Member

    Joined:
    21 Nov 2007
    Messages:
    19
    Likes Received:
    5
    Reputations:
    1
    возможно замедление из-за резолвинга ip для домена, в curl наверняка используется системный gethostbyname который по определению очень медленный, надо писать свой многопоточный днс клиент для резолвинга, а для одного хоста получается быстро как раз по причине того, что ip для домена определился и закэшировался в пределах сессии.

    UPD. также не до конца понятно как реализован мультикурл, но я бы в такой ситуации как минимум сделал многопроцессную модель, т.е. использовать fork() для проверки каждого домена (создать несколько параллельно работающих процессов), а внутри каждого процесса уже использовать мультикурл, так должно работать быстрее.
     
    #4 yellsoft, 16 Feb 2013
    Last edited: 16 Feb 2013
Loading...