spx2 has asked for the wisdom of the Perl Monks concerning the following question:

If one has a list of more proxies
can one check how high is the availability of a web server somewhere
by creating multiple WWW::Mechanize objects and setting a different proxy for
each WWW::Mechanize object and then try to use the ->get() method with paramter
a link to that web server ?(maybe the same link for all objects)
Will the requests be processed in parallel(simultaneously) by the web server and also
fetched back to the proxies and then back to the one that has run the script ?

How is availability checking done in general ?
Is this a good method ?

Thank you
  • Comment on testing availability of a http server using WWW::Mechanize and multiple proxies

Replies are listed 'Best First'.
Re: testing availability of a http server using WWW::Mechanize and multiple proxies
by olus (Curate) on Jan 21, 2008 at 15:46 UTC
    I'm a bit confused on what you really want.
    You are mentioning a lot of concurrent accesses to the remote site, so maybe you do not want to check its availability but its performance.

    If that is the case, I'd not recommend Mechanize for that task, there are tools that you can use, like Apache Benchmark or JMeter.

    To check for the availability of the server you can do less frequent requests, and for this it does not really matter if you use Mechanize or just LWP.
      Hi,

      Thank you for replying.
      I knew of Apache Benchmark, but I want to learn how to make something similar
      myself.That is why I've asked.
      How would you design such a tool ?
        Take a look at HTTPD::Bench::ApacheBench.
        I've never used it so I can't say if it really is up to the task.

        Alternativelly, you can make the requests yourself using LWP. Since you only care to check is the response is 200 OK, there is no overhead in parsing the response.
Re: testing availability of a http server using WWW::Mechanize and multiple proxies
by Anonymous Monk on Jan 21, 2008 at 15:28 UTC
    availability is boolean , available or not available