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

Fermé
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 10 janv. 2010 à 14:06
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 - 2 avril 2010 à 17:45
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 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
10 janv. 2010 à 17:29
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 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
10 janv. 2010 à 17:20
Ç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 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
10 janv. 2010 à 18:10
Ç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 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
10 janv. 2010 à 18:22
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 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
10 janv. 2010 à 19:02
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 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
10 janv. 2010 à 19:04
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 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
10 janv. 2010 à 19:05
Changer de serveur n'arrangera pas vraiment les choses ...
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
10 janv. 2010 à 19:06
Avec un serveur plus puissant et rapide non?
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
10 janv. 2010 à 19:08
Ç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 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
10 janv. 2010 à 19:09
Ok.
Au moins j'aurais essayé :p

merci pour ton aide :)
0
patrocle Messages postés 20 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 2 avril 2010 3
2 avril 2010 à 15:13
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 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
2 avril 2010 à 16:13
Je n'ai trouvé aucune solution valable.
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
2 avril 2010 à 17:45
Si les deux serveurs sont dans le même réseau local, ça ira déjà beaucoup plus vite.
0