[cURL - PHP] accélérer temps d'exécution

okuni Messages postés 1325 Statut Membre -  
avion-f16 Messages postés 20367 Statut Contributeur -
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?
A voir également:

13 réponses

okuni Messages postés 1325 Statut Membre 126
 
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.
1
avion-f16 Messages postés 20367 Statut Contributeur 4 509
 
Ç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, ...
0
avion-f16 Messages postés 20367 Statut Contributeur 4 509
 
Ça fait quand même 20² url à traiter ...
Et ça dépends encore ce que tu fais avec (insertion dans la bdd, echo, ...).
0
okuni Messages postés 1325 Statut Membre 126
 
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 20367 Statut Contributeur 4 509
 
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.
0
okuni Messages postés 1325 Statut Membre 126
 
1 seul url au départ qui me donne ensuite les 20 :)

donc je ne sais rien faire à part changer de serveur? ^^'
0
avion-f16 Messages postés 20367 Statut Contributeur 4 509
 
Changer de serveur n'arrangera pas vraiment les choses ...
0
okuni Messages postés 1325 Statut Membre 126
 
Avec un serveur plus puissant et rapide non?
0
avion-f16 Messages postés 20367 Statut Contributeur 4 509
 
Ç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.
0
okuni Messages postés 1325 Statut Membre 126
 
Ok.
Au moins j'aurais essayé :p

merci pour ton aide :)
0
patrocle Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   3
 
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...
0
okuni Messages postés 1325 Statut Membre 126
 
Je n'ai trouvé aucune solution valable.
0
avion-f16 Messages postés 20367 Statut Contributeur 4 509
 
Si les deux serveurs sont dans le même réseau local, ça ira déjà beaucoup plus vite.
0