http://www.perlmonks.org?node_id=147550


in reply to Checking links with LWP::UserAgent

There's nothing wrong with your code per-se. Its just that it is checking each site sequentially; which requires a DNS lookup for each site, connect to each site, etc... What you need to do to improve performance is to be able to check multiple sites in parallel. Fortunately, there is a module that extends LWP for just this type of situation: LWP::Parallel.

Replies are listed 'Best First'.
Re: Re: Checking links with LWP::UserAgent
by wilstephens (Acolyte) on Feb 26, 2002 at 13:51 UTC
    Thanks! I'll look into this!

    --
    Wiliam Stephens <wil@stephens.org>
Re: Re: Checking links with LWP::UserAgent
by webfiend (Vicar) on Feb 26, 2002 at 23:49 UTC

    I was going to offer the same advice, but it looks like you beat me to it. LWP::Parallel is just the ticket for getting a lot of links in short order.

    "All you need is ignorance and confidence; then success is sure." -- Mark Twain
Re: Re: Checking links with LWP::UserAgent
by wilstephens (Acolyte) on Mar 08, 2002 at 10:37 UTC
    OK. Does anyone know how I could go about converting the above code to use LWP::Parallel then? I'm afraid that I will run it and it will fire off and look through the 300+ sites all in parallel at the same time? Is there a way to limit it? -- Wiliam Stephens <wil@stephens.org>
      The docs have some good examples. You set the option:
      $ua->max_req(5);
      to set how many requests it will handle in parallel.