2009-11-05 21 views
3

Je dois effectuer un grand nombre de requêtes post HTTP et ignorer la réponse. Je le fais actuellement en utilisant LWP :: UserAgent. Il semble courir un peu lentement mais je ne suis pas sûr si elle attend une réponse ou quoi, est-il de toute façon pour l'accélérer et peut-être juste ignorer les réponses?Rendre l'agent utilisateur LWP plus rapide

+0

Je ne connais pas très bien 'LWP :: UserAgent', mais avez-vous essayé de mettre' max_size' à un nombre bas? Peut-être que le transfert est interrompu une fois le 'max_size' atteint? – Gaurav

Répondre

2

LWP :: Parallel

http://metacpan.org/pod/LWP::Parallel

« Introduction

ParallelUserAgent est une extension du module libwww existant. Il vous permet de prendre une liste d'URL (il prend en charge actuellement HTTP, FTP, et les URL de FICHIERS.HTTPS pourrait fonctionner aussi) et se connecter à tous en parallèle, puis attendre que les résultats arrivent. "

Il est grand, il a travaillé merveilles pour moi ...

3

La réponse de bigian est probablement le meilleur pour cela, mais une autre façon d'accélérer les choses est d'utiliser LWP :: ConnCache pour permettre LWP de re- utilisez les connexions existantes plutôt que de créer une nouvelle connexion pour chaque requête.

permettre est ce simple si vous battre sur un seul site -

my $conn_cache = LWP::ConnCache->new; 
$conn_cache->total_capacity([1]) ; 
$ua->conn_cache($conn_cache) ; 

J'ai trouvé cela de doubler la vitesse de certaines opérations sur le site http, et plus du double pour https des sites.