[cURL - PHP] accélérer temps d'exécution
okuni
Messages postés
1325
Statut
Membre
-
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'utilise cURL dans un de mes script php.
En gros, j'initialise un url.
lorsque j'exécute cet url, je prend tout les liens qui s'adapte au masque de ma regex (en général 100 url)
ensuite je prend chaque url et je refais la même chose mais avec un masque différent.
pour accélérer l'exécution, je limite ma boucle (pour passer les 100 url) à 20 donc je ne prend que les 20 premiers.
Malheureusement, l'exécution de la boucle se fait d'environ 1 seconde par tour donc 20 seconde pour 20 url.
Y-aurait-il un quelqu'onque moyen de diminuer le temps d'exécution?
--
L'amour, c'est comme les spaghettis; quand c'est mou, c'est cuit. (proverbe belge)
J'utilise cURL dans un de mes script php.
En gros, j'initialise un url.
lorsque j'exécute cet url, je prend tout les liens qui s'adapte au masque de ma regex (en général 100 url)
ensuite je prend chaque url et je refais la même chose mais avec un masque différent.
pour accélérer l'exécution, je limite ma boucle (pour passer les 100 url) à 20 donc je ne prend que les 20 premiers.
Malheureusement, l'exécution de la boucle se fait d'environ 1 seconde par tour donc 20 seconde pour 20 url.
Y-aurait-il un quelqu'onque moyen de diminuer le temps d'exécution?
--
L'amour, c'est comme les spaghettis; quand c'est mou, c'est cuit. (proverbe belge)
13 réponses
-
Biens sur mais étant donné que je n'ai pas envie de changer de connexion ni de serveur, la seule solution serait d'alléger mon code mais comment faire?
J'ai essayer une méthode pour compresser le fichier lors de l'envoi de celui-ci vers le client mais cela n'a rien changer, c'est donc bien l'exécution du script qui prend du temps. -
Ça dépends de la connexion à Internet, le temps de réponse du serveur (celui sur lequel tu récupères les sources), de la puissance de ton serveur, ...
-
Ça fait quand même 20² url à traiter ...
Et ça dépends encore ce que tu fais avec (insertion dans la bdd, echo, ...). -
voila ce que je fais par boucle
4 ereg_replace 3 preg_replace 1 curl_init() avec 3 option et forcément 1 curl_exec 1 preg_match_all 1 curl_close() 4 requete sql
mis comme ça ça fait effectivement beaucoup ^^'
pourquoi calcule tu 20² url ?
uniquement 20 url (car je limite) pas plus. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
20² URLs car tu traites les 20 premières URLs puis encore les 20 URLs dans ces 20 URLs (désolé pour le chinois) : ça en fait 400 au total (Sauf si j'ai mal compris).
Ça n'empêche que je trouve le temps normal même avec 20 URLs. -
1 seul url au départ qui me donne ensuite les 20 :)
donc je ne sais rien faire à part changer de serveur? ^^' -
Changer de serveur n'arrangera pas vraiment les choses ...
-
-
Ça ne changera pas beaucoup.
Il faudrait avec un ping très faible pour les 2 serveurs (celui qui exécute le script CURL et celui qui envoie les sources. Et ça, c'est la connexion. -
-
Bonjour,
trouver une solution a ton problème m'intéresse parce que j'aurais le même problème sur un projet à faire dans peu de temps...
As tu trouvé une solution?
En utilisant plusieurs serveurs pour repartir la charge cela devrait fonctionner non?
désolé du retard... -
-
Si les deux serveurs sont dans le même réseau local, ça ira déjà beaucoup plus vite.