← Retour au journal

Scraping

Quelle machine pour scraper : les chiffres d'une infra réelle

Trois sessions de navigateur par adresse IP, 550 Mo pour brider Chrome, et le port qui a coûté un mois. Le dimensionnement mesuré, pas estimé.

Les articles sur le scraping parlent d'outils et de sélecteurs. Presque aucun ne dit combien de machine il faut, ni pourquoi la plus petite ne suffira pas. Voici les mesures relevées sur une infrastructure qui a produit 120 000 contacts, avec les deux serveurs qui ont servi et ce qui les distingue.

Le dimensionnement part de l'adresse IP, pas de la machine

C'est l'inversion qui surprend tout le monde. On choisit d'abord un serveur, puis on se demande combien de processus y faire tourner. Dans une collecte, l'ordre est inverse : le budget quotidien est fixé par l'adresse IP, et la machine se dimensionne pour le tenir — rien de plus.

Le calcul complet est développé dans l'article sur le blocage. Retenons seulement sa conclusion : environ 2 000 lignes par jour et par adresse, soit trois sessions de navigateur simultanées.

Trois sessions Chrome, ce n'est pas beaucoup. C'est un serveur à deux cœurs et quelques giga-octets de mémoire. Tout ce qu'on loue au-dessus ne va pas plus vite : il attend.

La bonne question n'est donc jamais « quelle puissance ? » mais « combien d'adresses ? ». Doubler la vitesse, c'est louer un second petit serveur avec une autre adresse, pas un serveur deux fois plus gros.

Pourquoi la plus petite machine s'effondre quand même

Le piège est à l'autre extrémité. Une instance gratuite ou à quelques euros affiche souvent deux cœurs virtuels — de quoi tenir trois sessions, en apparence.

Sur l'instance utilisée au départ, la réalité était différente : sa puissance de base réelle valait un huitième de cœur. Le reste est un crédit accumulé au repos, consommé sous charge. Trois régimes ont été mesurés sur la même machine :

  • au repos : aucun temps de calcul volé, charge nulle, machine saine ;
  • sous charge, crédits disponibles : environ 50 % de temps volé, charge à 5 — et malgré tout 74 % de téléphones trouvés pendant quatre heures ;
  • sous charge, crédits épuisés : 62 % de temps volé, charge à 25, machine devenue injoignable même en connexion distante.

Le test le plus parlant : le collecteur à l'arrêt, trois recherches Google suffisaient à rendre la machine inaccessible.

Une instance à puissance variable peut donc faire ce travail par à-coups, jamais en continu. Si votre collecte doit tourner la nuit sans surveillance, elle ne convient pas — quel que soit le nombre de cœurs affichés.

Plafonner le navigateur, sinon il emporte la machine

Chrome n'a aucune raison de se limiter. Livré à lui-même dans un conteneur, il consomme la mémoire disponible, déborde sur le fichier d'échange, puis sur le disque — et à ce stade ce n'est plus le navigateur qui tombe, c'est le système entier. C'est exactement ce qui a rendu le premier serveur injoignable.

La correction tient en deux limites explicites : 550 Mo de mémoire et 900 Mo en comptant l'échange, posées sur le conteneur du navigateur.

Le comportement change du tout au tout. Sans plafond, un pic mémoire fait tomber la machine et il faut une intervention manuelle — parfois un redémarrage forcé depuis la console du fournisseur. Avec un plafond, c'est le navigateur seul qui est tué, le chien de garde le relance, et la collecte reprend là où elle s'était arrêtée.

Un service qu'on ne borne pas est un service qui décidera lui-même de sa limite, au pire moment.

Nettoyer ce qui tourne sans qu'on l'ait demandé

Sur la même petite machine, les agents de supervision installés par défaut consommaient 70 % du processeur — sur une instance dont la base réelle vaut un huitième de cœur.

Les désactiver a plus que doublé la capacité utile, sans changer de serveur. Contrepartie assumée : les métriques ne remontent plus dans la console du fournisseur. Sur une machine dédiée à une seule tâche, avec sa propre surveillance, c'est un échange qui vaut la peine.

Avant de louer plus gros, regardez ce qui tourne déjà. Sur une petite instance, la supervision par défaut peut coûter plus cher que le travail à faire.

Ce que le choix de l'hébergeur change vraiment

Deux contraintes ne se lisent sur aucune fiche technique, et l'une a coûté un mois de retard.

Le port de messagerie sortant. Vérifier qu'une adresse email existe vraiment demande d'ouvrir une connexion vers le serveur de messagerie du domaine. Chez le premier fournisseur, ce port était fermé par défaut : les adresses partaient donc « non vérifiées » chez le client. Chez le second, il était ouvert, et la vérification a fonctionné immédiatement. Même code, même collecte, résultat qualitativement différent — à cause d'un réglage réseau.

La réputation du bloc d'adresses. Certains annuaires renvoient un test anti-robot à toute adresse appartenant à un centre de données, quel que soit le fournisseur. Changer d'hébergeur n'y change rien : ce n'est pas la machine qui est jugée, c'est la catégorie de l'adresse. Cette source a donc été retirée du parcours plutôt que forcée — elle coûtait soixante secondes de navigateur par ligne pour aucun résultat.

Testez ces deux points avant d'engager une infrastructure. Ils ne figurent dans aucun comparatif de prix.

Ce qu'il faut réellement louer

Le serveur qui a porté la production : quatre cœurs, sept giga-octets de mémoire, pour moins de cinq euros par mois. Chez un fournisseur de premier plan, une configuration équivalente en offre payante approchait vingt-et-un euros.

Le facteur quatre ne s'explique pas par la performance — elle est comparable — mais par ce qu'on paie autour : garanties, intégrations, support. Pour un collecteur qui tourne seul et qu'on redémarre soi-même, on paie surtout des choses qu'on n'utilisera pas.

Et la base de données est restée sur la petite instance gratuite. Elle y consomme quelques mégaoctets et zéro pour cent de processeur : conserver des données n'a rien à voir avec en produire. Séparer les deux rôles évite de payer la puissance de calcul au prix du stockage.

Ce qu'il faut retenir

Comptez en adresses IP, pas en cœurs : trois sessions de navigateur par adresse, un petit serveur par adresse.

Méfiez-vous des instances à puissance variable pour une tâche continue, plafonnez explicitement la mémoire du navigateur, coupez la supervision superflue, et vérifiez le port de messagerie sortant avant de vous engager.

Une infrastructure de collecte correctement dimensionnée coûte quelques euros par mois et par adresse. Ce qui coûte cher, c'est la machine mal choisie qu'on redémarre trois fois par semaine.

Cet article fait partie du Guide Complet de l'Automatisation B2B. Il complète l'article sur les blocages ; les volumes cités viennent de cette étude de cas.

Sources et ressources

Article connexe

Cet article fait partie d'une stratégie de contenu plus large. Découvre le guide complet :

Guide Complet de l'Automatisation B2B

Besoin d'aide pour
mettre en place ?

Ces techniques fonctionnent, mais les mettre en place prend du temps. Je peux le faire pour toi.

Décrire mon besoin